Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Ответ запишите в виде целого числа.
| Бейсик | Паскаль |
|---|---|
a = 27 b = 3 b = 2 * a / 3 * b IF a > b THEN c = a - b ELSE c = b + 2 * a ENDIF | a := 27; b := 3; b := 2 * a / 3 * b; if a > b then c := a - b else c := b + 2 * a; |
| Си++ | Алгоритмический язык |
a = 27; b = 3; b = 2 * a / 3 * b; if (a > b) c = a - b; else c = b + 2 * a; | a := 27 b := 3 b := 2 * a / 3 * b если a > b то c := a - b иначе c := b + 2 * a все |
| Python | |
a = 27 b = 3 b = 2 * a / 3 * b if a > b: c = a - b else: c = b + 2 * a;
| |
При выполнении программы необходимо помнить, что приоритет действий таков: сначала выполняются действия в скобках, затем возведение в степень, после умножение и деление, а приоритет сложения и вычитания самый низкий. Таким образом, следует отличать запись 2*a/3*b от 2*a/(3*b). В первом случае сначала двойка умножается на a, затем результат делится на 3, после чего происходит умножение на переменную b. Во втором случае сначала 3 умножается на b, затем 2 умножается на a и результат делится на произведение 3*b.
Выполним программу:
a := 27,
b := 3,
b:= 2 *a / 3 * b = 2 * 27 / 3 * 3 = 54,
Условие a > b не выполняется, поэтому далее выполним: c := b + 2 * a = 54 + 2 * 27 = 108.
Ответ: 108.


Здравствуйте.
В пояснении написано, что b:= 2 *a / 3 * b = 2 * 27 / 3 * 3 = 54. Скорее всего это опечатка,и тут вместо 54 должно быть 6.
Здравтсвуйте.
Обратите внимание, что в выражении, задающем b нет скобок, поэтому операции выполняются последовательно: сначала умножение, потом деление и потом опять умножение 2 * 27 / 3 * 3 = 54 / 3 * 3 = 18 * 3 = 54.