Задание 8 Параграф 19 ГДЗ Семакин 8 класс (Информатика)
Пользуясь ограничениями предыдущей задачи, напишите наиболее короткие алгоритмы вычисления выражений: $$у=х^8$$; $$у=х,а$$; $$у=х^{15}$$; $$у=х^{19}$$. Постарайтесь использовать минимальное количество дополнительных переменных. Выполните трассировку алгоритмов.
Чтобы получить нужные степени, удобно каждый раз использовать уже вычисленное значение и умножать его само на себя или на $$x$$. Тогда число дополнительных переменных минимально: достаточно одной переменной $$y$$.
1) $$y=x^8$$
ввод x
y:=x*x ($$x^2$$)
y:=y*y ($$x^4$$)
y:=y*y ($$x^8$$)
вывод y
Трассировка при $$x=2$$:
| Команда | x | y |
|---|---|---|
| ввод x | 2 | — |
| y:=x*x | 2 | 4 |
| y:=y*y | 2 | 16 |
| y:=y*y | 2 | 256 |
| вывод y | 256 |
2) $$y=x^{10}$$
ввод x
y:=x*x ($$x^2$$)
y:=y*y ($$x^4$$)
y:=y*x ($$x^5$$)
y:=y*y ($$x^{10}$$)
вывод y
Трассировка при $$x=2$$:
| Команда | x | y |
|---|---|---|
| ввод x | 2 | — |
| y:=x*x | 2 | 4 |
| y:=y*y | 2 | 16 |
| y:=y*x | 2 | 32 |
| y:=y*y | 2 | 1024 |
| вывод y | 1024 |
3) $$y=x^{15}$$
ввод x
y:=x*x ($$x^2$$)
y:=y*x ($$x^3$$)
y:=y*y ($$x^6$$)
y:=y*x ($$x^7$$)
y:=y*y ($$x^{14}$$)
y:=y*x ($$x^{15}$$)
вывод y
Трассировка при $$x=2$$:
| Команда | x | y |
|---|---|---|
| ввод x | 2 | — |
| y:=x*x | 2 | 4 |
| y:=y*x | 2 | 8 |
| y:=y*y | 2 | 64 |
| y:=y*x | 2 | 128 |
| y:=y*y | 2 | 16384 |
| y:=y*x | 2 | 32768 |
| вывод y | 32768 |
4) $$y=x^{19}$$
ввод x
y:=x*x ($$x^2$$)
y:=y*y ($$x^4$$)
y:=y*y ($$x^8$$)
y:=y*x ($$x^9$$)
y:=y*y ($$x^{18}$$)
y:=y*x ($$x^{19}$$)
вывод y
Трассировка при $$x=2$$:
| Команда | x | y |
|---|---|---|
| ввод x | 2 | — |
| y:=x*x | 2 | 4 |
| y:=y*y | 2 | 16 |
| y:=y*y | 2 | 256 |
| y:=y*x | 2 | 512 |
| y:=y*y | 2 | 262144 |
| y:=y*x | 2 | 524288 |
| вывод y | 524288 |
Ответ
Наиболее короткие алгоритмы получены для выражений $$x^8$$, $$x^{10}$$, $$x^{15}$$ и $$x^{19}$$; трассировка при $$x=2$$ даёт соответственно $$256$$, $$1024$$, $$32768$$ и $$524288$$.



