• Предмет: Информатика
  • Автор: NasAnishenko777
  • Вопрос задан 9 лет назад

С ПОМОЩЬЮ ПАСКАЛЯ                           
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня.
Составить программу, определяющую, какой суммарный путь пробежал спортсмен за 7 дней.

Ответы

Ответ дал: oOkriOo
0
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.

Ответ дал: oOkriOo
0
программа выдаёт ответ с округлением до 1 знака после запяткой.
Ответ дал: thn
0
Решение больше математическое получилось с выводом формулы, там уж сами выберете как вам лучше.
На каждый следующий день спортсмен пробегает в
frac{100+10}{100} = 1.1
большее расстояние чем в предыдущий.
Т.е. если обобщить:
S_n = 10(1.1)^{n-1}
Расстояние, которое спортсмен пробегает каждый n-ный день.
В итоге, у нас получилась геометрическая прогрессия, где
b_1 = 10; q = 1.1
b_n = 10(1.1)^{n-1}
Чтобы найти сумму первых n членов геометрической прогрессии:
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)
В программе пишем:
_________________________
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.
__________________________


Вас заинтересует