← Все вопросы
цикл for в паскале, и как сделать обратный отсчёт? downto не работает
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, 'вниз до'. Логично же когда поймёшь) У меня та же ошибка была на контрольной, чуть балл не потерял из-за одного слова
Ваш ответ
Войдите, чтобы ответить на вопрос.