Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Математическая задача

Ответить
Настройки темы
C/C++ - Математическая задача

Пользователь


Сообщения: 76
Благодарности: 1

Профиль | Отправить PM | Цитировать


Суть вот в чем.с клавиатуры вводится путь S, скорость на такси -V1,скорость пешком V2.так же вводится обшее время пути t и стоимость р1-рублей за километр на такси.необходимо расчитать как выгоднее преодолеть путь,чтобы получились минимальные затраты.если двигаться пешком то затрат нет,оплачивается только поездка на такси.язык может быть си или паскаль,но не делфи.

Отправлено: 00:17, 01-10-2009

 
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Цитата pirojok750:
Суть вот в чем.с клавиатуры »
будем надеяться, что в этой фразе зашифровано "здравствуйте мною глубокоуважаемые обитатели форума, да восхвалится имя ваше..."
В чём возникли проблемы при решении задачи? в математике или в кодировании? что сделано самостоятельно?
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:08, 01-10-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


pirojok750, говорю полностью от своего имени.
Данная задача может быть предложена на первом(втором "условия и циклы") лаб. занятии по программированию. Где в первую очередь необходимо написать мат. модель, а затем ее запрограммировать.
Полностью решать от и до, я не буду. В лучшем случае, задам наводящий вопрос.
Заодно прошу всех, далее отвечающих, не расписывать решение задачи полностью. А лишь задавать вопросы, без вариантов ответа.
У меня самого группа в 20 студентов.
pirojok750, пишите, рассуждайте в слух, задавайтесь числами, решайте на примерах, потом выводите общий случай.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:08, 01-10-2009 | #3


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


pirojok750, Задачка не трудная, нужно её разбаить на ряд отдельных подзадач:

1. Решение чисто математическое, с учётом формул.
2. Составление псевдокода. (обычный текст, но понятный где, как и откуда что вычислять.)
3. Перевод псевдокода в нужный язык программирования.

Например часть псевдокода:
Цитата pirojok750:
с клавиатуры вводится путь S, скорость на такси -V1,скорость пешком V2 »
Определение количества переменных: Определяем нужное кол-во переменных и объявляем их.
Ввод данных: Предлагаем пользователю ввести их и сохраняем считаные значения в переменные.
Расчёт: Условия\Формулы вычисления

Прикольная постановка задачи:
Цитата pirojok750:
если двигаться пешком то затрат нет,оплачивается только поездка на такси. »
Причём оплата поездки на такси, при ходьбе пешком? Мне кажется или точки\запятые расставлены не там где надо или формулировка должна быть несколько иной.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:55, 01-10-2009 | #4


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Цитата Drongo:
Определение количества переменных: Определяем нужное кол-во переменных и объявляем их.
Ввод данных: Предлагаем пользователю ввести их и сохраняем считаные значения в переменные.
Расчёт: Условия\Формулы вычисления »
Все это выплывает из формул.

Привожу кусок моего письма старосте группы.

Привожу пример тебе, задачу решали вместе с <student_name>
Любимая задача Коли Сорокина из мультика. Она же приведена одной из первых в сборнике задач по физике под ред. Гольдфарба.

Из пункта А в пункт Б вышел товарный поезд со скоростью V1,
в тоже время на встречу ему из пункта Б вышел курьерский поезд со скоростью V2.
Найти расстояние от пункта А до места встречи поездов.

Дано:
V1, V2: скорость поездов (км/ч)
L : расстояние между пунктами А и Б (км)
---------
Найти
AC. (С - место встречи)

Решение:
Очевидно скорость сближения равна
V = V1 + V2 (1)
Время в пути
t=L/V (2)
AC = V1*t (3)
В необъязательном развернутом виде
V1 * L
AC = ------------ (3')
(V1 + V2)

Все, задача решена. У нас есть формула, подставляя значения в которую мы можем найти все, что нам требуется.
(Можно конечно поиграть с дополнительными условиями, выражением одной скорости через другую и т.д., но не в этом суть)
И "вбить" ее в Pascal уже не представляет сложности.

Код: Выделить весь код
var 
V1,V2,V:real; //скорости 
AC,L:real; //расстояния 
t:real; // время 
begin 
writeln('всякая вводная фигня+условия задачи'); 
readln(V1,V2,L); // вводим данные; 
V:= V1+V2;	// (1) номер формулы в документации 
t:= L/V;	// (2) 
AC:= V1*t;	// (3) 
writeln(t:4,' ',AC:4); //форматированный вывод в соотв с Техническим заданием (ТЗ). 
readln; //пауза для просмотра результата. В реальных программах не ставится. 
end.
Вот это требовалось от вас. Т.к. задай я эту задачу, все равно, как не крути, а пришлось бы столкнуться с математикой.
Правда найдутся умельцы, которые захотят сразу задаться цифрами, и уйти от формул.
Что бы этого не происходило, я требую мат. модель задачи. Т.е. все расчетные формулы до того как их начать программировать.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 12:29, 01-10-2009 | #5


Пользователь


Сообщения: 76
Благодарности: 1

Профиль | Отправить PM | Цитировать


Уважаемые форумчане.как сказал lxa85, за меня все решать не надо,ее и вправду проходят по программированию.вопрос вот в чем.я вывел зависимость что S=V1*t1+V2*t2 и общее время пути будет определятся по формуле Tобщее=t1+t2.
Вводимыми переменными являются:длина всего пути-S, скорость движения такси-V1, скорость движения пешехода- V2, общее время веделенное на прохождение всего пути T, стоимость проезда на такси рублей за километр- р1.необходимо преодолеть весь путь S за выделенное время чтобы затраты на дорогу были минимальны.

Отправлено: 16:40, 01-10-2009 | #6


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Цитата pirojok750:
общее время пути будет определятся по формуле Tобщее=t1+t2. »
Общее время преодоления пути на такси + пешком или для каждого вида передвижения? У вас появилась новая переменная t2 которой в постановке задачи её нет.

Итак, переменные (C++):
Код: Выделить весь код
...
   int S;    // Длина всего пути
   int V1;   // Скорость движения такси
   int V2;   // Скорость движения пешехода
   int T;   // Общее время выделенное на прохождение всего пути
   // Наверное стоит выделить две переменные для определения
   // общего времени преодоления пути (такси и пешеход)
   int p1;   // Стоимость проезда на такси рублей за километр
   // Переменная в которой будет храниться значение:
   // Сколько времени выделено на преодоление пути
...
Время общего преодоления пути (такси + пешеход) зачем так? думаю вычислить так.

T = S * V1 + S * V2;

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 20:23, 01-10-2009 | #7


Пользователь


Сообщения: 76
Благодарности: 1

Профиль | Отправить PM | Цитировать


Drongo, простите,вы видать меня не правильно поняли.как вы скорость умножаете на пройденый путь?что получится то?

Разъясняю еще раз суть задачи.Задается путь S и время за которое этот путь должен быть преодолен.у путника 2 варианта-это такси со скоростью V1 и пешком со скоростью v2. если он двигается на такси то платит р1 руб/км или пешком бесплатно.нужно расчитать как ему выгоднее преодолеть весь путь S с минимальными затратами на такси,успев во время T. Путник может двигаться на такси и пешком если ему позволяет время
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:39, 01-10-2009 | #8


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Цитата pirojok750:
.как вы скорость умножаете на пройденый путь?что получится то? »
Да, торможу, делить нужно.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 20:55, 01-10-2009 | #9


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Цитата Drongo:
T = S * V1 + S * V2; »
t=S/v
pirojok750,
Цитата pirojok750:
Путник может двигаться на такси и пешком если ему позволяет время »
Ни на какую мысль не наводит?
Двигаться пешком, если позволяет время.
Надо проехать столько, чтобы потом сравнять текущее время, с выделенным, пройдя оставшийся кусок дороги.
В математике условия пишутся через фигурную скобку. Пример - раскрытие знака модуля.
Рассуждаем дальше

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 21:01, 01-10-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Математическая задача

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - Задача по информатике Triz Программирование и базы данных 22 24-12-2012 23:02
Теория - Задача ManHack Программирование и базы данных 4 23-01-2009 18:21
Delphi - Простая задача rim_muvies Программирование и базы данных 13 31-03-2008 13:44
Сетевая задача TechNoir Microsoft Windows NT/2000/2003 8 29-01-2007 19:04
Задача С++ papam Программирование и базы данных 1 28-11-2005 11:34




 
Переход