Предмет: Информатика,
автор: March30
Эквивалентен ли оператор:
for i :=i1 to i2 do written(ord(i ))
Последовательность операторов :
i :=i1;
repeat
written(ord(i));
i :=succ(i):
until i>i2
Агргументируйте ответ
Ответы
Автор ответа:
0
Почти эквивалентен.
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. Однако лучше переменную цикла вне цикла не использовать, тогда никакой разницы между двумя конструкциями не будет.
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. Однако лучше переменную цикла вне цикла не использовать, тогда никакой разницы между двумя конструкциями не будет.
Интересные вопросы
Предмет: Математика,
автор: keivor821
Предмет: Қазақ тiлi,
автор: lol9126
Предмет: Алгебра,
автор: kajfransua
Предмет: Математика,
автор: KRONK2003
Предмет: Литература,
автор: оркс