Занятие 22 из 24
Прогресс сохраняется в этом браузере
0%

Занятие 22. Циклы

В Pascal три типа циклов: for — с заранее известным числом повторений, while — с проверкой условия в начале, repeat … until — с проверкой условия в конце.
1. Прочитайте слова и словосочетания, переведите, запомните их значения.
Цикл
Цикл с пара́метром
Цикл с предусло́вием
Цикл с постусло́вием
Счётчик Счётчик ци́кла
📖 Теория
Цикл for (с параметром)
for счётчик := от to до do
  оператор;

// или с убыванием:
for счётчик := от downto до do
  оператор;
Цикл while (с предусловием)
while условие do
  оператор;
// Тело цикла выполняется, пока условие истинно.
Цикл repeat (с постусловием)
repeat
  оператор;
until условие;
// Тело выполняется хотя бы один раз; цикл прекращается, когда условие становится истинным.
▶ Запустить Тренажёр: цикл for — таблица квадратов

Запусти и убедись, что программа выводит квадраты чисел от 0 до 10.

ForSquares.pas
program ForSquares;
var x, y: integer;
begin
  for x := 0 to 10 do
  begin
    y := x * x;
    writeln(x, ' -> ', y);
  end;
end.
▶ Запустить Тренажёр: цикл while

Тот же результат, но с циклом while.

WhileSquares.pas
program WhileSquares;
var x, y: integer;
begin
  x := 0;
  while x <= 10 do
  begin
    y := x * x;
    writeln(x, ' -> ', y);
    x := x + 1;
  end;
end.
▶ Запустить Тренажёр: вложенные циклы — таблица умножения

Цикл внутри цикла — классический способ построить таблицу.

MultTable.pas
program MultTable;
var x, y, p: integer;
begin
  for x := 1 to 5 do
  begin
    for y := 1 to 5 do
    begin
      p := x * y;
      write(p, ' ');
    end;
    writeln;
  end;
end.
Что выведет? Тренажёр: что выведет программа?

Цикл с убыванием — обрати внимание на начальное и конечное значения.

program.pas
var i: integer;
begin
  for i := 5 downto 1 do
    writeln(i);
end.
Расставь по порядку Тренажёр: расставь строки цикла

Это цикл repeat-until, выводящий чётные числа от 0 до 10. Расставь строки в правильном порядке. Обрати внимание — что должно повторяться на каждой итерации, а что выполняется один раз.

var n: integer;
begin
n := 0;
repeat
writeln(n);
n := n + 2;
until n > 10;
end.
Заполни пропуск Тренажёр: заполни цикл

Программа должна посчитать сумму чисел от 1 до 100. Цикл for прибавляет к переменной s каждое следующее i. Подсказки в комментариях справа.

var i, s: integer;
begin
  s := 0;
  for i := 1 to  do      // введите число
    s := s  i;            // введите арифметический оператор
  writeln();                    // введите имя переменной
end.