
1.5 Оператор выбора
Условный
оператор позволяет
в процессе выполнения программы выбирать
одно из двух возможных действий в
зависимости от значения логического
выражения. Оператор
выбора (или оператор
варианта)
дает возможность выполнить одно из
нескольких действий в зависимости от
значения скалярного выражения или
выражения ограниченного типа.
Формат оператора варианта:
case <селектор> of
<константа 1> : <оператор 1>;
...
<константа N> : <оператор N>
else
<оператор>
end;
Здесь <селектор> – это выражение любого порядкового типа; <константа> - постоянная величина того же типа, что и селектор, представляет собой различные значения, которые может иметь селектор варианта, называется меткой варианта. После каждой метки располагается оператор. Когда одно и то же действие необходимо выполнить для нескольких различных значений селектора варианта, эти значения можно записать в виде списка.
Выполнение оператора выбора происходит так:
вычисляется выражение-селектор;
затем в списках констант ищется такое значение, которое совпадает с полученным значением селектора;
далее исполняется оператор, помеченный данной константой. Если такой константы не найдено, то происходит переход к выполнению оператора, следующего после else.
1.6 Оператор цикла.
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций. Также циклом может называться любая многократно исполняемая последовательность инструкций, организованная любым способом (например, с помощью условного перехода).
Виды циклов
Безусловные циклы
Иногда в программах используются циклы, выход из которых не предусмотрен логикой программы.
Такие циклы называются безусловными, или бесконечными. Специальных синтаксических средств для создания бесконечных циклов, ввиду их нетипичности, языки программирования не предусматривают, поэтому такие циклы создаются с помощью конструкций, предназначенных для создания обычных (или условных) циклов. Для обеспечения бесконечного
повторения проверка условия в таком цикле либо отсутствует (если позволяет синтаксис, как, например, в цикле LOOP…END LOOP языка Ада), либо заменяется константным значением (while true do … в Паскале). В языке С используется цикл for(;;) с незаполненными секциями.
Цикл с предусловием
Цикл с предусловием — цикл, который выполняется пока истинно некоторое условие, указанное перед его началом. Это условие проверяется до выполнения тела цикла, поэтому тело может быть не выполнено ни разу (если условие с самого начала ложно). В большинстве процедурных языков программирования реализуется оператором while, отсюда его второе название — while-цикл. На языке Pascal цикл с предусловием имеет следующий вид:
while <условие> do
begin
<тело цикла>
end;
На языке Си:
while(<условие>)
{
<тело цикла>
}
Цикл с постусловием
Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя бы один раз. В языке Паскаль этот цикл реализует оператор repeat..until; в Си — do…while. На языке Pascal цикл с постусловием имеет следующий вид::
repeat
<тело цикла>
until <условие выхода>