Задача: Ниже приведен фрагмент программы. Какое число будет выведено на экран?
a := 5; b := 3; write(a + b); a := a * b;
Решение:
Давайте пошагово проследим за выполнением программы и изменением значений переменных.
Шаг 1: a := 5;
Переменной a присваивается значение 5.
Текущие значения переменных:
a = 5b(значение пока не определено)
Шаг 2: b := 3;
Переменной b присваивается значение 3.
Текущие значения переменных:
a = 5b = 3
Шаг 3: write(a + b);
Эта команда выводит на экран сумму текущих значений переменных a и b.
Вычисляем: 5 + 3 = 8.
На экран будет выведено число 8.
Текущие значения переменных после вывода:
a = 5b = 3
Шаг 4: a := a * b;
Это означает, что новое значение переменной a будет равно произведению текущих значений a и b.
Вычисляем: 5 * 3 = 15.
Теперь переменной a присваивается значение 15.
Текущие значения переменных:
a = 15b = 3
Однако, после этого шага нет команды write, поэтому это новое значение a не будет выведено на экран.
Единственная команда write находится на шаге 3, и она выводит 8.
Ответ: 8
Объяснение для тетради:
1. Сначала переменной a присваивается значение 5.
2. Затем переменной b присваивается значение 3.
3. На следующей строке программа выводит на экран сумму текущих значений a и b. Это будет 5 + 3 = 8.
4. Только после этого, на последней строке, значение переменной a изменяется. Оно становится равным произведению текущих значений a и b. То есть, a = 5 * 3 = 15. Но это новое значение a уже не выводится на экран, так как нет соответствующей команды write после этого изменения.
Поэтому на экран будет выведено только число 8.
