Упр.3.67 ГДЗ Сборник упражнений Босова 7-9 класс (Информатика)
В первый час работы рабочий изготавливает $$a$$ деталей, за каждый последующий час — на $$d$$ деталей больше, чем за предыдущий. Разработайте программу, которая подсчитывает, сколько деталей изготовил рабочий за $$k$$ часов работы. Зафиксируйте свои действия на каждом из этапов решения задачи.
Рассмотрим два способа решения: по формуле суммы арифметической прогрессии и с помощью цикла. Для программы удобнее использовать цикл.
Ход решения
За первый час рабочий изготавливает $$a$$ деталей, за каждый следующий час — на $$d$$ деталей больше. Значит, количество деталей по часам образует арифметическую прогрессию:
$$a,\ a+d,\ a+2d,\ \dots,\ a+(k-1)d$$
Тогда общее число деталей за $$k$$ часов можно найти по формуле суммы арифметической прогрессии:
$$N=\frac{(2a+d(k-1))\cdot k}{2}$$
Но можно решить и циклом: в каждом часе прибавлять к сумме количество деталей за текущий час, а затем увеличивать это количество на $$d$$.
Алгоритм:
- ввести $$a$$, $$d$$, $$k$$;
- присвоить $$N:=0$$;
- пока $$k>0$$, выполнять:
- $$N:=N+a$$;
- $$a:=a+d$$;
- $$k:=k-1$$;
- вывести $$N$$.
Программа
program Z67;
var a, d, k, N: integer;
begin
write(‘Введи через пробел a, d, k > ‘);
readln(a, d, k);
N := 0;
repeat
N := N + a;
a := a + d;
k := k — 1;
until k = 0;
writeln(‘Количество деталей = ‘, N);
end.
Проверка
| № | $$a$$ | $$d$$ | $$k$$ | Результат работы программы |
|---|---|---|---|---|
| 1 | 10 | 0 | 2 | 20 |
| 2 | 10 | 1 | 2 | 21 |
| 3 | 5 | 1 | 4 | 26 |
Ответ
При $$a=15$$, $$d=3$$, $$k=8$$ получаем:
$$N=\frac{(2\cdot 15+3\cdot(8-1))\cdot 8}{2}=\frac{(30+21)\cdot 8}{2}=204$$
204





