Домашние задания: Информатика

Помогите с контрольной срочно!

1.Чему будет равно значение переменной с в результате выполнения серии операторов. Запишите решение и ответ:
x:=8+2*5
y:=(x mod 10)+14
x:=(y div 10)+3
c:=x-у
Решение тут по строкам. Т.е. сперва вычисляется x:=8+2*5, затем y:=(x mod 10)+14, затем x:=(y div 10)+3 ну и, наконец, c:=x-у. Знак ":=" человеком читается как просто "=".

Итак:
1) x:=8+2*5 - получаем, что x=8+2*5=8+10=18 (не забываем, что сперва выполняется умножение!). Запоминаем значение x.
2) y:=(x mod 10)+14 - mod - это остаток от деления, div - целое число при делении. Сюда подставляем полученное выше значение x (т.е. 18). Итого (опять же, деление выполняется раньше, чем сложение с вычитанием): y=(x mod 10)+14=(18/10)+14={18/10=1,8, но нам нужен остаток (т.е. число после запятой), поэтому 18 mod 10=8}=8+14=22 (опять же, запоминаем).
3) x:=(y div 10)+3 - здесь у x будет новое значение, полученное в результате вычисления. По аналогии подставляем y (т.е. 22). Итого: x=(y div 10)+3=(22/10)+3=2+3=5 (т.к. 22/10=2,2, но нам здесь нужна левая двойка, т.е. которая слева от запятой). Внимание: у нас новое значение x - про старое (которое было 18) забываем! Теперь у нас x=5.
4) Ну и, наконец, вычисляем значение c. c:=x-y, т.е. c=x-y=5-22=(-17).
Ответ: -17.
Яна Шестакова
Яна Шестакова
43 559
Лучший ответ
x = 8 + 2*5 = 18
y = ( 18 mod 10 ) + 14 = 8 + 14 = 22
x = (22 div 10) + 3 = 2 + 3 = 5
c = 5 - 22 = - 17