Программирование линейных алгоритмов.
Раздел операторов.
Выполнение программы сводится к выполнению последовательности операторов, заключенных в операторные скобки begin….end.
Операторы ввода – вывода
Любая программа взаимодействует с окружающей средой с помощью операторов ввода–вывода. В Турбо Паскале связь программы с внешними устройствами осуществляется через файлы. В простейшем случае эти файлы связаны с клавиатурой (для ввода данных) и с экраном монитора (для вывода).
Для ввода с клавиатуры используется оператор READ или READLN.
Синтаксис (форма обращения, вызов): READ [(список ввода)]; | список ввода – имена переменных, разделенных запятыми. Если список ввода отсутствует, то ожидается нажатие клавиши Enter. |
При поступлении в процессор оператора READ действие программы приостанавливается. Программа ожидает ввода значений указанных переменных. Если в списке несколько переменных, то их значения набираются через пробел. Число и тип данных должны соответствовать числу и типу переменных в списке ввода, в противном случае возникают ошибки. После набора всего списка ввода необходимо нажать Enter.
Оператор Readln отличается от оператора Read тем, что после ввода значений в переменные происходит переход курсора на новую строку. Оператор Readln без параметров осуществляет переход на новую строку.
Примеры:
Что в программе | Что с клавиатуры |
read ( as); | одна переменная |
read ( a, b); | две переменные |
readln ( num, x, y); | три переменные, переход на сл. строку |
Чтобы знать, сколько и каких переменных необходимо ввести с клавиатуры, необходимо перед оператором READ поместить оператор вывода на экран с пояснением о количестве и типах вводимых переменных.
Вывод на экран осуществляется с помощью операторов WRITE или WRITELN.
Синтаксис (форма обращения, вызов):
WRITE [(список вывода)]; | список вывода – список констант, переменных, выражений, разделенных запятыми. Если список вывода отсутствует, то производится перевод строки. |
Работа оператора WRITELN отличается тем, что после вывода осуществляется переход на начало следующей строки.
Примеры:
Что в программе | Что на экране |
writeln (‘S’); | буква S |
writeln (S); | значение переменной S в экспоненциальной форме |
writeln (‘Путь=’,S ); | Путь= и значение S в экспоненциальной форме |
writeln (2*t+sqrt(abs(t*t-3*v*r))); | значение выражения в скобках в экспоненциальной форме |
writeln (‘Ответ =’, S:8:4,’ при t=‘, t:3); | Ответ= значение S в формате 8:4 при t= значение t из 3 цифр |
Оператор присваивания
Синтаксис: переменная:=выражение; | переменная – имя переменной; := - знак присваивания; выражение – выражение того же типа, что и переменная. |
Допускается использование переменной вещественного типа с выражением целого типа.
Значение выражения из правой части оператора присваивания заменяет текущее значение переменной из левой части этого же оператора.
ПРИМЕРЫ: x := 15; x := x+1;
Z := 0; F := SIN( Z )+SQRT( ABS( Z*Z - X) );
Sum := Sum + Fact;
Пример 1. «Первая программа»Замечание. Внимательно читайте комментарии в фигурных скобках. Program First; {Первая строка – заголовок программы. Program – служебное слово, First – имя программы, его вы придумываете сами. В конце строки стоит точка с запятой. При перечислении инструкций Паскаля между ними ставится «;». Дальше идет тело программы. Оно всегда начинается со слова Begin.} Begin {Здесь нет точки с запятой. Следующий оператор выводит на экран слово «Привет, ». После вывода курсор остается на той же строке в конце текста. Текст для вывода заключается в апострофы.} Write(‘Привет, ‘); {В конце строки обязательна точка с запятой. Следующий оператор выведет на экран слово «друзья!» и переведет курсор на следующую строку, т. к. символы ln в операторе writeln означают «line» - строка} Writeln(‘друзья‘); Writeln(‘”Это вторая строка.‘); End. {Словом End заканчивается тело программы. В конце обязательно стоит точка.} | Пример 2. «Целочисленные переменные»Program Chisla; {Раздел описания переменных. Всегда начинается со слова Var (Variable-переменная)} Var A, B, C: Integer; {Имена в списке через запятую. В конце списка через двоеточие указывается тип данных: Integer - целый. }Begin {Начало тела программы} A := 5; {Это оператор присваивания. В переменную (ячейку) А поместили число 5.} Writeln(A); {Выводим на экран содержимое переменной А. Имя А не заключено в апострофы!} Writeln(‘A’); {Вывод на экран символа А} A := A + 1; {Запишем в переменную А число, которое до этого было в ней, но увеличенное на 1.} B := 7; C := C * B; {* - операция умножения} Writeln(‘Результат=’, C); {Вывод содержимого ячейки С с пояснительным текстом.} End. |
Пример 3. Вычислить периметр треугольника и угол, если известны его стороны и два угла. | |
| PROGRAM perimeter ; VAR L1, L2, L3 : INTEGER; a, b, c, p : REAL ; BEGIN WRITELN (‘Введите три стороны’) ; READLN( a, b, c ) ; WRITELN (‘Введите два угла’) ; READLN( L1, L2 ) ; P := a + b + c ; WRITELN (‘Периметр=’, p:8:2) ; L3 := 180 – (L1+L2) ; WRITELN ( ‘Третий угол=’, L3 ) ; READLN; END. |



