- •Операторы языка Паскаль
- •1. Оператор присваивания
- •2. Ввод данных
- •3. Вывод данных
- •4. Условный оператор
- •5. Оператор перехода
- •6. Составной оператор
- •7. Операторы организации циклической обработки
- •7.1 Оператор цикла с параметром
- •7.2. Оператор цикла с предусловием
- •7.3. Оператор цикла с постусловием
- •7.4.Операторы прерывания циклов
- •7.5. Вложенные циклы
- •8. Комментарии
6. Составной оператор
В условном операторе требуется, чтобы после служебного слова then и else был записан один оператор, но часто по алгоритму в какую–либо ветвь надо записать несколько операторов. В этом случае следует использовать составной оператор, который объединяет некоторую последовательность операторов в единый оператор путем заключения этой последовательности в операторные скобки begin (начало) и end (конец).
Общий вид составного оператора:
begin
<оператор 1>;
<оператор 2>;
………………
<оператор n>
end;
Выполнение составного оператора сводится к последовательному выполнению входящих в него операторов. Элементами составного оператора могут быть любые операторы языка, в том числе условные и другие составные операторы.
7. Операторы организации циклической обработки
7.1 Оператор цикла с параметром
Оператор цикла с параметром служит для организации цикла с известным числом повторений. Этот оператор предусматривает повторное выполнение одного или нескольких операторов с одновременным изменением по правилу арифметической прогрессии значения параметра этого цикла. Общий вид записи этого оператора:
for <параметр>:=<выражение 1> to <выражение 2> do <тело цикла>
или
for <параметр>:=<выражение 1> downto <выражение 2> do <тело цикла>
где
for (для), to (до), downto (вниз до), do (выполнить) – служебные слова;
<параметр цикла> – переменная порядкового типа, т.е. она может быть целого, логического, символьного типа;
<выражение 1> и <выражение 2> – начальное и конечное значения параметра цикла, записываются константами или выражениями того же типа, что и тип переменной цикла;
тело цикла – простой или составной оператор.
Тело цикла выполняется для каждого значения параметра цикла, начиная с начального значения и до конечного значения включительно. При использовании в цикле служебного слова to значение параметра цикла увеличивается автоматически с помощью функции Succ (возвращает следующее значение порядкового типа), при downto – уменьшается с помощью функции Pred (возвращает предыдущее значение порядкового типа). Шаг изменения параметра цикла зависит от типа этой переменной. Наиболее часто используется переменная целого типа, что определяет шаг, равный +1 при to, и -1 при downto.
Правила организации цикла:
запрещено изменять в теле цикла значение параметра цикла;
запрещено входить в тело цикла с помощью оператора goto, минуя заголовок оператора for, так как значение параметра цикла будет не определено;
цикл не выполнится вообще, если начальное значение параметра цикла больше (при downto – меньше), чем конечное;
по окончании выполнения цикла значение параметра цикла не определено и не может быть непосредственно использовано в дальнейших вычислениях;
из составного оператора, входящего в тело цикла, можно выйти до окончания цикла с помощью оператора goto, тогда последнее значение параметра цикла сохраняется.
Пример 7.1. Вычислить n!
……………………
readln(n);
f:=1;
for i:=2 to n do
f:=f*i;
……………………..
Пример 7.2. Составить программу для вычисления значения функции y = sin(2x) при изменении аргумента х от a до b с шагом h.
…………………………
n:=trunc((b-a)/h)+1; {количество точек}
x:=a;
for i:=1 to n do
begin
y:=sin(2*x);
writeln(x:6:2,’ : ‘y:6:3);
x:=x+h
end;
……………………………