Оператор условного перехода.

Оператор безусловного перехода GOTO.

Лекция 18.

Составной оператор

Составной оператор-группа операторов, отдельных друг от друга точкой с запятой, начинающихся со служебного слова begin и заканчивающихся служебным словом begin.

begin

оператор_1;

оператор_n

end.

Транслятор воспринимает составной оператор как единый.

 

Контрольные вопросы.

1. Какие программы называются линейными?

2. Каковы простейшие операторы языка Turbo Pascal?

3. Как записываются операторы ввода данных?

4. Как записывается оператор вывода данных?

5. Каким образом форматировать вывод информации?

6. Какая форма записи используется составных операторов?

 


Тема: «Операторы передачи управления».

Оператор безусловного перехода GOTO означает ‘перейти к’; он нарушает нормальное выполнение программы и переходит на строку отмеченную меткой. Общий вид оператора:

GOTO n;-где n-метка.

Все используемые метки должны быть перечислены в разделе объявления меток, начинающемся зарезервированным словом LABEL.

Пример:Program primer;

Label lm;

Begin

Writeln(′муха′);

Goto lm

Writeln(′муха′);

Lm: writeln(′Цокотуха″);

end.

После выполнения первой строки программы с помощью оператора перехода управление передается строке помеченной меткой lm.

Современный стиль программирования не рекомендует использования этого оператора, так как он затрудняет чтение и отладку программы.

 

Условный оператор IF предназначен для выбора той или иной последовательности операторов (ветви) в зависимости от выполнения логического условия. Существует две формы оператора условного перехода: полная и сокращенная.

Общий вид сокращенной формы:

IF<условие F>THEN<оператор 1>;

Общий вид полной формы:

IF<условие F>THEN<оператор 1>ELSE<оператор2>;

При сокращенной форме записи, если условие F истинно, то выполняется оператор 1. Альтернативная конструкция отсутствует и заменена точкой с запятой, то есть, если условие ложно, ничего не выполняется.

При полной форме записи, если условие F истинно, то также выполняется оператор 1, в противном случае выполняется оператор 2. причем перед словом else точка с запятой не ставится.

Например, для того чтобы определить являются ли три введенных числа А, B, C углами треугольника, нужно записать:

 

IF(A>0)and(B>0)and(C>0) and(A+B+C=180)

then writeln(′являются углами треугольника′)

else writeln(′не являются углами треугольника′);

 

Операторы IF могут быть вложенными.

Пример:

IF Parol<>’‘then

IF Parol:=’ключ’ then writeln(‘Вы вошли в программу’)

else begin

writeln(‘введен не верный пароль’);

Halt(1);

End;

Пример2. Нахождение максимального из трех целых чисел.

PROGRAM PRIMER_2;

VAR A, B, C, MAX: INTEGER;

BEGIN

WRITELN (′Нахождение максимального из трех целых чисел′);

WRITE (′Введите первое число А=′);

READLN (A);

WRITE (′Введите второе число В=′);

READLN (В);

WRITE (′Введите третье число С=′);

READLN (С);

IF (A>=B) AND (A>=C) THEN MAX: =A

ELSE IF (B>=A) AND (B>=C) THEN MAX: =B

ELSE MAX: =C;

WRITELN (′MAX =′, MAX: 4);

READLN;

END.