СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Программирование на языке Паскаль

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Программирование на языке Паскаль»

Программирование  на языке Паскаль

Программирование на языке Паскаль

Алгоритм Алгоритм – это четко определенный план действий для исполнителя. Свойства алгоритма дискретность : состоит из отдельных шагов (команд) понятность : должен включать только команды, известные исполнителю (входящие в СКИ) определенность : при одинаковых исходных данных всегда выдает один и тот же результат конечность : заканчивается за конечное число шагов массовость : может применяться многократно при различных исходных данных корректность : дает верное решение при любых допустимых исходных данных дискретность : состоит из отдельных шагов (команд) понятность : должен включать только команды, известные исполнителю (входящие в СКИ) определенность : при одинаковых исходных данных всегда выдает один и тот же результат конечность : заканчивается за конечное число шагов массовость : может применяться многократно при различных исходных данных корректность : дает верное решение при любых допустимых исходных данных

Алгоритм

Алгоритм – это четко определенный план действий для исполнителя.

Свойства алгоритма

  • дискретность : состоит из отдельных шагов (команд) понятность : должен включать только команды, известные исполнителю (входящие в СКИ) определенность : при одинаковых исходных данных всегда выдает один и тот же результат конечность : заканчивается за конечное число шагов массовость : может применяться многократно при различных исходных данных корректность : дает верное решение при любых допустимых исходных данных
  • дискретность : состоит из отдельных шагов (команд)
  • понятность : должен включать только команды, известные исполнителю (входящие в СКИ)
  • определенность : при одинаковых исходных данных всегда выдает один и тот же результат
  • конечность : заканчивается за конечное число шагов
  • массовость : может применяться многократно при различных исходных данных
  • корректность : дает верное решение при любых допустимых исходных данных

Программа Программа – это алгоритм, записанный на каком-либо языке программирования набор команд для компьютера алгоритм, записанный на каком-либо языке программирования набор команд для компьютера Команда – это описание действий, которые должен выполнить компьютер.  откуда взять исходные данные?  что нужно с ними сделать?  откуда взять исходные данные?  что нужно с ними сделать? Оператор – это команда языка программирования высокого уровня. 1970 – язык Паскаль (Н. Вирт)

Программа

Программа – это

  • алгоритм, записанный на каком-либо языке программирования набор команд для компьютера
  • алгоритм, записанный на каком-либо языке программирования
  • набор команд для компьютера

Команда – это описание действий, которые должен выполнить компьютер.

  • откуда взять исходные данные? что нужно с ними сделать?
  • откуда взять исходные данные?
  • что нужно с ними сделать?

Оператор – это команда языка программирования высокого уровня.

1970 – язык Паскаль (Н. Вирт)

Простейшая программа название программы program qq; begin { начало программы } end. { конец программы } комментарии в фигурных скобках не обрабатываются ?  Что делает эта программа?  5

Простейшая программа

название программы

program qq;

begin { начало программы }

end. { конец программы }

комментарии в фигурных скобках не обрабатываются

?

Что делает эта программа?

5

Вывод текста на экран program qq; begin  write('2+'); { без перехода }  write ln ('2=?'); { на новую строку}  write ln ('Ответ: 4'); end. Протокол :  2+2=?  Ответ: 4 5 5

Вывод текста на экран

program qq;

begin

write('2+'); { без перехода }

write ln ('2=?'); { на новую строку}

write ln ('Ответ: 4');

end.

Протокол :

2+2=?

Ответ: 4

5

5

Задания «4»: Вывести на экран текст

Задания

«4»: Вывести на экран текст "лесенкой"

Вася

пошел

гулять

«5»: Вывести на экран рисунок из букв

Ж

ЖЖЖ

ЖЖЖЖЖ

ЖЖЖЖЖЖЖ

HH HH

ZZZZZ

5

5

Переменные Задача. Ввести с клавиатуры два числа и найти их сумму. Протокол :  Введите два целых числа  25 30  25+30=55 компьютер пользователь компьютер считает сам! ? Как ввести числа в память? Где хранить введенные числа? Как вычислить? Как вывести результат? 5 8

Переменные

Задача. Ввести с клавиатуры два числа и найти их сумму.

Протокол :

Введите два целых числа

25 30

25+30=55

компьютер

пользователь

компьютер считает сам!

?

  • Как ввести числа в память?
  • Где хранить введенные числа?
  • Как вычислить?
  • Как вывести результат?

5

8

Программа program qq; begin  { ввести два числа }  { вычислить их сумму }  { вывести сумму на экран } end. Псевдокод: алгоритм на русском языке с элементами Паскаля. !  Компьютер не может исполнить псевдокод! 8 9

Программа

program qq;

begin

{ ввести два числа }

{ вычислить их сумму }

{ вывести сумму на экран }

end.

Псевдокод: алгоритм на русском языке с элементами Паскаля.

!

Компьютер не может исполнить псевдокод!

8

9

a Переменные Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. Значение Другой тип данных ?  Поместится? !  В переменной хранятся данные  определенного типа! Имя 9 10

a

Переменные

Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы.

Значение

Другой тип данных

?

Поместится?

!

В переменной хранятся данные определенного типа!

Имя

9

10

Имена переменных В именах МОЖНО использовать латинские буквы (A-Z) латинские буквы (A-Z)   цифры цифры   знак подчеркивания _ знак подчеркивания _ заглавные и строчные буквы не различаются имя не может начинаться с цифры В именах НЕЛЬЗЯ использовать русские буквы пробелы скобки, знаки +, =, !, ? и др. русские буквы пробелы скобки, знаки +, =, !, ? и др. Какие имена правильные??  AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B 10 10

Имена переменных

В именах МОЖНО использовать

  • латинские буквы (A-Z)
  • латинские буквы (A-Z)

  • цифры
  • цифры

  • знак подчеркивания _
  • знак подчеркивания _

заглавные и строчные буквы не различаются

имя не может начинаться с цифры

В именах НЕЛЬЗЯ использовать

  • русские буквы пробелы скобки, знаки +, =, !, ? и др.
  • русские буквы
  • пробелы
  • скобки, знаки +, =, !, ? и др.

Какие имена правильные??

AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B

10

10

Переменные Типы переменных: integer   { целая } real   { вещественная } и другие… integer   { целая } real   { вещественная } и другие… Выделение места в памяти Объявление переменных: variable – переменная тип – целые var  a, b, c: integer; список имен переменных 10 10

Переменные

Типы переменных:

  • integer { целая } real { вещественная } и другие…
  • integer { целая }
  • real { вещественная }
  • и другие…

Выделение места в памяти

Объявление переменных:

variable – переменная

тип – целые

var a, b, c: integer;

список имен переменных

10

10

Как записать значение в переменную? Оператор присваивания !  При записи нового  значения старое  стирается! 5 a := 5; Оператор – это команда языка программирова-ния (инструкция). Оператор присваивания – это команда для записи нового значения в переменную. 10 13

Как записать значение в переменную?

Оператор присваивания

!

При записи нового значения старое стирается!

5

a := 5;

Оператор – это команда языка программирова-ния (инструкция).

Оператор присваивания – это команда для записи нового значения в переменную.

10

13

Блок-схема линейного алгоритма начало блок «начало» ввод a , b блок «ввод» c := a + b; блок «процесс» вывод c блок «вывод» конец блок «конец» 13 13

Блок-схема линейного алгоритма

начало

блок «начало»

ввод a , b

блок «ввод»

c := a + b;

блок «процесс»

вывод c

блок «вывод»

конец

блок «конец»

13

13

Как ввести значение с клавиатуры Оператор ввода 5 read ( a ); ! Программа ждет, пока пользователь введет значение и нажмет Enter . Введенное значение записывается в переменную a . 13 15

Как ввести значение с клавиатуры

Оператор ввода

5

read ( a );

!

  • Программа ждет, пока пользователь введет значение и нажмет Enter .
  • Введенное значение записывается в переменную a .

13

15

Ввод значений двух переменных Ввод значений двух переменных (через пробел или Enter ). read ( a, b ); через пробел:  25 30 через Enter :  25  30 a 25 b 30 a 25 b 30 15 16

Ввод значений двух переменных

Ввод значений двух переменных (через пробел или Enter ).

read ( a, b );

через пробел:

25 30

через Enter :

25

30

a

25

b

30

a

25

b

30

15

16

Оператор вывода { вывод значения переменной a} write( a ); { вывод значения переменной a и переход на новую строчку } write ln ( a ); { вывод текста } writeln( 'Привет!' ); writeln( 'Ответ: ', c ); {вывод текста и значения переменной c} writeln ( a, '+', b, '=', c ); 16 16

Оператор вывода

{ вывод значения переменной a}

write( a );

{ вывод значения переменной a и переход на новую строчку }

write ln ( a );

{ вывод текста }

writeln( 'Привет!' );

writeln( 'Ответ: ', c );

{вывод текста и значения переменной c}

writeln ( a, '+', b, '=', c );

16

16

Сложение двух чисел Задача. Ввести два целых числа и вывести на экран их сумму. Простейшее решение:  program qq;  var a, b, c: integer;  begin  read ( a, b );  c := a + b;  writeln ( c );  end. ? Что плохо? 16 18

Сложение двух чисел

Задача. Ввести два целых числа и вывести на экран их сумму.

Простейшее решение:

program qq;

var a, b, c: integer;

begin

read ( a, b );

c := a + b;

writeln ( c );

end.

?

Что плохо?

16

18

Полное решение  program qq;  var a, b, c: integer;  begin  writeln('Введите два целых числа');  read ( a, b );  c := a + b;  writeln ( a, '+', b, '=', c );  end. компьютер Протокол :  Введите два целых числа  25 30  25+30=55 пользователь 18 18

Полное решение

program qq;

var a, b, c: integer;

begin

writeln('Введите два целых числа');

read ( a, b );

c := a + b;

writeln ( a, '+', b, '=', c );

end.

компьютер

Протокол :

Введите два целых числа

25 30

25+30=55

пользователь

18

18

Как изменить значение переменной? Пример:  program qq;  var a, b: integer;  begin   a := 5;   b := a + 2;   a := (a + 2)*(b – 3);  b := b + 1;  end. a 5 ? 5 b 7 5+2 ? a 5 7*4 28 b 8 7 7+1 18 18

Как изменить значение переменной?

Пример:

program qq;

var a, b: integer;

begin

a := 5;

b := a + 2;

a := (a + 2)*(b – 3);

b := b + 1;

end.

a

5

?

5

b

7

5+2

?

a

5

7*4

28

b

8

7

7+1

18

18

Арифметические операции + сложение   – вычитание * умножение   / деление div деление нацело (остаток отбрасывается) mod остаток от деления var a, b: integer; begin  a := 7*3 - 4; { 17 }  a := a * 5; { 85 }  b := a div 10; { 8 }  a := a mod 10; { 5 } end. 18 18

Арифметические операции

+ сложение вычитание

* умножение / деление

div деление нацело (остаток отбрасывается)

mod остаток от деления

var a, b: integer;

begin

a := 7*3 - 4; { 17 }

a := a * 5; { 85 }

b := a div 10; { 8 }

a := a mod 10; { 5 }

end.

18

18

Какие операторы неправильные?  program qq;  var a, b: integer;    x, y: real;  begin   a := 5;  10 := x;  y := 7,8;  b := 2.5;  x := 2*(a + y);  a := b + x;  end. имя переменной должно быть слева от знака := целая и дробная часть отделяются точкой нельзя записывать вещественное значение в целую переменную 18 18

Какие операторы неправильные?

program qq;

var a, b: integer;

x, y: real;

begin

a := 5;

10 := x;

y := 7,8;

b := 2.5;

x := 2*(a + y);

a := b + x;

end.

имя переменной должно быть слева от знака :=

целая и дробная часть отделяются точкой

нельзя записывать вещественное значение в целую переменную

18

18

Порядок выполнения операций вычисление выражений в скобках умножение, деление, div , mod слева направо сложение и вычитание слева направо вычисление выражений в скобках умножение, деление, div , mod слева направо сложение и вычитание слева направо  1 2 4 5 3 6 z := (5*a+c)/a*(b-c)/ b;  2 3 5 4 1 10 6 9 8 7 x:=(5*c*c-d*(a+b))/((c+d)*(d-2*a)); 18 18

Порядок выполнения операций

  • вычисление выражений в скобках умножение, деление, div , mod слева направо сложение и вычитание слева направо
  • вычисление выражений в скобках
  • умножение, деление, div , mod слева направо
  • сложение и вычитание слева направо

1 2 4 5 3 6

z := (5*a+c)/a*(b-c)/ b;

2 3 5 4 1 10 6 9 8 7

x:=(5*c*c-d*(a+b))/((c+d)*(d-2*a));

18

18

Ручная прокрутка программы program qq; var  a, b: integer; begin  a := 5;  b := a + 2;  a := (a + 2)*(b – 3);  b := a div 5;  a := a mod b;  a := a + 1;  b := (a + 14) mod 7; end. a ? b ? 5 7 28 5 3 4 4  18

Ручная прокрутка программы

program qq;

var a, b: integer;

begin

a := 5;

b := a + 2;

a := (a + 2)*(b – 3);

b := a div 5;

a := a mod b;

a := a + 1;

b := (a + 14) mod 7;

end.

a

?

b

?

5

7

28

5

3

4

4

18

Вывод целых чисел program qq; var a, b: integer; begin  a := 15;  b := 45;  writeln ( a, b );  writeln ( a:4, b:4 ); end. 1545  15 45 символов на число

Вывод целых чисел

program qq;

var a, b: integer;

begin

a := 15;

b := 45;

writeln ( a, b );

writeln ( a:4, b:4 );

end.

1545

15 45

символов

на число

Вывод вещественных чисел program qq; var x: real; begin  x := 12.345678;  writeln ( x );  writeln ( x:10 );  writeln ( x:7:2 );  end. всего символов 1,234568∙10 1 1.234568E+001  1.23E+001  12.35 всего символов в дробной части

Вывод вещественных чисел

program qq;

var x: real;

begin

x := 12.345678;

writeln ( x );

writeln ( x:10 );

writeln ( x:7:2 );

end.

всего символов

1,234568∙10 1

1.234568E+001

1.23E+001

12.35

всего символов

в дробной части

Задания «4»: Ввести три числа, найти их сумму и произведение.  Пример:   Введите три числа:   4 5 7   4+5+7=16   4*5*7=140 «5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое.  Пример:   Введите три числа:   4 5 7   4+5+7=16   4*5*7=140   (4+5+7)/3=5.33

Задания

«4»: Ввести три числа, найти их сумму и произведение.

Пример:

Введите три числа:

4 5 7

4+5+7=16

4*5*7=140

«5»: Ввести три числа, найти их сумму, произведение и среднее арифметическое.

Пример:

Введите три числа:

4 5 7

4+5+7=16

4*5*7=140

(4+5+7)/3=5.33