|
||||
переменная цикла:=переменная цикла+шаг;Стр 1 из 2Следующая ⇒
Занятие 8 Цикл WHILE 1 курс 1. Цикл WHILE (цикл с предварительным условием) Практически универсальный цикл (может применяться во всех случаях, когда необходим цикл). Чаще всего применяется тогда, когда нельзя использовать For: то есть неизвестно сколько раз выполнять цикл или до какого значения изменяется переменная цикла. Общий вид: Переменная цикла:=начальное значение; /Может быть заменено вводом начального значения с клавиатуры/
begin команды; переменная цикла:=переменная цикла+шаг; end; ВНИМАНИЕ! В цикле While очень легко допустить ошибку! Цикл WHILE выполняется до тех пор, пока условие цикла истинно, поэтому обязательно в какой-то момент условие должно стать ложным, иначе программа будет выполняться бесконечно (будет зациклена). Прерывание выполнения программы – кнопка Stop. Сравним решение задачи: Пример 1: Найти сумму чисел от 1 до N, кратных 5. С помощью For: Program prim1; var s, i, N : integer; Begin s:=0; Write ( 'Введите N: '); Readln (N); For i:=1 to N do if i mod 5=0 then s:=s+i; Writeln ( 'Сумма S= ' , s); End. С помощью While: Program prim1; var s,i,N:integer; Begin s:=0; Write ( 'Введите N: '); Readln(N); i:=5; While i<=N do begin s:=s+i; i:=i+5; end; Writeln ( 'Сумма S= ' , s); End. Обратите внимание на то, что решение с циклом For проще записать, однако цикл For перебирает все значения от 1 до n с шагом 1 и отбирает кратные 5, а цикл While «перепрыгивает» через 5 (шаг между числами, кратными 5). Поэтому начальное значение i:=5, а шаг изменения переменной – тоже 5 (заметьте, что он может быть любым, в том числе и дробным!). Если Вы забудете набрать строку i:=i+5; программа при выполнении «зациклится» (цикл будет выполняться бесконечно!). С помощью цикла While можно решать задачи, которые нельзя решить с помощью цикла For. Пример 2: Найти произведение чисел от 1, кратных 5. Умножать до тех пор, пока произведение не станет больше N. Program prim2; Var P, i, N : integer; Begin Write ( 'Введите N: '); Readln(N); P:=1; i:=5;
|
||||
|