Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/48: Рейтинг темы: голосов - 48, средняя оценка - 4.58
 Аватар для Galadriel1987
2 / 2 / 1
Регистрация: 23.03.2013
Сообщений: 60

Определить, через сколько дней спортсмен будет пробегать больше 20 км

15.10.2015, 18:01. Показов 9726. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Я бы хотела решить задачу про спортсмена, пробегавшего 10 километров во время тренировок.
Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня.Через сколько дней спортсмен будет пробегать больше 20 км? 100 км? Сколько он пробежал на 7 день?

Итак:

Если 10 дней - это 100 процентов, то 10 процентов от 10 километров - 1 километр ((10/100)*10=1). Значит, нужно прибавлять к 10 единицу до тех пор, пока не получится 100 (типа так: 10+1=11; 11+1=12; 12+1=13 и так далее).
В Excel у меня получилось, что 20 километров он пробежит за 11 дней;
100 километров он пробежит за 91 день.
на 7 день (не путать с суммарным пробегом, представленным на форуме) он пробежит (получается, обратное условие от последних двух примеров) - 16 километров.

Проблема в том, что я не знаю, как это выразить в паскаль. Я составила программу, но ошиблась и она показывает не 91 день, а 100 дней.

Помогите составить программу в Паскаль:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
program SportA;
var d:integer;
s, p:real;
begin
s:=10;
p:=1;
while s<100 do
begin
s:=s+1;
end;
writeln('100 километров будет через - ', s:3:3);
readln;
end.
Заранее спасибо!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.10.2015, 18:01
Ответы с готовыми решениями:

Через сколько дней спортсмен будет пробегать больше 20 км, увеличивая дневные тренировки на 10%?
Начав тренировки,спортсмен в первый день пробежал 10 км.Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего...

Определить, через сколько дней спортсмен будет пробегать больше 20 км
Начав тренировки,спортсмен в первый день пробежал 10 км.Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего...

Вычислить через сколько дней спортсмен будет бежать 20 км
В первый день подготовки спортсмен бежит 10 км. И каждый день, так как это увеличивает нагрузку двух ежедневных 10% от расстояния...

10
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.10.2015, 18:24
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var d,k:integer;
    s,p:real;
begin
p:=10; //норма в 1й день
s:=10; //путь за 1 день
d:=1;//1 день
k:=0;//20 еще не пробежал
while s<=100 do
 begin
  d:=d+1;
  p:=p*1.1;
  s:=s+p;
  if d=7 then writeln('На седьмой день пробежит ',p:0:3,' км');
  if(s>=20)and(k=0)then
   begin
    writeln('20 км пробежит за ',d,' дн. s=',s:0:3,' км');
    k:=1;
   end;
 end;
writeln('100 километров пробежит за ',d,' дн. s=',s:0:3);
end.
1
 Аватар для Galadriel1987
2 / 2 / 1
Регистрация: 23.03.2013
Сообщений: 60
15.10.2015, 18:43  [ТС]
Как можно пробежать за 2 дня 21 километр? почти на 100% больше? (если в 1 день пробежал всего 10?).
На седьмой день - скорее всего, правильно - 17.716, хотя у меня получается 16.
Как можно за 8 дней пробежать 100 километров (вы посчитали скорее всего, сумму пробега - 1 день+2 день, то есть 10+11+12 и так далее).

Но за ответ спасибо, может, по колдую и придумаю как переделать.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.10.2015, 18:51
Лучший ответ Сообщение было отмечено Galadriel1987 как решение

Решение

В первый 10, во второй на 10% больше=11, всего 21.

Добавлено через 1 минуту
Цитата Сообщение от Galadriel1987 Посмотреть сообщение
он увеличивал дневную норму на 10% от нормы предыдущего дня
Вот и посчитайте по сколько он пробегал в 1,2,3,..8 день.

Добавлено через 4 минуты
Вот так напишите, может понятнее будет.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var d,k:integer;
    s,p:real;
begin
p:=10; //норма в 1й день
s:=10; //путь за 1 день
d:=1;//1 день
k:=0;//20 еще не пробежал
writeln('Пробежал в 1 день 10 км, всего=10 км');
while s<=100 do
 begin
  d:=d+1;
  p:=p*1.1;
  s:=s+p;
  writeln('Пробежал в ',d,' день ',p:0:2,' км, всего=',s:0:2,' км');
  if d=7 then writeln('На седьмой день пробежит ',p:0:3,' км');
  if(s>=20)and(k=0)then
   begin
    writeln('20 км пробежит за ',d,' дн. s=',s:0:3,' км');
    k:=1;
   end;
 end;
writeln('100 километров пробежит за ',d,' дн. s=',s:0:3);
end.
1
 Аватар для Galadriel1987
2 / 2 / 1
Регистрация: 23.03.2013
Сообщений: 60
15.10.2015, 19:07  [ТС]
Так и не поняла, откуда там дробные числа, если все исходные данные - целые?

Вот полный текст задания:

Спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал норму на 10% от нормы предыдущего дня.
а) Определить через сколько дней спортсмен пробежит суммарный путь более 100 км.
б) Определить через сколько дней спортсмен будет пробегать более 20 км.
в) Какой путь пробежит спортсмен на 7-й день.

Как видите, в в) отсутствует слово суммарный, он только в 1 варианте (где 100). Остальное все берется отдельно, никаких сумм.
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
15.10.2015, 19:35
Цитата Сообщение от Galadriel1987 Посмотреть сообщение
Так и не поняла, откуда там дробные числа
Процент, девочка, это и есть дробь.
Вот было 10. Добавилось 10%, то есть 1. Стало 11.
А потом 10% от 11 будет уже 1,1. И станет 11+1,1=12,1
А дальше вообще одни дроби пойдут.
1
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.10.2015, 19:40
Уж сколько раз зарекался не иметь дело с блондинками, ан нет, опять прокололся...
1
 Аватар для Galadriel1987
2 / 2 / 1
Регистрация: 23.03.2013
Сообщений: 60
15.10.2015, 20:47  [ТС]
Спасибо! Понятно! Глядишь, скоро в математике разбираться буду
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,905
Записей в блоге: 12
15.10.2015, 22:54
Варвар-почемучка снова почемучит! Геометрическая прогрессия. Там и формула для n-го члена и формула суммы первых n членов.
1) вычисление количества членов по сумме геом. прогрессии. С округлением в большую сторону.
2) определение номера члена прогрессии по его значению.
3) значение 7-го члена прогрессии

Добавлено через 24 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program GP;
 
const
  b1 = 10.0;
  q  = 1.1;
 
  function power(a, b: real): real;
  begin
    power := exp(b * ln(a));
  end;
 
var
  n: integer;
begin
  n := trunc(1 + ln(1 - 100 * (1 - q) / b1) / ln(q));
  writeln('1. Через ', n, ' дней спортсмен пробежит суммарный путь более 100 км.');
  n := trunc(1 + 1 + (ln(20 / b1) / ln(q)));
  writeln('2. Через ', n, ' дней спортсмен будет пробегать более 20 км.');
  writeln('3. На 7-й день спортсмен пробежит ', b1 * power(q, 6): 0: 1, ' км');
end.
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
15.10.2015, 23:01
ФедосеевПавел, представь себе результат своей работы: эта восьмиклассница (а задачку эту разбирают в 8 классе, пройдя цикл while) сейчас начнёт читать твоё решение. Угадай с трёх раз, поймёт она в нём хотя бы одну строчку?
Геометрическую прогрессию проходят классе в 10-м, логарифмы в 11-м. Функции в паскале вообще в школе могут не проходить.
Простое решение Пупорев уже выложил.
Или тебе самоутвердиться надо было?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,905
Записей в блоге: 12
16.10.2015, 00:21
Указаний на while не было.

Многие люди не помнят или не осознают изученный материал (например, прогрессии или проценты), поэтому допустимо напомнить о существующем другом подходе. Если же что-то непонятно и будет изучаться позже, то пример по-проще уже есть.

Нет не самоутвердится.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.10.2015, 00:21
Помогаю со студенческими работами здесь

Через сколько дней спортсмен будет пробегать больше у км
Начав тренировки, спортсмен в первый день пробежал х км. Каждый следующий день он увеличивал норму на 10 % от предыдущего дня. Через...

Циклы: определить, через сколько дней спортсмен пробежит суммарный путь больше 100 км
Спортсмен в первый день пробежал 10 км. Каждый соедующий день он увеличивал дневную норму на 10% от результата предыдущего дня. Найти через...

Зачетная программа: определить, через сколько дней норма пробега будет больше 50 км
спортсмен пробежал за 1 день N км каждый день он увеличевал нагрузку на K% определить через сколько дней норма пробега будет больше 50 км

Определить через сколько дней спортсмен пробежит суммарный путь более N км
Имя входного файла z261.in Имя выходного файла z261.out Спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал...

Определить через сколько дней спортсмен пробежит суммарный путь более 100 км
8. Спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал норму на 10% от нормы предыдущего дня. а) Определить через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru