Рассмотрим с вами следующий фрагмент кода: a:=11; b:=a div 3; a:=a-b; if a*b mod 2 = 0 then writeln(a*b) else writeln(b-a); Какими будут значения переменных a и b после выполнения этой последовательности операторов? Что будет выведено на экран?
Ответы
Ответ:
значение a: 8
значение b: 3
выведено на экран: 24
Объяснение:
a = 11
b = a div 3 = 11 div 3 = 3 (подставляем значение переменной a и вычисляем)
a = a - b = 11 - 3 = 8 (подставляем значение переменной a и переменной b и вычисляем)
если условие a * b mod 2 = 0 истинное (остаток от деления произведения переменных a и b на 2 равен 0, т.е. произведение переменных a и b является чётным числом)
то writeln(a * b) - выводим на экран произведение переменных a и b
иначе (если условие ложное, , т.е. произведение переменных a и b является нечётным числом) writeln(b - a) - выводим на экран разность переменных b и a
a = 8
b = 3
a * b = 8 * 3 = 24
24 mod 2 = 0 - условие истинное (число 24 чётное)
выводим на экран: 24 (произведение переменных a и b)
div - целочисленное деление
mod - остаток от целочисленного деления
11 / 3 = 3,(6)
11 div 3 = 3
11 mod 3 = 11 - 3 * 3 = 11 - 9 = 2