Вопрос:

Определи, что будет напечатано в ходе выполнения программы Var i, x:integer; Begin x:=2; for i:=100 to 1000 do x:= - x; write (x); End.

Ответ:

Решение:

Программа выполняет следующие действия:

  1. Объявляются две целочисленные переменные: i и x.
  2. Переменной x присваивается начальное значение 2.
  3. Запускается цикл for, который будет выполняться для i от 100 до 1000.
  4. Внутри цикла переменной x присваивается её текущее значение, умноженное на -1 (т.е. меняется знак x).
  5. Цикл выполняется 1000 - 100 + 1 = 901 раз.
  6. Поскольку цикл выполняется нечётное количество раз (901), знак переменной x изменится 901 раз.
  7. Начальное значение x равно 2. После первого изменения x станет -2, после второго — 2, и так далее.
  8. Так как количество итераций (901) — нечётное число, последнее значение x будет отрицательным.
  9. x будет меняться так: 2 → -2 → 2 → -2 → ...
  10. После 901 итерации x будет равен -2.
  11. Программа выведет значение переменной x.

Ответ: -2