Информатика и ИКТ. 9 класс Демонстрационный вариант
2015 г.
Задача 8.В
программе знак «:=» обозначает оператор присваивания, знаки «+», «–»,
«*» и «/» – соответственно операции сложения, вычитания,
умножения и
деления. Правила выполнения операций и порядок действий
соответствуют
правилам арифметики.
Определите значение переменной a после выполнения алгоритма:
a := 6
b := 2
b := a/2*b
a := 2*a+3*b
В ответе укажите одно целое число – значение переменной a.
Ответ: ___________________________.
Решение: все
изменения происходят в памяти. Каждой переменной выделяется по одному участку,
который именуется именем переменной. Размер участка определяется типом данных.
Так как у нас выполняются действия над числами, то в участке, выделенном под
одну переменную помещается одно число. Выполняя действие присваивания помним,
что вначале вычисляется значение выражения, расположенного справа от знака
присвоить, а потом полученное значение заносится в память под именем переменной,
указанной слева от этого знака.
1) 6->a
2) 2->b
3)
6/2*2->b
4)
2*6+3*6->a
Память
Но в постановке задачи есть неоднозначность, неясно какая арифметика используется целочисленная или вещественная. После выполнения третьего оператора из-за операции деления / в зависимости от определённого языка может получиться 6 целых 0 десятых (вещественное число). А это означает, что результатом вычисления выражения в операторе 4 является 30.0.Казалось бы, что в ответ нужно записать число 30.
А как Вы понимаете, 30 и 30.0 – это два разных значения.

Комментариев нет:
Отправить комментарий