← Все вопросы

цикл for в паскале, и как сделать обратный отсчёт? downto не работает

Задан 22 месяца назад280 просмотров2 ответа
5

Делаю домашку, надо вывести числа от 5 до 1 в обратном порядке. Прямой цикл у меня работает, а обратный выводит пусто, вообще ничего.

var
  i: integer;
begin
  for i := 5 to 1 do
    writeln(i);
end.

Почему ничего не печатается? там же должно быть 5 4 3 2 1.

2 ответа

10
✓ Принятый ответ — помог автору

Тут всё просто: когда идёшь в обратную сторону, надо писать downto, а не to. С to паскаль увеличивает счётчик, а 5 уже больше 1, поэтому цикл сразу заканчивается (отсюда пусто).

var
  i: integer;
begin
  for i := 5 downto 1 do
    writeln(i);
end.

Запомни так:

  • for i := 1 to 5 — счёт вверх (1,2,3,4,5).
  • for i := 5 downto 1 — счёт вниз (5,4,3,2,1).

Если в цикле несколько команд — оберни их в begin ... end, иначе цикл повторит только первую строку.

3

downto = down to, 'вниз до'. Логично же когда поймёшь) У меня та же ошибка была на контрольной, чуть балл не потерял из-за одного слова

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект