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

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

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. {конец программы}