Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информатике 1 курс.doc
Скачиваний:
10
Добавлен:
06.05.2019
Размер:
1.64 Mб
Скачать

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

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

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

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

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

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

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

Лекция 18.

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

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

Оператор безусловного перехода 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.

Операторы выбора.

Если приходится выбирать более чем из двух альтернатив, необходимо использовать оператор CASE. Он имеет следующий формат:

CASE<селектор>OF

<значение селектора>:<оператор1>;

<значение селектора>:<оператор2>;

<значение селектора>:<операторN>;

ELSE <оператор>

END;

В качестве селектора могут служить переменные символьного и целочисленных типов. Данные типа real и string для селектора запрещены.

В зависимости от значения селектора выполняется соответствующий этому значению оператор. Значения селектора могут быть заданы тремя способами:

перечислением:

1,3,5,7

диапазоном:

′a′..′z′

перечислением + диапазоном:

1..5,7,9,11,21..31

Оператор CASE удобен и часто используется программистами.

Примеры :

CASE с селектором типа integer:

CASE с селектором типа char

X:=2;

Ch:=′f′;

CASE X OF

CASE Ch OF

1,3,5:WRITE (′Нечетное число′);

+′,′-′,′+′,’*’: WRITE (′Операция′);

2,4,6:WRITE (′Четное число′);

a′..′я′,′a′..′z′: WRITE (′c.буква′);

7..20:WRITE (′Диапазон 7-20′);

A′..′Я′,′A′..′Z′: WRITE (′n.буква′);

ELSE: WRITE (′Вне диапазона 1..20′)

ELSE: Write(′Не операция, не буква′);

END;

END;

Результат: Четное число

Результат: с.буква

Все другие операторы CASE строятся в полной аналогии с представленными.

Str: = ′Start′;

CASE Str OF

′Start′: WRITELN (′Старт системы!′);

Stop′: WRITELN (′Остановить работу!′);

END;