B2 Ответы и решения
B2.1 ( ege.yandex.ru - 1) Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования):
Бейсик | Паскаль |
a = 30 b = 6 a = a / 5 * b IF a > b THEN c = a - 4 * b ELSE c = a + 4 * b ENDIF | a := 30; b := 6; a := a / 5 * b; if a > b then c := a - 4 * b else c := a + 4 * b; |
Си | Алгоритмический |
a = 30; b = 6; a = a / 5 * b; if (a > b) c = a - 4 * b; else c = a + 4 * b; | a := 30 b := 6 a := a / 5 * b если a > b то c := a - 4 * b иначе c := a + 4 * b все |
Решение: После присваивания a = a / 5 * b, значение a станет равным
30 / 5 * 6 = (30 / 5) * 6 = 36.
Значение выражения a > b – истина, поэтому в условном операторе будет выполнен вариант THEN (то) т.е. присваивание c = a - 4 * b. При этом значение c станет равным 36 - 4*6 = 36 - (4*6) = 36 – 24 = 12.
Ответ: 12
B2.2 ( ege.yandex.ru-2) Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования):
Бейсик | Паскаль |
a = 30 b = 6 a = a / 3 * b IF a > b THEN c = a - 5 * b ELSE c = a + 5 * b ENDIF | a := 30; b := 6; a := a / 3 * b; if a > b then c := a - 5 * b else c := a + 5 * b; |
Си | Алгоритмический |
a = 30; b = 6; a = a / 3 * b; if (a > b) c = a - 5 * b; else c = a + 5 * b; | a := 30 b := 6 a := a / 3 * b если a > b то c := a - 5 * b иначе c := a + 5 * b все |
Решение: После присваивания a = a / 3 * b, значение a станет равным
30 / 3 * 6 = (30 / 3) * 6 = 60.
Значение выражения a > b – истина, поэтому в условном операторе будет выполнен вариант THEN (то) т.е. присваивание c = a - 5 * b. При этом значение c станет равным 60 - 5*6 = 60 - (5*6) = 60-30 = 30.
Ответ: 30
B2.3 ( ege.yandex.ru-3) Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования):
Бейсик | Паскаль |
a = 60b = 20 a = a / b * 2 IF a > b THEN c = a - 4 * b ELSE c = a + 4 * b ENDIF | a := 60;b := 20; a := a / b * 2; if a > b then c := a - 4 * b else c := a + 4 * b; |
Си | Алгоритмический |
a = 60; b = 20; a = a / b * 2; if (a > b) c = a - 4 * b; else c = a + 4 * b; | a := 60 b := 20 a := a / b * 2 если a > b то c := a - 4 * b иначе c := a + 4 * b все |
Решение: После присваивания a = a / b * 2, значение a станет равным
60 / 20 * 2 = (60 / 20) * 2 = 3*2=6.
Значение выражения a > b – ложь, поэтому в условном операторе будет выполнен вариант ELSE (иначе) т.е. присваивание c = a + 4 * b. При этом значение c станет равным 6 + 4*20 = 6 + (4*20) = 6 + 80 = 86.
Ответ: 86
B2.4 ( ege.yandex.ru-4) Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования):
Бейсик | Паскаль |
a = 30 b = 10 a = a - b * 2 IF a > b THEN c = a * 4 * b ELSE c = a * 4 / b ENDIF | a := 30; b := 10; a := a - b * 2; if a > b then c := a * 4 * b else c := a * 4 / b; |
Си | Алгоритмический |
a = 30; b = 10; a = a - b * 2; if (a > b) c = a * 4 * b; else c = a * 4 / b; | a := 30 b := 10 a := a - b * 2 если a > b то c := a * 4 * b иначе c := a * 4 / b все |
Решение: После присваивания a = a – b*2, значение a станет равным
30 – 10*2 = 30 – (10*2) = 30-20 = 10.
Значение выражения a > b – ложь, поэтому в условном операторе будет выполнен вариант ELSE (иначе) т.е. присваивание c = a * 4 / b. При этом значение c станет равным 10 *4/10 = (10 *4) / 10 = 40 / 10 = 4.
Ответ: 4
B2.5 ( ege.yandex.ru-5) Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования):
Бейсик | Паскаль |
a = 50 b = 10 a = a / b * 2 IF a > b THEN c = a - 4 * b ELSE c = a + 4 * b ENDIF | a := 50; b := 10; a := a / b * 2; if a > b then c := a - 4 * b else c := a + 4 * b; |
Си | Алгоритмический |
a = 50; b = 10; a = a / b * 2; if (a > b) c = a - 4 * b; else c = a + 4 * b; | a := 50 b := 10 a := a / b * 2 если a > b то c := a - 4 * b иначе c := a + 4 * b все |
Решение: После присваивания a = a / b*2, значение a станет равным
50 / 10*2 = (50/10) * 2 = 5*2 = 10.
Значение выражения a > b – ложь, поэтому в условном операторе будет выполнен вариант ELSE (иначе) т.е. присваивание c = a + 4 * b. При этом значение c станет равным 10 + 4* 10 = 10 + (4*10) = 10 + 40 = 50.
Ответ: 50
B2.6. Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования):
Бейсик | Паскаль |
a = 50 b = 10 a = a / b * 2 IF a >= b THEN c = (a – b)*(a + b) ELSE c = a + 4 * b ENDIF | a := 50; b := 10; a := a / b * 2; if a >= b then c := (a – b)*(a + b); else c := a + 4 * b; |
Си | Алгоритмический |
a = 50; b = 10; a = a / b * 2; if (a >= b) c = (a – b)*(a + b); else c = a + 4 * b; | a := 50 b := 10 a := a / b * 2 если a >= b то c := (a – b)*(a + b) иначе c := a + 4 * b все |
Решение: После присваивания a = a / b*2, значение aстанет равным
50 / 10*2 = (50/10) * 2 = 5*2 = 10.
Значение выражения a >= b – истина, поэтому в условном операторе будет выполнен вариант THEN (то) т.е. присваивание c = (a – b)*(a + b). При этом значение c станет равным (10 -10)*(10+10) = 0*20=0.
Ответ: 0
6 комментариев
nfl highlights week 11 https://www.withjersey.com cheap jerseys
b2.1
c := a — 4 * b
Компьютер не знает последовательность вычисления.... вначале он вычтет 4 потом умножит на b..... если (4*б) не выделено скобками.....
КТО ПИШЕТ ЭТИ ТЕСТЫ???
1. Тест написал я.
2. Смысл твоего замечания - не понял. Компилятор (программа, которая анализирует текст на языке программирования, компьютер здесь ни при чем), конечно, знает порядок выполнения действий.
3. Если чего непонятно - задавай четкие вопросы.
Успехов!
Спасибо за четкий разбор)))
Спасибо вам большое. Все очень доступно и понятно. Продолжайте в том же духе...
Спасибо! Рады стараться! 🙂