С ПОМОЩЬЮ ПАСКАЛЯ Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня. Составить программу, определяющую, какой...
С ПОМОЩЬЮ ПАСКАЛЯ
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня.
Составить программу, определяющую, какой суммарный путь пробежал спортсмен за 7 дней.
Ответ(ы) на вопрос:
var i,k,m,s:integer;
k1,k2:real;
begin
k:=10;
m:=10;
s:=7;
k1:=k; k2:=k;
for i:=1 to s-1 do begin
k1:=k1+k1*m/100;
k2:=k2+k1;
end;
writeln(k2:0:1);
end.
Решение больше математическое получилось с выводом формулы, там уж сами выберете как вам лучше.
На каждый следующий день спортсмен пробегает в
[latex]\frac{100+10}{100} = 1.1[/latex]
большее расстояние чем в предыдущий.
Т.е. если обобщить:
[latex]S_n = 10(1.1)^{n-1}[/latex]
Расстояние, которое спортсмен пробегает каждый n-ный день.
В итоге, у нас получилась геометрическая прогрессия, где
[latex]b_1 = 10; q = 1.1[/latex]
[latex]b_n = 10(1.1)^{n-1}[/latex]
Чтобы найти сумму первых n членов геометрической прогрессии:
[latex]S_n = \frac{b1(1-q^n)}{1 - q} \\ S_7 = \frac{10(1-1.1^7)}{1 - 1.1} = \frac{-10(1.1^7-1)}{-0.1} = 100(1.1^7 - 1) [/latex]
В программе пишем:
_________________________
var
i:integer;
k:double;
begin
k:=1.1;
for i:=1 to 6 do k:=k*1.1;
writeln(100*(k-1):0:2);
end.
__________________________
Не нашли ответ?
Похожие вопросы