Упр.156 ГДЗ Рабочая тетрадь Босова 8 класс 2016 (Информатика)
Старинный русский математический сюжет «Мужик и чёрт» гласит: при каждом переходе через волшебный мост мужик, имеющий $$b$$ рублей, удваивает эту сумму за счёт капитала чёрта ($$a$$ рублей), стерегущего этот мост, после чего он должен уплатить чёрту дань в размере $$c$$ рублей. Процесс этот продолжается до полного разорения одного из участников.
Впишите недостающие команды в блок-схему.
Выполните алгоритм при заданных исходных данных. Сколько в каждом случае будет совершено переходов ($$k$$) моста?
| $$a$$ | $$b$$ | $$c$$ |
|---|---|---|
| 20 | 10 | 11 |
| 21 | 9 | 11 |
| 23 | 7 | 11 |
| 27 | 3 | 11 |
| 35 | −5 | 11 |
| $$a$$ | $$b$$ | $$c$$ |
|---|---|---|
| 20 | 11 | 10 |
| 19 | 12 | 10 |
| 17 | 14 | 10 |
| 13 | 18 | 10 |
| −5 | 36 | 10 |
| $$a$$ | $$b$$ | $$c$$ |
|---|---|---|
| 20 | 12 | 16 |
| 24 | 8 | 16 |
| 32 | 0 | 16 |
| $$a$$ | $$b$$ | $$c$$ |
|---|---|---|
| 20 | 12 | 12 |
В блок-схеме нужно восстановить команды по смыслу сюжета:
- сначала вводятся значения $$a, b, c$$;
- счётчик переходов начинается с $$k := 1$$;
- после каждого перехода у мужика сумма удваивается за счёт чёрта: $$b := 2 \cdot b$$;
- затем мужик платит дань: $$a := a — b$$;
- если $$a \le 0$$, то у чёрта 0;
- иначе чёрт отдаёт дань: $$b := b — c$$;
- затем мужик получает её обратно: $$a := a + c$$;
- если $$b \le 0$$, то у мужика 0;
- иначе увеличивается число переходов: $$k := k + 1$$ и цикл повторяется.
Поэтому в блок-схеме недостающие команды такие:
a, b, c
k := 1
b := 2*b
a := a — b
b := b — c
a := a + c
k := k + 1
вывод k
Проверим выполнение алгоритма для данных из таблиц.
| a | b | c | k |
|---|---|---|---|
| 20 | 10 | 11 | 1 |
| 21 | 9 | 11 | 2 |
| 23 | 7 | 11 | 3 |
| 27 | 3 | 11 | 4 |
| 35 | -5 | 11 | 4 |
| a | b | c | k |
|---|---|---|---|
| 20 | 11 | 10 | 1 |
| 19 | 12 | 10 | 2 |
| 17 | 14 | 10 | 3 |
| 13 | 18 | 10 | 4 |
| -5 | 36 | 10 | 4 |
| a | b | c | k |
|---|---|---|---|
| 20 | 12 | 16 | 1 |
| 24 | 8 | 16 | 2 |
| 32 | 0 | 16 | 2 |
| a | b | c | k |
|---|---|---|---|
| 20 | 12 | 12 | 1 |
| 20 | 12 | 12 | 2 |
| 20 | 12 | 12 | 3 |
В последнем случае значения не меняются, поэтому процесс не заканчивается и происходит зацикливание.
Ответ
Недостающие команды: a, b, c; k := 1; b := 2*b; a := a — b; b := b — c; a := a + c; k := k + 1; вывод k.
Для первых трёх наборов данных: k = 4, 4, 2. Для четвёртого набора — зацикливание, бесконечный процесс.



