Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Uchebnoe_posobie_Programirovanie.docx
Скачиваний:
5
Добавлен:
08.12.2018
Размер:
217.65 Кб
Скачать

4.5.2. Оператор while

While <условие> do <оператор>

While, do –зарезервированные слова

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

<оператор> – произвольный оператор

Если (условие) имеет

значение true, то выпол-

условие

False true няется оператор, после

чего повторяется проверка

условия.

Если (условие) имеет

значение false, то оператор

While прекращает свою

Выполняется оператор

работу.

Пример 1

n:=3;

while n>0 do

begin 2

n:=pred(n); 1

write (n) 0

end;

Следует знать:

  1. В условии выражение должно быть определено до первого выполнения оператора цикла.(n:=3);

  2. Число повторений оператора цикла while определяется в ходе выполнения программы и как правило заранее неизвестно;

  3. В теле цикла обязательно должно быть инструкции, влияющие на условие выполнения цикла (n:= pred (n).

Пример 2

Суммировать десять произвольно введенных целых чисел.

var

count, item, sum : integer;

begin

sum:= 0;

count:=0;

while count<10 do

begin

inc (count);

write (‘Введите‘, count, ‘- е целое число: ‘);

Readln (item);

Sum:= sum+ item

end;

write (‘сумма введенных чисел = ‘,sum)

end.

Следует знать

  1. Цикл white – цикл с предусловием, т.е. тело цикла вообще может быть не выполнено, если условие ложно с самого начала.

  2. Цикл white считается самым универсальным видом цикла (см. следующее утверждение).

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

4.5.3. Оператор repeat

Repeat <тело цикла> Until <условие>

повторяет до тех пор пока

Repeat, Until – зарезервированные слова ( повторяет до тех пор пока не будет выполнено условие)

<тело цикла> – произвольная последовательность операторов Т-П

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

false

Выполнить операторы

условие

true

Операторы (тело цикла) выполняются хотя бы один раз, после чего проверяется условие. Если значение false (ложь), то операторы цикла повторяются. В противном случае (true) оператор repeat завершает свою работу.

Пример 1 Игра «Угадай число»

var

comp: integer; {число, задуманное компьютером}

igrok : integer; {вариант игрока}

begin

randomize; {инициализация датчика случайных чисел}

comp:= random (1000); {случайное число}

repeat

write (‘Введите число - ‘); Readln (igrok);

if igrok> comp then writeln (‘Слишком много‘)

else

if igrok< comp then writeln (‘Слишком мало‘)

else

writeln (‘Вы угадали‘);

until igrok= comp;

end.

Оператор repeat можно использовать для проверки правильности ввода исходных данных.

Пример 2

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

var х : integer;

repeat

write (‘Введите двузначное число - ‘); Readln (х);

Until (x<9) and (x>100);

Следует знать:

  1. Число повторений оператора цикла заранее неизвестна и определяется в ходе выполнения программы.

  2. В теле цикла должны быть инструкции, влияющие на условие завершение цикла (var, участвующие в условии должны изменяться в теле цикла).

  3. Цикл repeat – цикл с постусловием и поэтому теле цикла будет выполнено хотя бы раз.

Repeat until false {конструкция вечного цикла}.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]