Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект_лекций.doc
Скачиваний:
18
Добавлен:
26.04.2019
Размер:
1.11 Mб
Скачать

6.7. Операторы управления программой

Опр. Программа – инструкции процессору (исполнителю) по обработке информации, которые оформлены в виде последовательного текста.

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

Опр. Активная позиция программы – оператор выполняемый процессором в данный момент.

Опр. Управляемый режим выполнения программы – очередность выполняемых операторов программы зависит от заданных или полученных в процессе обработки данных.

Опр. Оператор управления изменяет активную позицию выполняемой программы.

6.7.1. Условный оператор if then

Синтаксис исполнимого оператора

If Условие then Оператор ;

IF - ключевое слово, за которым обязательно следует один или несколько пробелов: символов - разделителей,

Условие –логическая переменная или логическое выражение, за которым также следует разделитель – пробел (пробелы),

THEN – служебное слово-разделитель (избыточный синтаксис языка Pascal), за которым следует разделитель-пробел,

Оператор – любой исполнимый оператор.

Примеры:

if a>5.2 then c:=sqrt(a – 5.2);

Звуковая транскрипция: если содержимое числовой переменной с именем «а» больше числа 5.2, то выполни указанный оператор присвоения!

Var bbb: boolean;

. . . . . . . . .

if bbb then writeln(‘c=’, c);

Звуковая транскрипция: если значение булевой переменной bbb есть TRUE, то выполни указанный оператор печати!

Важно для понимания: оператор if a>5.2 then; только проверяет, но ничего не делает, т.е. «бессмыслен», хотя и написан синтаксически правильно.

6.7.2. Условный оператор выбора if then else

Синтаксис оператора IF Усл THEN Опер1 ELSE Опер2 ;

реализует расширенные возможности ранее описанного оператора:

ELSE - второе ключевое слово, за которым следует разделитель-пробел, Опер2 - любой исполнимый оператор.

Пример:

if a > 5.2 then c:= sqrt( a - 5.2 )

else write(‘a=’, a:10:3);

Звуковая транскрипция: если логическое условие, указанное после слова IF - истинно, то выполни оператор, указанный после слова THEN, в противном случае (логическое условие имеет значение FALSE), выполни оператор, указанный после слова ELSE!

Операторы IF, как и все операторы управления, являются составными операторами. Они включает в себя как оригинальные действия, в нашем случае это – проверка логического условия, так и некие исполнимые операторы, которые могут выполняться процессором, а могут и не выполняться.

Если, после проведения проверки логических условий, требуется выполнить не один, а несколько исполнимых операторов, то эти операторы объединяются в «единое целое» (сложно составленный оператор) путем их заключения в специальные операторные скобки BEGIN END.

Пример:

if a > 5.2 then begin

c:= sqrt( a - 5.2 );

g:= c +a;

write(c)

end

else write(‘a=’, a:10:3);

Звуковая транскрипция: если логическое условие, указанное после слова IF - истинно, то последовательно выполни операторы, перечисленные в скобках BEGIN END после слова THEN, в противном случае: выполни оператор, указанный после слова ELSE!

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

Поскольку смысловое содержимое (алгоритм) программ нагляднее отображается в форме чертежных схем, а не последовательного текста, настоятельно рекомендуется записывать сложные операторы программ структурно. В нашем случае (см. примеры), рекомендуется записывать оператор IF в нескольких строках, причем слова THEN и ELSE, а также BEGIN END, размещать строго одно под другим.