Программирование линейных алгоритмов.

Раздел операторов.

Выполнение программы сводится к выполнению последовательности операторов, заключенных в операторные скобки 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.