Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Zhenechka
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 9
#1

Пройденный роботом путь - C++

11.12.2009, 20:04. Просмотров 1730. Ответов 20
Метки нет (Все метки)

Всем привет. Совсем недавно начала изучать язык С++ и попалась такая задача, никак не могу понять, как к ней подойти вообще, возможно, кто-то сможет помочь?

Напишите программу, которая будет вычислять пройденный некоторым условным роботом путь и затраченное время на основании записанных в файл данных о количестве оборотов каждого из двух колес робота. Робот может поворачивать, полностью останавливая одно из своих колес или совершая обороты ими в противоположных направлениях. Диаметры колес и другие параметры робота известны (задаются пользователем).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2009, 20:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пройденный роботом путь (C++):

Вычислить пройденный по МКАД путь - C++
МКАД Длина Московской кольцевой автомобильной дороги —109 километров. Байкер Вася стартует с нулевого километра МКАД и едет со...

Вывести на экран путь, пройденный пешеходом, если известны его скорость и время движения - C++
:( "Составление программ с использованием функций, не возвращающих значения" Написать программу, выводящую на экран путь, пройденный...

Определить путь, пройденный телом, падающим с ускорением, после первой и второй секунд падения - C++
Тело падает с ускорением g. Определить пройденный телом путь h = gt ^ 2/2 после первой и второй секунд падения

Разработать архитектуру программы управления роботом - C++
Робот принимает команды типа "go north 1000", "turn left", "beep 5", "analyze oxygen", "analyze earth" и так далее. Архитектура должна...

Рекурсивный обход роботом плоской фигуры - C++
Всем доброго времени суток. Помогите, пожалуйста, в решении задачи на рекурсию. Необходимо, чтобы пользователь нарисовал какую-либо...

Управление мобильным роботом, построенным на базе Pololu. - C++
Доброе время суток. Нужно написать или заставить работать готовую программу для управления мобильным роботом построенного на базе Pololu. К...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
11.12.2009, 21:03 #2
пример файла пожалуйсто
0
Zhenechka
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 9
11.12.2009, 21:07  [ТС] #3
В том-то и дело, что мне неизвестно ровным счетом ничего, я не могу разобраться в этой задаче начиная с ее начала и заканчивая, естественно, концом(((
Самому придумать видимо надо все параметры, неважно какие...
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
11.12.2009, 21:35 #4
н-да, это ж кто такое задаёт?

первое и последнее что приходит на ум, это держать в файле два числа - количетсво оборотов первого и второго колеса.
пусть 4 и 5.
путь считаем так: 1. берём меньшее число и по формуле L1=2*pi*r*количетсво оборотов, вычисляем первую чатсь пути
2. считаем разность по модулю abs(5-4)=1 и тут думаем что одно колесо стоит, а второе сделало лишний оборот (собсвенно это условно) в этом случае центр робота сместиться на L2=2*pi*r*разность количетсво оборотов/2, r-радиус колеса робота
3. L=L1+L2

хотя чёт шибко просто получается, требуется уточнение, не понятно в какую сторону копать
0
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
11.12.2009, 21:36 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
xwheelcount=0;
ywheelcount=0;
int number=2;// количество колес.xwheelcount=0;
ywheelcount=0;
int number=2;// количество колес.
if(number==1)// допустим правое
xwheelcount++;
if(number==3)// допустим левое.
ywheelcount++
if(number==2)
{
xwheelcount++;
ywheelcount++;
}
if(number==1)// допустим правое
xwheelcount++;
if(number==3)// допустим левое.
ywheelcount++
if(number==2)
{
xwheelcount++;
ywheelcount++;
}
P.s и задайте до какого значения надо увел.то и будет длинаа пути
0
Zhenechka
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 9
11.12.2009, 22:24  [ТС] #6
TanT
преподаватель в институте задает...(((((

Sekt
спасибо, хмм, это Вы мне написали как задать параметры?
0
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
11.12.2009, 23:09 #7
Да,вам.
0
Zhenechka
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 9
11.12.2009, 23:37  [ТС] #8
Sekt
хехе, вопрос был с ударением на слово "параметры", а то, что написано мне, я не сомневалась )
0
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
11.12.2009, 23:49 #9
Есть другая идея:
Пусть в файл записываються данные о количестве совершенных оборотов колес каждую секунду...
Тогда считывая данные можно вычислить и время и пройденный путь*!!!


*Пройденный путь предлагаю вычислить следующим образом:
1.Если оба значения оборотов колес за данную секунду больше или меньше нуля, тогда можно считать, что робот движеться вперед или назад (при этом количество оборотов может быть полным или частичным, то есть вещественное** число, в зависимости от скорости робота) и этот путь рассчитать как среднюю линию равнобедренной трапеции.
2. Если хоть одно из значений равнозначное от другого либо равно нулю, то можно считать, что робот совершает поворот. При этом пройденный путь будет равен 0, так как он крутиться на месте.

**Если использовать только целые обороты колес, то вычисления будут более понятными
Хотя значение пройденного пути можно считать по разному...
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
12.12.2009, 06:29 #10
Цитата Сообщение от Zhenechka Посмотреть сообщение
Напишите программу, которая будет вычислять пройденный некоторым условным роботом путь и затраченное время на основании записанных в файл данных о количестве оборотов каждого из двух колес робота.
На основании только этих данных однозначного расчета не сделаешь. Например: диаметр каждого колеса 1 м. Допустим полный оборот одного колеса совершается за 1 сек. В файле допустим записано что каждое колесо совершило один оборот. Тогда ответ такой:
Путь пройденный роботом: от 0 м до 1 м включительно.
Затраченное время: от 1 сек до 2 сек включительно.
0
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
12.12.2009, 12:10 #11
Цитата Сообщение от valeriikozlov Посмотреть сообщение
На основании только этих данных однозначного расчета не сделаешь. Например: диаметр каждого колеса 1 м. Допустим полный оборот одного колеса совершается за 1 сек. В файле допустим записано что каждое колесо совершило один оборот. Тогда ответ такой:
Путь пройденный роботом: от 0 м до 1 м включительно.
Затраченное время: от 1 сек до 2 сек включительно.
Я так понимаю, что в файле записано не только 2 числа, а целый набор данных об оборотах колес робота, за определенное пройденное время.
Допустим робот ходит 8 секунд, тогда в файле будут записи следующего вида (первое число - обороты левого колеса, второе - правого):
Код
1 1 1 0 -1 -1 1 0 1 1 1 0 -1 1 1 1
В таком случае маршрут робота будет выглядеть так:
Пройденный роботом путь
Примечание: Стрелка указывает не направление движения, а лицевую часть робота

Следовательно, пройденный реальный путь в таком случае составляет 4м (1,3,5 и 8 шаги)
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
12.12.2009, 12:30 #12
manfeese, Что именно записано в файле, это можно гадать сколько угодно. Пока что автор вопроса написал:
Цитата Сообщение от Zhenechka Посмотреть сообщение
Напишите программу, которая будет вычислять пройденный некоторым условным роботом путь и затраченное время на основании записанных в файл данных о количестве оборотов каждого из двух колес робота.
Т.е. вычислять путь и время, а в файле даны количества оборотов колес.
Этих данных мало, я об этом писал. Скорее всего автор сам не доконца понял условие задачи и что-то недописал. Вполне возможно, что условие выглядит именно так как Вы его и представляете, но может быть и нет.
0
Zhenechka
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 9
13.12.2009, 19:33  [ТС] #13
valeriikozlov
да вот и я думаю, что как-то неоднозначно дано... хотя вторым заданием идет создание функции, случайным образом задающей параметры этого робота.

manfeese
хмм, интересно тоже.. хотя с трапецией уже как-то сложновато получается.. хотя фиг его знает(
0
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
13.12.2009, 20:56 #14
Цитата Сообщение от Zhenechka Посмотреть сообщение
хотя с трапецией уже как-то сложновато получается
Это лишь теория, фактически получается, что надо найти среднее арифметическое пройденного пути левого и правого колеса, при положительных либо отрицательных значениях обеих...

Добавлено через 1 минуту
Так же вычисляется и средняя линия трапеции...
0
Zhenechka
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 9
21.12.2009, 14:46  [ТС] #15
valeriikozlov
ну, я думаю пользователь в файле может задать все необходимое, что только требуется...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2009, 14:46
Привет! Вот еще темы с ответами:

Определить путь S, пройденный лодкой (путь=время*скорость). - Delphi
Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч (U<V). Время движения лодки по озеру Т1 ч, а по реке против течения Т2...

Определить путь S, пройденный лодкой - C#
Помогите решить задачу в C#. Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч (U < V). Время движения лодки по озеру T1...

Определить пройденный телом путь - Механика
Здравствуйте, помогите решить задачу. Телу массой 10 кг придали начальное ускорение 10 м/с. Определите какое расстояние пройдет тело за 20...

Определить путь, пройденный лодкой - Pascal ABC
Здравствуйте!!!помогите пожалуйста никак не могу решить задачу,одна надежда на вас.Заранее спасибо. 1.Шахматный конь за один ход может...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.12.2009, 14:46
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru