Оператор цикла с параметром for удобен, когда число повторений действий заранее известно. Однако часто приходиться решать задачи , в которых число повторений тела цикла заранее неизвестно и определяется только в ходе выполнения цикла. В этом случае применяют цикл с условием. В языке Паскаль (Pascal) имеется две разновидности цикла с условием:
1) цикл с предварительным условием -условие цикла проверяется перед выполнением тела цикла; 2) цикл с последующим условием - условие цикла проверяется после выполнения тела цикла. Остановимся на цикле с предварительным условием,или с предусловием. Цикл с предусловием-это цикл,который повторяется до тех пор, пока условие истинно. Для реализации цикла с предусловием в языке Паскаль (Pascal) используется оператор while,который имеет следующий вид: while < условие > do < оператор >; Если тело цикла состоит из нескольких операторов, необходимы операторные скобки begin. .end. Составим программу, которая определяет, сколько слагаемых должно быть в сумме последовательных чётных чисел (2+4+6+8+...), чтобы эта сумма оказалась больше некоторого заданного натурального числа n(n>=2),и выводит на экран результат - количество слагаемых. program kol_slag; var i, sum, n, x: integer; begin write (' n= '); readln(n); x:=2; sum:=2; i:=1; while sum <=n do begin x:=x+2; i:=i+1; sum:=sum+x; end; writeln(i,' слагаемых'); end. Результат выполнения при n=10: sum = 55 Цикл в этой программе работает следующим образом: вначале i= 0, n=10, sum =0; условие i<10 истинно, и тело цикла выполняется; i увеличивается на 1 (i=i+1=0+1=1); значение суммы увеличивается на 1 (sum =sum + i=0+ 1=1); условие i<10 вновь истинно, поэтому тело цикла выполняется в очередной раз: i увеличивается на 1 (i=i+1=1+1=2); значение суммы увеличивается на 2 (sum =sum + i=1+2=3); условие i<10 истинно, поэтому тело цикла выполняется в очередной раз и т.д. После 10 повторений данной последовательности действий (i=i+1 и sum = sum+i) получим i=10, sum=1+2+...+10. Условие i<10 ложно, поэтому выполнение цикла завершится. Необходимо знать несколько основных правил!
1) Если условие сразу оказывается ложным, оператор while не выполняется ни разу! 2) В теле цикла должны быть операторы, которые могут изменить значение условия, сделав его ложным. Иначе цикл будет выполнятся бесконечное число раз. 3) Зациклившуюся программу можно остановить командой программа и нажать завершить. 4) В операторах for,while точка с запятой не ставится перед словом do и после него.
Понравилась полезная статья? Подпишитесь на RSS и получайте больше нужной информации!
|