Упр.152 ГДЗ Рабочая тетрадь Босова 8 класс 2016 (Информатика)
Рассмотрим вариант решения задания из учебника Босова 8 класс, Бином: 152. Продумайте алгоритм решения задачи. Впишите соответствующие команды в блок-схемы. Заполните таблицы значений переменных. а) Царевна-лягушка съедает ежедневно на 20% комаров больше, чем в предыдущий день, и ещё 2 комара. Через сколько дней количество съедаемых в день комаров превысит 30, если в первый день было съедено 12 комаров? Решение: Пусть d — номер текущего дня, k — количество комаров, съеденных в этот день. Условие Переменные k < =30 d k (целая часть) да 1 12 да 2 16 да 3 21 да 4 28 нет 5 35 Ответ: через 5 дней. б) Составьте алгоритм нахождения произведения z двух натуральных чисел x и у без использования операции умножения. Решение: Произведение чисел х и у может быть получено как сумма, состоящая из у слагаемых, каждое из которых равно х: x • у = x + x + … + x. Начальное значение z = 0. При добавлении очередного слагаемого в сумму количество слагаемых, которые ещё нужно прибавить, уменьшается на 1. Процесс суммирования продолжается, пока количество слагаемых > 0. Условие Переменные y > 0 x y z да 5 4 0 да 5 3 5 да 5 2 10 да 5 1 15 нет 5 0 20
а) Обозначим через $$d$$ номер дня, а через $$k$$ — количество комаров, съеденных в этот день. Каждый следующий день количество комаров увеличивается на $$20\%$$ и ещё на 2, то есть
$$k := k \cdot 1{,}2 + 2.$$
Начальные значения: $$d = 1$$, $$k = 12$$. Проверяем условие $$k \le 30$$ и повторяем вычисления, пока оно выполняется.
| Условие | $$d$$ | $$k$$ |
|---|---|---|
| да | 1 | 12 |
| да | 2 | 16 |
| да | 3 | 21 |
| да | 4 | 28 |
| нет | 5 | 35 |
Значит, количество съедаемых в день комаров впервые превысит 30 на 5-й день.
б) Произведение $$z$$ двух натуральных чисел $$x$$ и $$y$$ можно найти как сумму $$x$$, повторённую $$y$$ раз. Для этого сначала присваиваем $$z = 0$$, затем пока $$y > 0$$, уменьшаем $$y$$ на 1 и прибавляем $$x$$ к $$z$$.
| Условие | $$x$$ | $$y$$ | $$z$$ |
|---|---|---|---|
| да | 5 | 4 | 0 |
| да | 5 | 3 | 5 |
| да | 5 | 2 | 10 |
| да | 5 | 1 | 15 |
| нет | 5 | 0 | 20 |
начало
d := 1
k := 12
пока k <= 30
k := k * 1,2 + 2
d := d + 1
конец пока
вывод d
конец
начало
z := 0
пока y > 0
y := y — 1
z := z + x
конец пока
вывод z
конец
Ответ
а) через 5 дней; б) $$z = x \cdot y$$, алгоритм — сложение $$x$$ ровно $$y$$ раз.