Оператор условного перехода
Оператор условного перехода предназначен для выбора одного из двух операторов в зависимости от значения некоторого проверяемого условия.
условие |
оператор 2 |
оператор 1 |
Структура условного оператора:
IF < условие > THEN< оператор 1 > ELSE < оператор 2 > ;
Условие представляет собой логическое выражение, состоящее из операндов и знаков операций. В качестве операций в логическом выражении используются операции сравнения ( = , >, < , >= , <= , <> ) и логические операции ( and, or ).
Если условие истинно, то выполняется <оператор 1>, если же условие ложно, то выполняется <оператор 2>.
Если одновременно следует несколько операторов, то их следует объединить в операторные скобки (begin … end)
Оператор условного перехода может содержать только одну ветвь:
IF < условие > THEN< оператор > ;
В этом случае, если условие истинно, то выполняется оператор, если условие ложно, то управление передается следующему оператору программы.
Если один из операторов сам является условным оператором, то такой оператор является вложенным.
IF < условие > THEN< оператор 1 > ELSE
IF < условие > THEN< оператор 2 > ELSE < оператор 3 > ;
Существует возможность в одном условном операторе записывать сложные логические выражения, используя логические операции.
Например: при m ≤ x < n
IF (X >= m) and (X < n) THEN Y:= sqr (X) ;
Пример: Составить программу на языке Паскаль для вычисления выражения
Оператор выбора
Оператор выбора (варианта) предназначен для организации выбора одной из любого количества ветвей алгоритма в зависимости от значения некоторого выражения.
Общий вид оператора выбора:
Case < селектор > Of
< константа 1 > : < оператор 1 > ;
< константа 2 > : < оператор 2 > ;
…….
Else
< оператор N > ;
End ;
Селектор представляет собой некоторое выражение, имеющее один возможный результат.
Выполнение оператора выбора начинается с вычисления значения селектора. Затем передается управление тому оператору, перед которым стоит константа, совпадающая со значением селектора. Если таких совпадений не обнаружено, то выполняется оператор, стоящий после Else. Ветвь Else может отсутствовать.
Программирование алгоритмов циклической структуры
Циклы предусматривают многократное выполнение некоторых операторов, входящих в тело цикла.
В языке Паскаль имеются три вида операторов цикла:
· операторы цикла с предварительным условием,
· операторы цикла с последующим условием,
· операторы цикла с параметром.
Цикл с предварительным условием имеет следующий вид:
условие |
+
Тело цикла |
Выход из цикла
Структура цикла с предварительным условием:
While <условие > Do
Begin
<операторы тела цикла> ;
End;
Условие – логическое выражение, определяющее условие продолжения работы.
Логическое выражение вычисляется перед каждым выполнением оператора. Если условие истинно, то тело цикла выполняется и управление передается снова на вычисление условия, если же условие ложно, то тело цикла не выполняется и происходит выход из цикла.
Цикл с последующим условиемимеет следующий вид:
Тело цикла |
условие |
+
-
Выход из цикла
Структура цикла с последующим условием:
Repeat
операторы тела цикла;
Until< условие >;
Условие – это логическое выражение, определяющее условие окончания цикла. Сначала выполняются операторы тела цикла, затем вычисляется значение логического выражения, стоящего в условии. Если условие ложно, то вновь выполняются операторы тела цикла, если же условие истинно, то цикл заканчивается.
В теле цикла с предварительным и последующим условием необходимо задавать параметр изменения переменной.
Цикл с параметром имеет следующий вид:
i := iн; iк; Δi |
Тело цикла |
Выход из цикла
Оператор предусматривает повторное выполнение операторов тела цикла с одновременным изменением по правилу арифметической прогрессии значения, присваиваемого параметру цикла.
Структура цикла с параметром:
For < параметр > := < начальное значение > To < конечное значение > Do
Begin
< операторы тела цикла > ;
End;
Параметр цикла должен быть любого целочисленного типа. Начальное и конечное значения параметра цикла могут задаваться выражениями, которые должны иметь тот же тип, что и параметр. Начальное и конечное значения вычисляются только один раз перед началом цикла. Шаг изменения параметра в этом цикле всегда равен 1.
В языке Паскаль также используется цикл с убывающим значением параметра, структура которого имеет следующий вид:
For < параметр > := < начальное значение > DownTo < конечное значение > Do
Begin
< операторы тела цикла > ;
End;
Шаг изменения параметра в этом цикле всегда равен -1.
Пример: Составить программу вычисления значение функции у = 1 · 2 · 3 · … · N
для N = 20.