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

AriPanowa2005 AriPanowa2005    2   29.08.2019 01:20    0

Ответы
KowkaSдеsь KowkaSдеsь  31.08.2020 23:19
Почти эквивалентен.
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. Однако лучше переменную цикла вне цикла не использовать, тогда никакой разницы между двумя конструкциями не будет.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика