Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информатике 1 курс.doc
Скачиваний:
18
Добавлен:
06.05.2019
Размер:
2 Мб
Скачать
☆

Контрольные вопросы.

1. Какие операторы называются операторами ветвления?

2. Как записывается оператор безусловного перехода?

3. Какова форма записи операторов условного перехода?

4. Когда можно использовать оператор выбора?

Лекция 19.

Тема: «Организация циклических вычислений».

Цикл FOR.

Цикл FOR используется в трех случаях, когда число повторений может быть заранее известно. Существует две формы цикла:

FOR i: =A TO B DO<тело цикла>

FOR I: =A DOWNTO B DO<тело цикла>

Где I-идентификатор переменной, являющейся параметром цикла, А- начальное значение параметра цикла, B- конечное значение параметра цикла.

Тело цикла может состоять из одного или нескольких операторов. Если тело цикла состоит более чем из одного оператора его необходимо заключить в операторные скобки (Begin-end).

Оператор цикла FOR обеспечивает выполнение тела цикла до тех пор, пока параметр цикла не станет равным конечному значению.

TO, DOWNTO указывает на направление изменения значения параметра цикла, т.у. TO- возрастание, DOWNTO-убывание.

Пример

FOR I:=1TO 100 DO WRITELN(I);

На экране появляется цифры от 1 до 100.

FOR I:=100 DOWNTO 1 DO WRITELN(I);

На экране появляется цифры от 100 до 1

При первом обращении к циклу FOR переменной I присваивается значение A, при втором обращении к циклу переменной I присваивается значение A+1 (to),

A-1 (downto) и так далее до тех пор, пока переменная I не примет значение B.

Существуют некоторые ограничения на использование параметра цикла:

1. В качестве параметра должна использоваться простая переменная дискретного типа.

2. Начальные и конечные значения диапазона должны иметь тип, совместимый с типом параметра цикла. При этом допустим любой скалярный тип, кроме вещественного.

3 В теле цикла запрещается изменение значения параметра цикла.

Оператор цикла WHILE.

Оператор WHILE называется оператором цикла с предусловием, так как проверка условия выполнения тела цикла идет перед его выполнением. Число повторений тела цикла заранее не известно, она зависит от заданного условия.

Общий вид оператора:

WHILE <выражение>DO<тело цикла>

Где <выражение> - условие продолжения повторений, представляет собой логическое выражение; тело цикла - один или несколько операторов.

Перед каждым выполнением тела цикла вычисляется значение выражения. Если выражение имеет значение TRUE, тело цикла выполняется. Если значение выражения FALSE, происходит выход из цикла и выполняется первый после WHILE оператор.

Пример, вывод на экран чисел от 1 до 100

k: =0;

wile k<100 do

begin

k: =k+1;

writeln (k);

end;

WHILE True DO WRITE (′Бесконечный цикл′);

WHILEI=I DO WRITE (′Бесконечный цикл′);

PROGRAM Demo_ WHILE ;{ заголовок программы}

Var I, Sum: integer; {объявление переменных}

BEGIN {начало раздела операторов}

I: =0; Sum: 0 ;{ обнуление I, Sum}

WHILE I<12 DO BEGIN {начало оператора WHILE}

WRITELN (′I=′, I) ;{ текущее значение I}

Sum: =Sum+I; {наращивание суммы}

I: =I+2 {увеличение I (0, 2, 4, 6, 8, 10)}

END; {конец оператора WHILE}

WRITELN (′Сумма четырех чисел′, Sum) {вывод результата}

END. {конец программы}

Операторы завершения цикла. Для всех операторов цикла выход цикла осуществляется как вследствие естественного окончания оператора цикла, так и с помощью операторов перехода GOTO и выхода. В версии ТУРБО ПАСКАЛЬ 7,0 определены стандартные процедуры BREAK и CONTINUE. Процедура BREAK выполняет безусловный выход из цикла. Процедура CONTINUE обеспечивает переход к началу новой итерации цикла.

Оператор цикла REPEAT.

Цикл типа Repeat называется циклом последующего условия, т.е. операторы входящие в тело цикла выполняются, по крайней мере, один раз.

Общий вид оператора:

Repeat

<оператор>

until <условие>

Между Repeat и until можно помещать любое количество операторов, в том числе и не одного. Слова Repeat и until сами являются операторами-скобками, поэтому операторы, расположенные между ними не обязательно заключать в скобки Begin-end;

Цикл продолжается до тех пор, пока условия заданные после until не станет истинным, как только оно станет истинным, цикл прекращается.

Применение цикла последующего условия целесообразно в тех условиях, когда операторы, формирующие значение условного цикла, составляют достаточно большую последовательность, и их нецелесообразно дублировать вне цикла.

Цикл Repeat until Keypressed-удерживает картинку на экране.

Пример, вывод на экран чисел от 1 до 100

k:=0;

repeat

k:=k+1

writeln (k);

until k>100;

PROGRAM Demo_REPEAT; { заголовок программы}

Var I, Sum: integer; {объявление переменных}

BEGIN {начало раздела операторов}

I: =0; Sum: 0 ;{ обнуление I, Sum}

REPEAT {начало оператора REPEAT}

WRITELN (′I=′, I) ;{ вывод текущее значение I}

Sum: =Sum+I; {наращивание суммы}

I: =I+2 {увеличение I (0, 2, 4, 6, 8, 10)}

UNTIL (I>10) ;{ конец оператора REPEAT}

WRITELN (′Сумма четырех чисел′, Sum) {вывод результата}

END. {конец программы}