Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник программирование 7-9 на печать.doc
Скачиваний:
0
Добавлен:
01.12.2019
Размер:
6.6 Mб
Скачать

§ 12. Цикл с предусловием

Вы приехали на дачу. Родители не отпустят Вас на реку, пока Вы не наберёте полную бочку воды из выкопанного рядом с ней колодца. Составьте и изобразите схему алгоритма наполнения бочки при помощи одного ведра. Изобразим этот циклический алгоритм языком блок-схем:

Очень многие алгоритмы, выполнение которых поручается компьютеру, по своей природе циклические. И это не случайно, потому что человек обычно поручает машине рутинную работу, где нужно много считать, и счет производится по некоторым одинаковым правилам.

Определение. Цикл – это последовательность операторов, которая может выполняться более одного раза.

В языке Паскаль существуют 3 конструкции для организации циклов. Познакомимся с первым из них – оператором цикла с предусловием while.

Циклы с предусловием используются тогда, когда выполнение цикла связано с некоторым логическим условием. Цикл с предусловием состоит из 2 частей: условие выполнения цикла и тело цикла.

При выполнении оператора while группа операторов выполняется до тех пор, пока определенное в операторе while логическое условие истинно. Если условие сразу ложно, то оператор не выполнится ни разу.

Общая форма записи следующая:

while <логическое выражение> do

begin

группа операторов

end;

На русском языке это звучит так:

пока выполняется это условие делай

от начала

группа операторов

до конца;

Вполне понятно, что операторные скобки ставят, чтобы отделить от остальной программы ту группу операторов, которую нужно повторить в цикле. Если в цикле нужно выполнить только один оператор, то операторные скобки не ставят.

При использовании цикла с предусловием надо помнить следующее:

1) значение условия выполнения цикла должно быть определено до начала цикла;

2) если значение условия истинно, то выполняется тело цикла, после чего повторяется проверка условия. Если условие ложно, то происходит выход из цикла;

3) хотя бы один из операторов, входящих в тело цикла, должен влиять на значение условия выполнения цикла, иначе цикл будет повторяться бесконечное число раз.

Представим всю информацию о цикле с предусловием в таблице:

Цикл с предусловием (девиз: “Пока условие истинно, выполнять оператор”)

Оператор цикла с предусловием:

While <условие>

Do <тело цикла>;

<Условие> – выражение логического типа;

<Тело цикла> – один любой оператор, в том числе и составной.

Тело цикла не выполнится ни разу, если условие изначально ложно.

Начальные присваивания - задание начальных значений переменным, изменяющихся в цикле.

Упражнение 19. Составьте блок-схему по данному фрагменту программы. Сколько раз выполняется цикл? Чему становится равно a?

Ответ: цикл выполнился 2 раза (2 истины в таблице), a=6

Упражнение 20. Найти квадраты целых чисел от 1 до 10

Program Sum1;

Var x,y:integer;

Begin

X:=1; {начальное присваивание}

{пока х не превышает 10, выполнять… }

While X<=10 do

{составной оператор - тело цикла}

begin

Y:=X*X; {найти квадрат x}

Writeln(X,Y); {вывести х и его квадрат}

X:=X+1; {х увеличить на 1}

end; {конец тела цикла}

End.

Домашние вопросы и задачи:

    1. Что такое цикл? Приведите примеры циклов из вашей жизни.

    2. Запишите блок-схему цикла с предусловием и объясните работу цикла.

    3. Запишите оператор цикла с предусловием, расскажите о его работе и особенностях. Когда происходит зацикливание, а когда цикл не выполнится ни разу?

Задачи:

30. Составьте блок-схему и определите значения S, i после выполнения операторов:

А) S:=3; I:=0;

While i<5 do

i:=i+1;

s:=s+i;

Б) S:=0; I:=0;

While i<3 do

begin i:=i+1; s:=s+i;

end;

В) S:=0; I:=5;

While S<i do

begin i:=i-1; s:=s+i;

end;

31. Печатать элементы последовательности 100 50 25 12.5., пока они больше 1 (составить программу и блок-схему).

32. Вывести все чётные числа начиная с числа N и до числа M. Числа N и M задает пользователь (составить программу и блок-схему).