|
Структура «цикл с предусловием»Структура цикла с предусловием состоит из логического элемента проверки условия Р и функционального блока S, называемого телом цикла. Она имеет вид:
Цикл с предусловием выполняется так: сначала проверяется условие (отсюда название - цикл с предусловием), т.е. вычисляется значение логического выражения. Если оно истинно, то выполняется тело цикла, и снова проверяется условие. Выполнение цикла завершается, когда значение логического выражения становится ложным. Для этого необходимо, чтобы в теле цикла существовала команда, которая влияла бы на условие. На языках программирования структура реализуется так:
При решении следующей задачи используется структура цикла с предусловием. Задача. Вводить числа, пока не встретится 0. Определить сумму и количество введенных чисел. Решение. Блок-схема
Алгоритмический язык алг сумма начвещ s,x, цел k ¦ вывод "Введите число:" ¦ ввод х ¦ s:=0 ¦ k:=0 ¦ нцпока x<>0 ¦ ¦ s:=s+x ¦ ¦ k:=k+1 ¦ ¦ вывод "Введите число:" ¦ ¦ ввод х ¦ кц ¦ вывод "Сумма чисел=",s,"их количество=",k кон Бейсик 'Сумма s = 0: k=0 INPUT "Введите число:"; x DO WHILE x <> 0 s = s+ x k=k+1 INPUT "Введите число:"; x LOOP PRINT "Сумма чисел="; s; "их количество=",k END Паскаль program summa; var s,x:real; k:integer; begin s:=0;k:=0; write('Введите число:'); readln(x); while x<>0 do begin s:=s+x; k:=k+1; write('Введите число:'); readln(x); end; writeln('Сумма чисел=',s,' их количество=', k); end. Си #include<stdio.h> void main() { float x,s; int k; s = 0; k=0; printf("\nВведите число: "); scanf("%e", & x); while(x==0) { s = s+ x k=k+1 printf("\nВведите число: "); scanf("%e", & x); } printf("Сумма чисел= %e", s); printf("их количество= %e",k); } Структура «цикл с постусловием» (до) Структура цикла с постусловием также состоит из логического элемента проверки условия Р и функционального блока S – тела цикла.
Цикл с постусловием выполняется так: сначала выполняется команда (команды) в теле цикла, затем проверяется условие, т.е. вычисляется значение логического выражения. Если оно ложно, то снова выполняются команды в теле цикла, и так до тех пор, пока значение логического выражения не примет значение истина, после чего выполнение цикла завершается. Необходимо, чтобы в теле цикла существовала команда, влияющая на условие. Различие между циклами не только в том, что один с постусловием, а другой с предусловием, но и в том, что в цикле с предусловием функциональный блок S может ни разу не выполниться, если условие Р при первой проверке окажется ложным. В цикле с постусловием функциональный блок всегда хотя бы один раз выполнится На языках программирования структура реализуется так.
Структура цикла с постусловием является дополнительной. Поэтому на некоторых языках программирования для ее реализации нет соответствующего оператора. В частности, нет команды цикла с постусловием в школьном алгоритмическом языке, хотя в других версиях алгоритмического языка данная команда есть. В языке Си также нет оператора, реализующего данную структуру. Для реализации ее можно использовать оператор: do S; while(!P); где!Р означает отрицание условия Р. Рассмотрим задачу, для решения которой можно использовать цикл с постусловием. Задача. Вычислить сумму ряда с точностью 0.001. Решение. Блок-схема
Бейсик 'Вычисление суммы ряда s = 0 i = 1 an = 1 DO s = s + an i = i + 1 an = 1 / i^2 LOOP UNTIL an <.001 PRINT "Сумма ряда="; s END Паскаль program summa; {Вычисление суммы ряда} var i:integer; an,s:real; begin s:=0; i:=1; an:=1; repeat s:=s+an; i:=i+1; an:=1/(i*i) until an<0.001; writeln('Сумма ряда=',s:6:3); end. Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования... ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|