roboforum.ru

Технический форум по робототехнике.
Текущее время: 09 апр 2025, 17:14

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Программа имитатор
СообщениеДобавлено: 15 дек 2013, 01:18 
Не в сети

Зарегистрирован: 15 дек 2013, 01:13
Сообщения: 1
Здравствуйте,есть задача:

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

На вход программы поступают символы 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.

Почитал Ритчи и Кернигана, но понимание приходит не так быстро как хотелось бы, быть может, подскажете книги/ресурсы где подобные примеры рассматриваются, все же данная задача далеко не ноу-хау, аналоги должны быть, спасибо.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO