Отличия операторов repeat и while

Программа.

Задача 16.

Цикл с постусловием.

Программа.

Задача 15.

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

Цикл с предусловием имеет вид:

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

(While: читается – "вайл"; переводится – "пока"; do: читается – "ду"; переводится – "делай".)

Работает оператор while так:

Сначала компьютер проверяет истинность условия, стоящего после слова while. Если условие истинно, то выполняется оператор, стоящий после do. Затем снова проверяется истинность условия и в случае истинности снова выполняется этот оператор и т.д. Если условие ложно, то оператор while прекращает свою работу и компьютер переходит к выполнению следующего оператора.

Оператор, стоящий после do называется телом цикла. Телом цикла может быть и составной оператор, т.е. группа операторов, заключённая в операторные скобки begin...end.

Составить программу с использованием оператора while для вычисления квадратных корней из чисел 900, 893, 866 и т.д. до тех пор, пока это можно делать.

Var a:Real;

BEGIN

a:=900;

while a>=0 do begin

WriteLn('Число=',a:5:0,' Корень=',Sqrt(a):7:2);

a:=a-3;

end;

ReadLn

END.

Цикл с постусловием имеет вид:

Repeat оператор, оператор, …, оператор Until условие;

(Repeat Until условие: читается – "ри'пит…ан'тил"; переводится – "повторяй… до тех пор, пока не выполняется условие.)

Работает оператор repeat так:

Сначала компьютер по очереди выполняет операторы, стоящие после слова repeat, пока не дойдёт до слова until. Если условие ложно, то компьютер снова по очереди выполняет эти операторы и снова проверяет истинность условия и т.д. Если условие оказывается истинным, то работа оператора repeat прекращается и компьютер переходит к выполнению следующего по порядку оператора.

Составить программу с использованием оператора repeat для вычисления квадратных корней из чисел 900, 893, 866 и т.д. до тех пор, пока это можно делать.

Var a:Real;

BEGIN

a:=900;

repeat

WriteLn('Число=',a:5:0,' Корень=',Sqrt(a):7:2);

a:=a-3;

until a<0;

ReadLn

END.

v Компьютер выходит из цикла оператора repeat тогда, когда условие истинно, а из цикла оператора while – когда условие ложно;

v while может ни разу не выполнить оператор, стоящий после do; repeat же хотя бы раз операторы, стоящие между repeat и until выполнит.

v Если тело цикла содержит несколько операторов, то в цикле while, в отличие от цикла repeat, необходимо использовать операторные скобки begin...end.


Цикл со счётчиком.

Цикл со счётчиком имеет следующий вид:

For имя := выражение_1 to выражение_2 do оператор;

имя – это имя произвольной переменной порядкового типа, называемой переменной цикла (или его счётчиком);

выражение_1 и выражение_2 – это произвольные выражения порядкового типа.

(For: читается – "фо"; переводится – "для"; to: читается – "ту"; переводится – "до"; do: читается – "ду"; переводится – "делай".)

Конструкция For i:=1 to 200 do... переводится так: для i, изменяющегося от 1 до 200, делай оператор, стоящий после слова do.

Цикл For используют тогда, когда точно знают, сколько раз должно быть выполнено тело цикла.

Оператор, стоящий после do может быть и составным.

Работает оператор For так:

Прежде всего вычисляется выражение_1, и переменной цикла (пусть это будет i) присваивается его значение. Затем вычисляется выражение_2 и сравнивается с i. Если i > выражение_2, то оператор For завершает свою работу, так ничего и не сделав. В противном случае выполняется оператор, стоящий после do. После выполнения этого оператора значение i увеличивается на единицу и снова сравнивается с выражение_2. Если i > выражение_2, то оператор For завершает свою работу, иначе снова выполняется оператор, стоящий после do, снова значение i

увеличивается на единицу и т.д.

Оператор For позволяет не только увеличивать, но и уменьшать переменную цикла. Для этого вместо to нужно писать downto.

(читается – "даунту"; переводится – "вниз до".)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: