Домашнее задание 1. Когда появился язык Паскаль и кто его автор? 2. Как записывается заголовок программы на Паскале? 3. Как записывается раздел описания переменных? 4. Запишите алгоритм сложения двух чисел в форме блок- схемы, на алгоритмическом языке и языке программирования Паскаль.
Операторы ввода, вывода и присваивания.
Оператор ввода на Паскаль Мы с вами уже разобрали структуру программы на Паскале, а теперь мы переходим непосредственно к разделу операторов, заключенных между командами begin и end. Это основной раздел программы, в котором записываются команды (операторы) для ее выполнения. Program имя программы; var переменные с указанием типа; begin раздел операторов end.
Оператор ввода используется в Паскале для ввода переменных или других исходных данных. К примеру, вам необходимо сложить два числа с помощью программы. Вы вводите два этих числа с помощью оператора ввода, и программа сама складывает эти числа. Оператор ввода на Паскале выглядит так: read(список переменных); или readln(список переменных); В переводе с английского read означает читать, а readln – читать строку.
Давайте разберем, как работает оператор ввода на конкретной программе. При выполнении команды ввода компьютер ждет, пока пользователь не наберет значения переменных в том порядке, в каком они указаны в списке. Одновременно с набором данных на клавиатуре они появляются на экране. В конце нажимается клавиша Еnter. Разница в выполнении операторов readln и read состоит в том, что после выполнения ввода по оператору readln экранный курсор перемещается в начало новой строки, а по оператору read остается на той же строке. Пример Program N2; Var a, b, p :Integer; Begin Readln(а,b); р:=а*b; Writeln (' произведение ', а ,' и ', b ,' равно', р); Readln; End.
Задание. Какие переменные должны вводиться пользователем в этих программах? Program Test; var А, В, С: real; begin readln(A,B); С:=А+В; writeln(С) end. Program XYZ; var А, N, K: integer; begin readln(N,K); A:=N/K; writeln(A) end. Program OPERATOR; var А, В, С: real; begin readln(A,B); С:=А*В; writeln(С) end. Вопросы. Какое имя носит заголовок этих программ? Какие переменные и какого типа используются в этих программах?
Оператор вывода Оператор вывода используется для вывода на экран компьютера какой-либо информации: вывод результатов алгоритма в конце программы или программирование диалога пользователя с компьютером. Оператор вывода на Паскале выглядит так: write (список вывода); или writeln (список вывода); Как вы догадались, разница между ними в том, что в случае write курсор останется на той же строке, а при writeln – перейдет на другую строку.
Давайте в качестве примера рассмотрим одну программу. Программа начинает работать с раздела операторов, и первой командой в этой программе стоит Readln(а,b); Это значит, что после запуска программы вас ожидает пустой экран с мигающим курсором, при этом компьютер будет ждать ваших действий по вводу переменных а и b. Program N2; Var a, b, p :Integer; Begin Readln(а,b); р:=а*b; Writeln (' произведение ', а ,' и ', b ,' равно', р); Readln; End. Writeln(' Введите два числа '); А теперь добавим оператор вывода Writeln. Теперь при запуске этой программы на экране будет видна строка, приглашающая ввести переменные.
Пример Program N1; Var a, b, р :Integer; Begin Writeln(' Введите два числа '); Readln(а,b); р:=а+b; Writeln (' сумма ', а ,' и ', b ,' равно', р); Readln; End. Давайте на примере разберем как работает оператор вывода. В данном случае при запуске программы появляется надпись: Введите два числа Затем программа складывает эти переменные и на экране появляется надпись сумма ', а ,' и ', b ,' равно', р, только вместо переменных стоят те числа, которые вы ввели.
Задание: Какую строку выводит на экран оператор вывода в этих случаях? 1. Writeln('Мне16лет'); 2. a:=11; Writeln('Я учусь в', а, 'классе'); 3. a:=21; в:=13; к:=6; х:=к+(а-в); Writeln (‘результат ‘, к , ‘+(‘, а , ‘- ‘ ,в, ‘)=‘, х); Важно! Строка которую мы хотим вывести на экран, должна быть заключена в апострофы - ‘ (клавиша буквы э). При этом, если в выводимой строке есть переменные, они отделяются запятой.
Program Test3; Var a,b,c, d, e, х, r: integer; Begin Write ('Введите коэффициенты'); Readln (а,b,с); Write ('Введите значение аргумента'); Readln(x); d:=a*x*x; e:=b*x; r:=d+e+c; Write ('результат=',r); Readln; End. Задание. Прочитайте программу. Какую роль играют в этой программе операторы ввода и вывода? Какие переменные и какого типа используются в этой программе?
Оператор присваивания на Паскале Команда присваивания используется для изменения значений переменных. В языке Паскаль эта команда обозначается так: имя переменной:=выражение Например А:=34; При этом значение выражения из правой части команды присваивания заменяет текущее значение переменной из левой части. Тип значение выражения должен совпадать с типом переменной. Оператор присваивания в программах встречается очень часто, и на протяжении всей программы одна и та же переменная с помощью этого оператора может изменять свое значение несколько раз.
Рассмотрим некоторые примеры. А:=А+1; означает что А увеличилась на единицу 2. а:=2; b:=8; означает, что а и b соответственно присваиваются значения 2 и 8. S:=а+b; S присваивается значение суммы этих двух переменных, соответственно S будет равна 10. Задание. Какие значения приобретут переменные а, b и с после выполнения следующих операторов, если начальные значения а=1, b=2, с=39. Как изменится результат, если в приведенном фрагменте последний оператор переставить на первое место? a:=b; b:=c; c:=a;
Задание. Составить программу, которая запрашивает у пользователя два целых числа и выводит разность этих чисел на экран. Program Raznost; Var X,Y,Z: integer; Begin Write('Введите два числа '); Readln(X,Y); Z:=X-Y; Write(Z); End. Напоследок в качестве примера давайте посмотрим, как работает программа, написанная в среде PascalABC, и как работают операторы ввода, вывода и присваивания.
Обратите внимание на представленную программу и вы увидите еще две новых команды: uses crt; - подключает библиотеки ввода-вывода. cls; - производит очистку экрана для нового запуска программы. Program kub; uses crt; var V, A, S:real; begin cls; writeln ('привет! давай найдем площадь куба и его объем' ); writeln ('ввести длину ребра куба' ); readln ( A ); V:=A*A*A ; S:=A*A*6 ; writeln ( ' объем куба равен ',V); writeln ( ' Площадь куба равна ',S); writeln ( ' Решено верно, всего доброго!' ); end.
Домашнее задание 1. Как записывается операторы ввода и вывода на Паскале? 2. Напишите программу, по которой на экран будет выводиться слова Добрый день!