Лекция: Лекция 16

Структурные операторы представляют собой совокупности нескольких операторов. К ним относятся:

— составной оператор;

— операторы цикла;

— условный оператор;

— оператор варианта;

— оператор присоединения.

 

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

Составным оператором называется последовательность операторов, ограниченных ключевыми словами Begin и End; (операторные скобки).

Форма записи

Begin

Оператор1;

Оператор2;

...... .

Операторn

End ;

Перед End символ; можно не ставить.

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

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

 

4.9.2. Условный оператор.

Условный оператор предназначен для оформления конструкции «Развилка» структурного пограммирования (рис.4.15.1.).

Рис.4.15.1

 

В языке ТР такой фрагмент алгоритма оформляется с помощью условного оператора, форма записи которого имеет вид

 

If < условие > Then <оператор 1> Else <оператор 2> ;.

Здесь If (если), Then (тогда), Else (иначе) – зарезервированные слова; <условие>-произвольное выражение логического типа; <оператор 1>, <оператор 2> -по одному простому или составному оператору. Условный оператор реализует следующий алгоритм. Сначала вычисляется условное выражеие < условие >. Если результат равен True, то выполняется <оператор 1> (<оператор 2> пропускается); если результат есть False то выполняется <оператор 2> (<оператор 1> пропускается.

Условный оператор удобно записывать по схеме алгоритма, используя следующие простые правила:

— после If записываем условие, указанное в ромбике;

— после Then записываем оператор указанный по пути «Да»;

— после Else записываем оператор указанный по пути «Нет»;

— если по пути «Да» или по пути «Нет» располагается более одного оператора, то помещаем их в составной оператор.

Пример записи условного оператора приведен на рис. 4.15.2.


Рис.4.15.2.

Пример записи условного оператора с использованием составного оператора приведен на рис.4.15.3.

 

Рис.4.15.3

В данном случае по пути «Нет» в алгоритме указано два оператора присваивания поэтому после Else эти операторы помещены в составной оператор.

Замечание. Составной оператор может содержать любые операторы, в том числе и составные. Пример такой конструкции приведен на рис.4.15.4.

 

 


Рис.4.15.4.

 

Как известно в конструкции развилка одна из ветвей может быть пустой. Обычно пустой делают ветвь по пути «НЕТ». В этом случае часть, начинающуюся со слова «ELSE» исключают из оператора IF. Пример оформления такой конструкции приведен на рис.4.15.5.

Рис.4.15.5.

 

4.9.3 Цикл с предусловием, конструкция While.

В алгоритмах возможны две конструкции циклических процессов: циклы с предусловием и циклы с постусловием. Для оформления таких конструкций в ТР есть соответствующие операторы, причем для цикла с предусловием предусмотрено два вида цикла: цикл While и цикл For.

Форма записи цикла While имеет вид:

While < условие > do < оператор >;

Здесь While (до тех пор пока), do (выполнять) – зарезервированные слова; <условие > -выражение логического типа; < оператор > — один простой или составной оператор.

Эту запись можно прочитать так:

ДО ТЕХ ПОР ПОКА <условие > истинно ВЫПОЛНЯТЬ < оператор >.

Если выражение <условие > имеет значение True, то выполняется < оператор>, после чего снова осуществляется проверка выражения <условие >. Как только выражение <условие > получит значение False, осуществляется выход из цикла, то есть управление передается оператору, расположенному после < оператор > цикла..

Правила:

— если тело цикла содержит более одного оператора, то необходимо использовать составной оператор;

— хотя бы один из параметров, входящих в выражение <условие > должен изменяться в теле цикла. Пример записи цикла с помощью рассмотренной конструкции (вычисление таблицы значений функции) приведен на рис.4.15.6.

Рис.4.15.6.

Лекция 16

4.9.4. Оператор цикла с параметром.

Часто параметр цикла целого типа и его надо изменять с шагом 1 в сторону увеличения или уменьшения. Такая ситуация имеет место например, при обработке массивов, когда в качестве параметра цикла используется индекс элемента массива. Для оформления таких циклов в ТР есть специальный оператор. Который называется «оператором цикла с параметром» (он позволяет получить более короткую запись цикла в программе).

Форма записи цикла с параметром имеет вид:

For n: = b1 To b2 Do Тц ;

где For (для), To (до), Do (выполнять) – зарезервированные слова;

n — параметр цикла (переменная целого типа);

B1, b2 — выражения целого типа;

Тц — один простой или составной оператор.

Пусть значение b1 равно а1, а значение b2 равно а2, тогда эту запись можно прочитать так: для n начиная с а1 выполнять Тц до тех пор пока n<= а2, увеличивая параметр цикла каждый раз на единицу.

Принцип действия.

А) Вычисляются значения выражений b1 и b2 (один раз до цикла);

Б) n получает значение выражения b1 и осуществляется проверка:

В) если n <= значения b2, то выполняется тело цикла, иначе выход из цикла;

г) значение n увеличивается на 1 и осуществляется возврат к шагу В).

Как только n станет > b2 цикл завершается и управление передается оператору, расположенному после Тц.

Пример записи цикла с помощью конструкции For приведен на рис. 4.16.1.


Рис.4.16.1

Так как изменение параметра цикла (К: = К + 1) автоматически учитывается в цикле For, то записывать его в теле цикла не следует (поэтому в данном случае тело цикла содержит только один оператор).

Правило: если тело цикла содержит более одного оператора (оператор изменения параметра цикла не учитывается), то при записи тела цикла надо использовать составной оператор. Пример записи цикла For с использованием составного оператора приведен на рис.4.16.2 (вычисление таблицы значений функции).


Рис.4.16.2.

Если в цикле с параметром параметр цикла должен уменьшаться на 1, то используется конструкция цикла вида

For n: = a1 DOWNTO a2 DO Тц;

Пример записи такой конструкции приведен на рис.4.16.3.


Рис .4.16.3.

 

4.9.5. Оператор цикла с постусловием.

В цикле с постусловием проверка условия окончания цикла осуществляется после выполнения тела цикла. Форма записи цикла с постусловием имеет вид

Repeat <тело цикла> until <условие>;

Здесь Repeat (повторять) и until (пока) – зарезервированные слова; <тело цикла> произвольная последовательность операторов; <условие> — выражение логического типа. Это выражение можно перевести на русский язык так: Повторять <тело цикла> до тех пор пока не будет выполнено <условие>.

Порядок действий: выполняются операторы тела цикла, после чего вычисляется выражение <условие>: если оно имеет значение False, то снова выполняются операторы тела цикла.

. Пример записи цикла Repeat приведен на рис.4.16.4.


Рис.4.16.4

 

еще рефераты
Еще работы по информатике