Общий вид записи:
While <условие> do begin <инструкция 1>;...<инструкция n> EndИнструкция while-do выполняется следующим образом: Сначала проверяется условие. Если оно истинно, выполняются <инструкция 1>...<инструкция n> и так далее. Если же условие ложно, выполнение инструкции считается законченным, и программа переходит к обработке следующих команд. Таким образом, если условие с самого начала оказалось ложным, <инструкция 1>...<инструкция n> не будут выполнены ни разу. В цикле while-do <условие> - это условие выполнения цикла: пока оно истинно, программа из цикла не выйдет. В том случае, если внутри цикла стоит только один оператор, пара begin - end может отсутствовать, если операторов больше одного, то пара begin - end обязательна, так как иначе будет выполнятся только одна инструкция, стоящая сразу после слова do.
Пример: Надо вычислить сумму S=1+1/2+1/3+...+1/50
VAR S: REAL; N: INTEGER; BEGIN S:=0; N:=1; WHILE N<=50 DO BEGIN S:=S+1/N; N:=N+1; END; WRITELN (' S=',S); END.ЦИКЛ REPEAT-UNTIL (ЦИКЛ С ПОСТУСЛОВИЕМ - РЕД.)
Общий вид записи:
Repeat <инструкция 1>;...<инструкция n> until <условие>;Инструкция repeat-until выполняется следующим образом: сначала выполняются инструкции <инструкция 1>...<инструкция n>. Затем проверяется условие. Если оно ложно, происходит возврат с выполнению инструкций <инструкция 1>...<инструкция n>. Если условие истинно, цикл считается выполненным и программа переходит к обработке следующих команд. Таким образом в цикле repeat-until <условие> - это условие завершения цикла: цикл повторяется, пока оно ложно.
Пример.
VAR S: REAL; N: INTEGER; BEGIN S:=0; N:=1; REPEAT S:=S+1/N; N:=N+1; UNTIL N>50; WRITELN (' S=',S); END.