Спортсмен пробегает за 1-й день n км, каждый последующий день он увеличивает норму пробега на k%. Определите через сколько дней норма пробега может стать более 32 км?
Code
var d:integer; n,k:real; begin d:= 1; write('Введите количество км, которые пробегает спортсмен за 1-й день: '); readln(n); write('Введите процент увеличения нормы пробега: '); readln(k); k:=k/100; repeat n:=n+n*k; d:=d+1; until n > 32; writeln('Через ',d,' дней норма пробега будет = 32'); end.
{Дано целое число N (> 0). Найти сумму 1 + 1/2 + 1/3 + ... + 1/N (вещественное число).}
var k,n,a:integer; s:real; begin s:= 1; a:= 1; repeat write('Введите конечное значение цикла(> 0): '); readln(n); until n > 0; for k:= 1 to n do begin a:= a+1; s:= s+1/a; end; writeln('Сумма = ', s); end.
Сообщение отредактировал -=Spektr=- - Среда, 21.12.2011, 14:51
Добавлено (21.12.2011, 20:45) --------------------------------------------- код безлаберный. лишние действия. я, если был бы учителем, ну или тем кт опринимал бы этот код, занизил бы бал на этом.
Morino_Reigan, ты всматривался в последовательность? Если знаешь как можно сделать без переменной увеличение знаменателя дроби, то поясни, но не забывай, что он учится в 9-м классе (как и я). Ну и хотелось бы знать, где там лишние действия. Зачем говорить о безалаберности кода, если ты даже не смог понять предназначение переменной "а"?
Хотя да, там даже не правильно. I'm sorry. Правильный код:
Code
var k,n:integer; s:real; begin s:= 1; repeat write('Введите конечное значение цикла(> 0): '); readln(n); until n > 0; for k:= 2 to n do s:= s+1/k; writeln('Сумма = ', s); end.
Сообщение отредактировал -=Spektr=- - Среда, 21.12.2011, 23:06
опять нелепость. почему с 2ух начало отсчета? надо с 1 .
Вот тут уже всё правильно. Знаменатель дроби начинается с 2-х, так что и начальное значение цикла 2, т.к. для знаменателя я использую счётчик. Пример: 1+1/2+1/3+1/4 = 2,08(3) Такой же ответ получается и в программе.
Quote (Morino_Reigan)
S:=S+1/n;
Вот это уже точно не правильно Например, n = 5. Последовательность будет выглядеть следующим образом: 1+1/5+1/5+1/5+1/5+1/5 Ну а в задание:
Quote (DiSE)
1 + 1/2 + 1/3 + ... + 1/N
Кстати, DiSE, ты кое что обещал
Сообщение отредактировал -=Spektr=- - Четверг, 22.12.2011, 20:52