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

  • Презентации учебные
  • ppt
  • 04.02.2017
Публикация в СМИ для учителей

Публикация в СМИ для учителей

Бесплатное участие. Свидетельство СМИ сразу.
Мгновенные 10 документов в портфолио.

Свойства алгоритма дискретность: состоит из отдельных шагов (команд) понятность: должен включать только команды, известные исполнителю (входящие в СКИ) определенность: при одинаковых исходных данных всегда выдает один и тот же результат конечность: заканчивается за конечное число шагов массовость: может применяться многократно при различных исходных данных корректность: дает верное решение при любых допустимых исходных данных
Иконка файла материала начало паскаль.ppt
1 Программирование  на языке Паскаль
2 Алгоритм Алгоритм – это четко определенный план  действий для исполнителя. Свойства алгоритма • дискретность: состоит из отдельных шагов  (команд) • понятность: должен включать только команды,  известные исполнителю (входящие в СКИ) • определенность: при одинаковых исходных данных  всегда выдает один и тот же результат • конечность: заканчивается за конечное число  шагов • массовость: может применяться многократно при  различных исходных данных  • корректность: дает верное решение при любых  допустимых исходных данных
3 Программа Программа – это алгоритм, записанный  на каком­либо языке программирования,  набор команд для компьютера Команда – это описание действий,  которые должен выполнить компьютер. •  Оператор – это команда языка  программирования высокого уровня. 1971 – язык Паскаль (Н. Вирт)
4 Простейшая программа название программы название программы program qq; program qq; begin { начало программы } begin { начало программы } end. { конец программы } end. { конец программы } ?   Что делает эта программа?
5 Вывод текста на экран program qq; program qq; begin begin write('2+'); { без перехода } write('2+'); { без перехода } writeln('2=?'); { на новую строку} writeln('2=?'); { на новую строку} writeln('Ответ: 4'); writeln('Ответ: 4'); end. end. Протокол: 2+2=? Ответ: 4
6 Переменные Задача. Ввести с клавиатуры два числа и найти их сумму. Протокол: Введите два целых числа 25 30 25+30=55 пользователь пользователь компьютер компьютер ? компьютер считает  компьютер считает  сам! сам! 1. Как ввести числа в память? 2. Где хранить введенные числа? 3. Как вычислить? 4. Как вывести результат?
7 Программа program qq; program qq; begin begin { ввести два числа } { ввести два числа } { вычислить их сумму } { вычислить их сумму } { вывести сумму на экран } { вывести сумму на экран } end. end. Псевдокод: алгоритм на  Псевдокод: алгоритм на  русском языке с  русском языке с  элементами Паскаля. элементами Паскаля. !   Компьютер не может исполнить псевдокод!
Переменные Переменная – это величина, имеющая имя, тип  и значение. Значение переменной можно  изменять во время работы программы. 8 Значение Значение Другой тип  Другой тип  данных данных ?   Поместится?   В переменной хранятся данные    определенного типа! ! ИмяИмя
9 Имена переменных В именах МОЖНО использовать • латинские буквы (A­Z) заглавные и строчные буквы не различаются заглавные и строчные буквы не различаются • цифры имя не может начинаться с цифры имя не может начинаться с цифры • знак подчеркивания _ В именах НЕЛЬЗЯ использовать • русские буквы • пробелы • скобки, знаки +, =, !, ? и др. Какие имена правильные??  AXby    R&B    4Wheel    Вася    “PesBarbos”  TU154    [QuQu]     _ABBA    A+B
Переменные Типы переменных: 10 • integer • real • и другие… { целая } { вещественная } Объявление переменных: Выделение  Выделение  места в памяти места в памяти тип –  тип –  variable –  variable –  целые  целые  переменная  переменная  var a, b, c: integer; var a, b, c: integer; список имен  список имен  переменных переменных
Как записать значение в переменную? 11 Оператор  Оператор  присваивани присваивани я я a := 5; a := 5; ! 5   При записи нового    значения старое    стирается! Оператор – это команда языка программирова­ ния (инструкция). Оператор присваивания – это команда для  записи нового значения в переменную. 5
Линейный алгоритм 12 Линейный алгоритм  ­ это алгоритм, в  котором команды выполняются  последовательно одна за другой. Задача: составить программу вычисления  суммы двух целых чисел.
Блок­схема линейного алгоритма 13 начало ввод a, b блок «начало» блок «начало» блок «ввод» блок «ввод» c := a + b; блок «процесс» блок «процесс» вывод c блок «вывод» блок «вывод» конец блок «конец» блок «конец»
Как ввести значение с клавиатуры 14 Операто Операто р ввода р ввода 5 read ( a ); read ( a ); ! 1. Программа ждет, пока пользователь  введет значение и нажмет Enter. 2. Введенное значение записывается в  переменную a. 5
Ввод значений двух переменных 15 read ( a, b ); read ( a, b ); через пробел: через Enter: Ввод значений  Ввод значений  двух переменных  двух переменных  (через пробел или  (через пробел или  Enter). Enter). a25 b30 25 30 25 30 a25 b30
Оператор вывода 16 write( a ); write( a ); writeln( a ); writeln( a ); { вывод значения переменной a} { вывод значения переменной a и переход на новую строчку} writeln( 'Привет!' ); writeln( 'Привет!' ); { вывод текста } writeln( 'Ответ: ', c ); writeln( 'Ответ: ', c ); {вывод текста и значения переменной c} writeln ( a, '+', b, '=', c ); writeln ( a, '+', b, '=', c );
Сложение двух чисел 17 Задача. Ввести два целых числа и вывести на  экран их сумму. Простейшее решение: program qq; program qq; var a, b, c: integer; var a, b, c: integer; begin begin read ( a, b ); read ( a, b ); c := a + b; c := a + b; writeln ( c ); writeln ( c ); end. end. ? Что плохо?
18 Полное решение program qq; program qq; var a, b, c: integer; var a, b, c: integer; begin begin writeln('Введите два целых числа'); writeln('Введите два целых числа'); read ( a, b ); read ( a, b ); c := a + b; c := a + b; writeln ( a, '+', b, '=', c ); writeln ( a, '+', b, '=', c ); end. end. Протокол: Введите два целых числа 25 30 25+30=55 пользователь пользователь компьютер компьютер
Как изменить значение переменной? Пример: 19 a ? 5 program qq; program qq; var a, b: integer; var a, b: integer; begin begin a := 5; a := 5; b := a + 2; b := a + 2; a := (a + 2)*(b – 3); a := (a + 2)*(b – 3); b := b + 1; b := b + 1; end. end. 5 b ? 7 5+2 a 5 28 7*4 b 7 8 7+1
Арифметические операции 20 – вычитание   / деление   + сложение * умножение div деление нацело (остаток отбрасывается) mod остаток от деления var a, b: integer; var a, b: integer; begin begin a := 7*3 - 4; { 17 } a := 7*3 - 4; { 17 } a := a * 5; { 85 } a := a * 5; { 85 } b := a div 10; { 8 } b := a div 10; { 8 } a := a mod 10; { 5 } a := a mod 10; { 5 } end. end.
Какие операторы неправильные? program qq; program qq; var a, b: integer; var a, b: integer; 21 x, y: real; x, y: real; begin begin a := 5; a := 5; 10 := x; 10 := x; y := 7,8; y := 7,8; b := 2.5; b := 2.5; x := 2*(a + y); x := 2*(a + y); a := b + x; a := b + x; end. end. имя переменной должно  имя переменной должно  быть слева от знака := быть слева от знака := целая и дробная часть  целая и дробная часть  отделяются точкой отделяются точкой нельзя записывать  нельзя записывать  вещественное значение  вещественное значение  в целую переменную в целую переменную
Порядок выполнения операций 1) вычисление выражений в скобках 2) умножение, деление, div, mod слева направо 3) сложение и вычитание слева направо 22 1 2 4 5 3 6 z := (5*a+c)/a*(b-c)/ b; z := (5*a+c)/a*(b-c)/ b; z   5 ca ab ( cb  ) x    5 2 bad ) ( c  ( )2 ddc )( a 2 3 5 4 1 10 6 9 8 7  x:=(5*c*c-d*(a+b))/((c+d)*(d-2*a)); x:=(5*c*c-d*(a+b))/((c+d)*(d-2*a));
Ручная прокрутка программы 23 program qq; program qq; var a, b: integer; var a, b: integer; begin begin a := 5; a := 5; b := a + 2; b := a + 2; a := (a + 2)*(b – 3); a := (a + 2)*(b – 3); b := a div 5; b := a div 5; a := a mod b; a := a mod b; a := a + 1; a := a + 1; b := (a + 14) mod 7; b := (a + 14) mod 7; end. end. a ? 5 28 3 4 b ? 7 5 4
Вывод целых чисел program qq; program qq; var a, b: integer; var a, b: integer; begin begin a := 15; a := 15; b := 45; b := 45; writeln ( a, b ); writeln ( a, b ); writeln ( a:4, b:4 ); writeln ( a:4, b:4 ); end. end. символов символов на число на число 24 1545 1545 15 45 15 45
Вывод вещественных чисел program qq; program qq; var x: real; var x: real; begin begin x := 12.345678; x := 12.345678; writeln ( x ); writeln ( x ); writeln ( x:10 ); writeln ( x:10 ); writeln ( x:7:2 ); writeln ( x:7:2 ); end. end. всего  всего  символов символов всего  всего  символов символов в дробной  в дробной  части части 25 1,234568∙101 1,234568∙101 1.234568E+001 1.234568E+001 1.23E+001 1.23E+001 12.35 12.35
Задания 26 «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