Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_7.docx
Скачиваний:
4
Добавлен:
22.01.2022
Размер:
57.02 Кб
Скачать

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;

……………………………