Ответим сначала на два предыдущих вопроса.
1. Почему тело цикла Repeat..Until можно не заключать в операторные скобки Begin..End? А когда тело цикла заключается в операторные скобки? Правильно, когда требуется объяснить компьютеру, какие операторы составляют тело цикла. Здесь же служебные слова Repeat..Until играют роль операторных скобок, показывая, какие операторы составляют тело цикла.
2. К какой из указанных групп относится цикл For? Этот цикл является циклом с предусловием. Дело в том, что если в заголовке используется служебное слово To, а нижняя граница больше верхней, то тело цикла выполняться не будет. Аналогично, если в заголовке используется служебное слово DownTo, а нижняя граница меньше верхней, то тело цикла также выполняться не будет.
3. Изменим программы так, чтобы числа выводились в обратном порядке:
Program C1_New; Var x:Byte; Begin WriteLn('Первые 10 натуральных чисел:'); x:=10; While x>=1 Do Begin WriteLn(x); x:=x-1; End; End. |
Program C2_New; Var x:Byte; Begin WriteLn('Первые 10 натуральных чисел:'); x:=10; Repeat WriteLn(x); x:=x-1; Until x<1; End. |
Текст этой программы можно взять здесь. | Текст этой программы можно взять здесь. |