1. Программа, использующая цикл Repeat..Until зациклится тогда, когда проверяемое условие постоянно будет ложным.

    2. Приведем тексты программ:

Цикл с предусловием
Цикл с постусловием
Program C1;
Var
 x:Byte;
Begin
 WriteLn('Первые 10 натуральных числа:');
 x:=1;
 While x<11 Do
   Begin
        WriteLn(x);
        x:=x+1;
   End;
 WriteLn(x);
End.
      
Program C2;
Var
 x:Byte;
Begin
 WriteLn('Первые 10 натуральных числа:');
 x:=1;
 Repeat  
   WriteLn(x);
   x:=x+1;
 Until x>10;
 WriteLn(x);
End.
      
Текст этой программы можно взять здесь. Текст этой программы можно взять здесь.

    Понятно, что, в отличие от цикла For, на экран будут выведены значения 1, 2, 3, 4, ..., 10, 11. Дело в том, что после вывода на экран числа 10 в теле цикла будет выполнен оператор x:=x+1;, который приведет к тому, что в переменной x будет находиться число 11. Это значение приведет к выходу из циклов, делая проверяемые условия (x<11 и x>10) соответственно ложным и истинным. Поэтому произойдет выход из циклов, и выполнятся операторы, расположенные после тела цикла. В этих пограммах он одинаков - WriteLn(x);. Так как переменная x имеет значение 11, то оно как раз будет выведено после первых 10 натуральных чисел.


Изменим одну из приведенных программ, поменяв местами операторы в теле цикла (выделены жирным шрифтом):

Program C1;
Var
 x:Byte;
Begin
 WriteLn('Первые 10 натуральных числа:');
 x:=1;
 While x<11 Do
   Begin
        x:=x+1;
        WriteLn(x);
   End;
End.
      
Что будет выведено при выполнении этой программы?
Ответы и комментарии можно получить здесь.



    В заключение составьте еще несколько модификаций приведенных программ:
    - модифицируйте программу C1 так, чтобы она выводила первые 10 четных натуральных чисел (текст программы можно взять здесь);
- модифицируйте программу C2 так, чтобы она выводила первые 10 четных натуральных чисел (текст программы можно взять здесь);
- модифицируйте программу C1 так, чтобы она выводила первые 10 четных натуральных чисел в обратном порядке (текст программы можно взять здесь);
- модифицируйте программу C2 так, чтобы она выводила первые 10 четных натуральных чисел в обратном порядке (текст программы можно взять здесь).