Программирование на языке Паскаль Тема 1. Введение © К.Ю. Поляков, 2006-2008Слайд 2
Алгоритм Свойства алгоритма дискретность : состоит из отдельных шагов (команд) понятность : должен включать только команды, известные исполнителю (входящие в СКИ) определенность : при одинаковых исходных данных всегда выдает один и тот же результат конечность : заканчивается за конечное число шагов массовость : может применяться многократно при различных исходных данных корректность : дает верное решение при любых допустимых исходных данных Алгоритм – это четко определенный план действий для исполнителя.
Слайд 3
Программа Программа – это алгоритм, записанный на каком-либо языке программирования набор команд для компьютера Команда – это описание действий, которые должен выполнить компьютер. откуда взять исходные данные? что нужно с ними сделать?
Слайд 4
Языки программирования Машинно-ориентированные (низкого уровня) - каждая команда соответствует одной команде процессора (ассемблер) Языки высокого уровня – приближены к естественному (английскому) языку, легче воспринимаются человеком, не зависят от конкретного компьютера для обучения : Бейсик, ЛОГО, Паскаль профессиональные : Си, Фортран , Паскаль для задач искусственного интеллекта : Пролог, ЛИСП для Интернета : JavaScript, Java, Perl, PHP, ASP
Слайд 5
Язык Паскаль 1970 – Никлаус Вирт (Швейцария) язык для обучения студентов разработка программ «сверху вниз» разнообразные структуры данных (массивы, структуры, множества) Подзадача1 Подзадача 2 Подзадача3 1.1 1.2 1.3 2 .1 2 .2 2 .3 3 .1 3 .2 3 .3 Задача
Слайд 6
Из чего состоит программа? program < имя программы > ; const … ; { константы } var … ; { переменные } begin … { основная программа } end. { процедуры и функции } комментарии в фигурных скобках не обрабатываются
Слайд 7
Из чего состоит программа? Константа – постоянная величина, имеющая имя. Переменная – изменяющаяся величина, имеющая имя (ячейка памяти). Процедура – вспомогательный алгоритм, описывающий некоторые действия (рисование окружности). Функция – вспомогательный алгоритм для выполнения вычислений (вычисление квадратного корня, sin ) .
Слайд 8
Имена программы, констант, переменных Имена могут включать латинские буквы ( A-Z) цифры знак подчеркивания _ заглавные и строчные буквы не различаются Имена НЕ могут включать русские буквы пробелы скобки, знаки +, =, !, ? и др. имя не может начинаться с цифры Какие имена правильные?? AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B
Слайд 9
Константы const i2 = 45; { целое число } pi = 3.14; { вещественное число } qq = ' Вася '; { строка символов } L = True; { логическая величина } целая и дробная часть отделяются точкой можно использовать русские буквы! может принимать два значения: True ( истина, «да» ) False ( ложь, «нет»)
Слайд 10
Переменные Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. Типы переменных: integer { целая } real { вещественная } char { один символ } string { символьная строка } boolean { логическая } Объявление переменных ( выделение памяти ) : var a, b: integer; Q: real; s1, s2: string;
Слайд 11
Как изменить значение переменной? Оператор – это команда языка программирования высокого уровня. Оператор присваивания служит для изменения значения переменной. program qq; var a, b: integer; begin a := 5; b := a + 2; a := (a + 2)*(b – 3); end. a ? 5 5 b ? 5+2 7 a 5 7*4 28 Пример:
Слайд 12
Оператор присваивания Арифметическое выражение может включать константы имена переменных знаки арифметических операций: + - * / div mod вызовы функций круглые скобки ( ) умножение деление деление нацело остаток от деления < имя переменной > := < выражение > ;
Слайд 13
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. Какие операторы неправильные? имя переменной должно быть слева от знака := целая и дробная часть отделяются точкой нельзя записывать вещественное значение в целую переменную
Слайд 14
Ручная прокрутка программы 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
Слайд 15
Порядок выполнения операций вычисление выражений в скобках умножение, деление, div , mod слева направо сложение и вычитание слева направо z := ( 5*a*c+3*(c-d))/a*(b-c)/ b; x:= ( a*a+5*c*c-d*(a+b))/((c+d)*(d-2*a)); 2 3 5 4 1 7 8 6 9 2 6 3 4 7 5 1 12 8 11 10 9
Слайд 16
Сложение двух чисел Задача. Ввести два целых числа и вывести на экран их сумму. Простейшее решение: program qq; var a, b, c: integer; begin read ( a, b ); c := a + b; writeln ( c ); end.
Слайд 17
Оператор ввода read ( a ); { ввод значения переменной a} read ( a, b ); { ввод значений переменных a и b} Как вводить два числа? через пробел: 25 30 через Enter : 25 30 a 25 b 30 a 25 b 30
Слайд 18
Оператор вывода write ( a ); { вывод значения переменной a} write ln ( a ); { вывод значения переменной a и переход на новую строчку } writeln ( ' Привет! ' ); { вывод текста } writeln ( ' Ответ: ', c ); { вывод текста и значения переменной c} writeln ( a, '+', b, '=', c );
Слайд 19
Форматы вывода program qq; var i: integer; x: real; begin i := 15; writeln ( '>', i, '<' ); writeln ( '>', i:5, '<' ); x := 12.345678; writeln ( '>', x, '<' ); writeln ( '>', x:10, '<' ); writeln ( '>', x:7:2, '<' ); end. >15< > 15< >1.234568E+001< > 1.23E+001< > 12.35< всего символов всего символов в дробной части
Слайд 20
Полное решение 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 компьютер пользователь
Слайд 21
Блок-схема линейного алгоритма начало конец c := a + b; ввод a , b вывод c блок «начало» блок «ввод» блок «процесс» блок «вывод» блок «конец»
Слайд 22
Задания «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