Регистрация
Войти
Стать экспертом Правила
Информатика

Эквивалентен ли оператор:for i :=i1 to i2 do written(ord(i ))Последовательность операторов : i :=i1;repeat written(ord(i));i :=succ(i):until i>i2Агргументируйте ответ

ОТВЕТЫ
Почти эквивалентен.
for i := i1 to i2 do writeln(ord(i)) (у вас опечатка в writeln?) выводит ord(i1), ord(i1 + 1), ord(i1 + 2), ..., ord(i2 - 1), ord(i2).

Во втором случае сначала i = i1, выводится ord(i1), и i увеличивается на 1. Так будет продолжаться до тех пор, пока i после увеличения не станет больше i2, т.е. (если всё целое) i2 + 1.

Выводы будут совпадать, но переменная i после выхода из цикла может принимать разные значения: в первом случае она равна i2, во втором i2 + 1. Однако лучше переменную цикла вне цикла не использовать, тогда никакой разницы между двумя конструкциями не будет.
210
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам