Упр.67 ГДЗ Рабочая тетрадь Босова 9 класс (Информатика)
Рассмотрим вариант решения задания из учебника Босова 9 класс, Просвещение: 67. B первый час работы рабочий изготавливает а деталей, за каждый последующий час — на d деталей больше, чем за предыдущий. Разработайте программу, которая подсчитает, сколько деталей изготовил рабочий за k часов работы. Зафиксируйте свои действия на каждом из этапов решения задачи. Первый этап Исходные данные: a – количество деталей за первый час работы; d – приращение количества деталей каждый час; k – количество часов работы. Требуется найти: N – количество деталей, изготовленных за k часов работы. Второй этап Количества деталей каждый час, после 1 часа работы: a = a+d Есть два способа решения данной задачи: а) воспользоваться формулой суммы арифметической прогрессии – алгоритм без цикла; б) выполнить вычисления с использованием цикла. Далее, разработаем алгоритм с циклом. Третий этап Четвертый этап program tt; 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 = 15, d = 3, k = 8 N = 204
Количество деталей, изготовленных за каждый час, образует арифметическую прогрессию:
$$a,\ a+d,\ a+2d,\ \dots,\ a+(k-1)d$$
Тогда общее количество деталей за $$k$$ часов равно сумме первых $$k$$ членов арифметической прогрессии:
$$N=\frac{(2a+d(k-1))}{2}\cdot k$$
Можно также найти результат с помощью цикла, последовательно прибавляя количество деталей за каждый час.
program Z1;
var a, d, k, N: integer;
begin
readln(a, d, k);
N := 0;
repeat
N := N + a;
a := a + d;
k := k — 1;
until k = 0;
writeln(N);
end.
Проверим по формуле при $$a=15$$, $$d=3$$, $$k=8$$:
$$N=\frac{(2\cdot 15+3\cdot(8-1))}{2}\cdot 8=\frac{(30+21)}{2}\cdot 8=\frac{51}{2}\cdot 8=204$$
Ответ
$$N=204$$