roboforum.ru

Технический форум по робототехнике.

Программа имитатор

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Программа имитатор

Сообщение otrik » 15 дек 2013, 01:18

Здравствуйте,есть задача:

Написать консольную программу, которая имитирует собой один рукав топливной колонки.

На вход программы поступают символы A-F,0-9, "пробел", "\n" (перевод строки) и Q. Программа считывает их из стандартного ввода (getchar ). Пробелы и переводы строки программа игнорирует. Из шестнадцатеричных цифр программа собирает байты, которые затем обрабатывает. Первая цифра означает старший "полубайт", вторая - младший. Получив символ Q, программа завершается.

Результат своей работы программа выдает на стандартный вывод. При этом после каждого байта программа передает пробел, а после каждого пакета - абзац. Например, программе надо выдать пакет из 3 байт 0xA8, 0x30, 0x97. При этом она должна вывести (putchar) "A8 30 97 \n".

Есть универсальный протокол обмена данными Искра, программа должна поддерживать только часть протокола, а именно:

• Один рукав, имеющий адрес 1
• Состояния 5, 1, 3, 4
• Команды 0x34, 0x31, 0x35, 0x36, 0x37
• Получив команду 0x31 в состоянии 5, рукав переходит в состояние 1
• Получив команду 0x35 в состоянии 1, рукав переходит в состоянии 3.
• Считаем, что топливо не отпускается - т.е. в состоянии 3 рукав всегда сообщает одну и ту же дозу - которую ему задали командой 0x31
• Считаем, что рукав может принять дозу с точностью до миллилитра, формат объема - 3.3 (002400 = 2,4 л), формат цены = 4.2 (001234 = 12,34 р/л)
• При запуске программы рукав всегда в состоянии 5.

Почитал Ритчи и Кернигана, но понимание приходит не так быстро как хотелось бы, быть может, подскажете книги/ресурсы где подобные примеры рассматриваются, все же данная задача далеко не ноу-хау, аналоги должны быть, спасибо.
otrik
 
Сообщения: 1
Зарегистрирован: 15 дек 2013, 01:13

Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25