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

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

Информатика (81 баллов) | 102 просмотров
0

var i:integer; n,s:real;beginn:=10;for i:=1 to 7 do begin s:=s+n; n:=n*1.1 end;writeln('Путь: ',s)end.

Дано ответов: 2
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.
__________________________


(1.2k баллов)
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.

(822 баллов)
0

программа выдаёт ответ с округлением до 1 знака после запяткой.