Операторы присваивания, ввода и вывода данных в Паскале.

advertisement
Программирование линейных алгоритмов.
Раздел операторов.
Выполнение программы сводится к выполнению последовательности операторов,
заключенных в операторные скобки 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’);
writeln (S);
Что на экране
буква S
значение
переменной
S
в
экспоненциальной форме
Путь= и значение S в экспоненциальной
форме
значение выражения в скобках в
экспоненциальной форме
writeln (‘Путь=’,S );
writeln
(2*t+sqrt(abs(t*t3*v*r)));
writeln (‘Ответ =’, Ответ= значение S в формате 8:4 при t=
S:8:4,’ при t=‘, t:3); значение t из 3 цифр
Оператор присваивания
Синтаксис:
переменная:=выражение;
переменная – имя переменной;
:= - знак присваивания;
выражение – выражение того
же типа, что и переменная.
Допускается использование переменной вещественного типа с выражением целого
типа.
Значение выражения из правой части оператора присваивания заменяет текущее
значение переменной из левой части этого же оператора.
ПРИМЕРЫ: x := 15; x := x+1;
Z := 0; F := SIN( Z )+SQRT( ABS( Z*Z - X) );
Sum := Sum + Fact;
Пример 1. «Первая программа»
Пример 2. «Целочисленные переменные»
Замечание.
Внимательно
читайте Program Chisla;
{Раздел описания переменных. Всегда
комментарии в фигурных скобках.
начинается
со слова Var (Variable-переменная)}
Program First; {Первая строка – заголовок
программы. Program – служебное слово, First
– имя программы, его вы придумываете сами.
В конце строки стоит точка с запятой. При
перечислении инструкций Паскаля между
ними ставится «;». Дальше идет тело
программы. Оно всегда начинается со слова
Begin.}
Begin {Здесь нет точки с запятой. Следующий
оператор выводит на экран слово «Привет, ».
После вывода курсор остается на той же
строке в конце текста. Текст для вывода
заключается в апострофы.}
Write(‘Привет,
‘); {В конце строки
обязательна точка с запятой. Следующий
оператор выведет на экран слово «друзья!» и
переведет курсор на следующую строку, т.к.
символы ln в операторе writeln означают
«line» - строка}
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); {Вывод
содержимого ячейки С с пояснительным
Writeln(‘друзья‘);
текстом.}
Writeln(‘”Это вторая строка.‘);
End. {Словом End заканчивается тело программы. 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.
Download