Программирование на языке Паскаль Тема 1. Введение
Алгоритм Алгоритм – это четко определенный план действий для исполнителя. Свойства алгоритмадискретность: состоит из отдельных шагов (команд)понятность: должен включать только команды, известные исполнителю (входящие в СКИ)определенность: при одинаковых исходных данных всегда выдает один и тот же результатконечность: заканчивается за конечное число шаговмассовость: может применяться многократно при различных исходных данных корректность: дает верное решение при любых допустимых исходных данных
Программа – это алгоритм, записанный на каком-либо языке программирования, набор команд для компьютера Команда – это описание действий, которые должен выполнить компьютер. откуда взять исходные данные? что нужно с ними сделать? Оператор – это команда языка программирования высокого уровня. 1970 – язык Паскаль (Н. Вирт)
program qq;begin { начало программы }end. { конец программы } название программы комментарии в фигурных скобках не обрабатываются
program qq;begin write('2+'); { без перехода } writeln('2=?'); { на новую строку} writeln('Ответ: 4');end. Вывод текста на экран Протокол: 2+2=? Ответ: 4
Задача. Ввести с клавиатуры два числа и найти их сумму. Протокол: Введите два целых числа 25 30 25+30=55 компьютер пользователь компьютер считает сам! Как ввести числа в память?Где хранить введенные числа?Как вычислить?Как вывести результат?
program qq;begin { ввести два числа } { вычислить их сумму } { вывести сумму на экран } end. Псевдокод: алгоритм на русском языке с элементами Паскаля. Компьютер не может исполнить псевдокод!
Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. Значение Другой тип данных В переменной хранятся данные определенного типа! Поместится?
Имена переменных В именах МОЖНО использоватьлатинские буквы (A-Z)цифрызнак подчеркивания _ заглавные и строчные буквы не различаются имя не может начинаться с цифры В именах НЕЛЬЗЯ использоватьрусские буквыпробелыскобки, знаки +, =, !, ? и др. Какие имена правильные?? AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B
Типы переменных:integer{ целая }real{ вещественная }и другие… Объявление переменных: Выделение места в памяти список имен переменных
Как записать значение в переменную? Оператор присваивания При записи нового значения старое стирается! Оператор – это команда языка программирова-ния (инструкция).Оператор присваивания – это команда для записи нового значения в переменную.
Линейный алгоритм - это алгоритм, в котором команды выполняются последовательно одна за другой.Задача: составить программу вычисления суммы двух целых чисел.
Блок-схема линейного алгоритма
Как ввести значение с клавиатуры Оператор ввода read ( a ); Программа ждет, пока пользователь введет значение и нажмет Enter.Введенное значение записывается в переменную a.
Ввод значений двух переменных read ( a, b );Ввод значений двух переменных (через пробел или Enter). через пробел:25 30через Enter:25 30
{ вывод значения переменной a} { вывод значения переменной a и переход на новую строчку} { вывод текста } {вывод текста и значения переменной c} write( a ); writeln( a ); writeln( 'Привет!' ); writeln( 'Ответ: ', c ); writeln ( a, '+', b, '=', c );
Задача. Ввести два целых числа и вывести на экран их сумму. Простейшее решение: program qq;var a, b, c: integer;begin read ( a, b ); c := a + b; writeln ( c );end.
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
Пример: program qq;var a, b: integer;begin a := 5; b := a + 2; a := (a + 2)*(b – 3); b := b + 1;end.
+ сложение– вычитание * умножение/ деление 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.
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. имя переменной должно быть слева от знака := целая и дробная часть отделяются точкой нельзя записывать вещественное значение в целую переменную
вычисление выражений в скобкахумножение, деление, div, mod слева направосложение и вычитание слева направо z := (5*a+c)/a*(b-c)/ b; x:=(5*c*c-d*(a+b))/((c+d)*(d-2*a));
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.
program qq;var a, b: integer;begin a := 15; b := 45; writeln ( a, b ); writeln ( a:4, b:4 );end.
program qq;var x: real;begin x := 12.345678; writeln ( x ); writeln ( x:10 ); writeln ( x:7:2 ); end. всего символов 1,234568∙101 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