powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как составить алгоритм движения робота на ассаьблере?
16 сообщений из 16, страница 1 из 1
Как составить алгоритм движения робота на ассаьблере?
    #37162139
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу признаюсь - это домашнее задание. Делать за меня его не надо, но направить на правильный ход мыслей необходимо
В эмуляторе http://www.emu8086.com/ надо "Составте программу движения робота так, чтобы робот двигаясь по выбранной траектории обошёл всю зону и встреченные по пути выключенные лампы включил (те, которые уже включены, должны остаться включенными), a встреченные препятсвия обошёл. Возвращаясь робот встреченные препятствия должен обойти и выключить включенные лампы (те, что уже выключены - выключенными и должны остаться)."
Робот может идти вперёд, повернуть вправо, влево, включить, выключить лампу. Также перед собой может обнаружить - ничего, стену, выключенную, включенную лампу. Площадка по которой он ходит заранее известна 6х9 клеток. Препятствий может быть сколько угодно.
Не могу придумать как запоминать препятсвия и отличать их от стены...
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37162206
полином
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cheerful CalfНе могу придумать как запоминать препятсвия и отличать их от стены...

стены описаны изначально

Cheerful CalfПлощадка по которой он ходит заранее известна 6х9 клеток.
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37162210
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты не мудри, ты на пальцах покажи ;-D
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37162223
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не понял подсказки, или теперь задача усложнилась?
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37162407
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шибко не задумывался, но может натолкнет на мысль - как пройти лабиринт любой сложнсти?
надо постоянно идти вдоль одной стены , путь не оптимальный, но всегда приведет к выходу.
обход любого препятствия приведет в прежнююточку.
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37162408
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так я и буду так ходить по кругу. а в центре-то тоже надо проверить...
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37162440
LjAPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37162443
LjAPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот, отмечаешь пройденные координаты.
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37163190
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гыг. А как это сделать на асме? Задание по типу напоминает создание алгоритма для "робота-пылесоса"...
Вот робот умеет: move, left, right, exam (wall, nothing, lamp_on, lamp_off).
Я зделал зделал эти процедуры. Как организовать обход комнаты?
Какие еще нужны процедуры для этого?
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37163413
LjAPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37163599
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LjAPb,

он там колбаситься в радномных направлениях... надо упорядочить обход комнаты.
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37163701
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheerful CalfДелать за меня его не надо, но направить на правильный ход мыслей необходимо
Если лабиринт познаётся только "методом тыка", то я бы подумал вот над чем: для каждой ячейки помнить непроверенные направления, проверять их в определённом порядке (например, вверх-влево-вниз-вправо). Проверка заключается в том, что стены и включённые лампы запоминать (включённые - тоже как стены), выключенные включать и запоминать как "потом выключить", в пустоты идти, запоминать их как непроверенные и проверять оттуда. Когда стоишь на целиком проверенной ячейке - возвращаться откуда пришёл. При этом иметь в виду, что ячейка может быть проверена с разных сторон, то есть, например, с ячейки (2,2) мы узнали, что в (2,1) стена. Тогда в (1,1) уже не тыкаться вправо, а сразу ставить "справа проверено". Таким образом робот обползёт всю область, связную с исходной точкой (лабиринт может содержать недостижимые участки).

Cheerful CalfНе могу придумать как запоминать препятсвия и отличать их от стены...
Они отличаются тем, что стена - вне координат лабиринта :)
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37163909
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хммм... реализовать запоминание и переход "по-памяти" на асме трудновато. не заю с чем это есть :)
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37166458
Cheerful Calf, задача решается в 2 этапа:
1) ты ее решаешь для себя и пишешь на любом языке (или рисуеш блок-схему). Это называется "алгоритм".
2) делаешь программу в ассемблере (можно и в ассаьблере). Это называется "реализация".

Если не можешь придумать алгоритм, то зачем тебе реализация? Все одно, не программер.

Для массива 6х9 нужно... это будет... это будет... 54 байта. А каждый байт это 8 бит. Туда пишем: занято/свободно (1 бит), исследован/нет (1 бит), пришли откуда (3 бита), ушли куда (3 бита). Анализатор анализирует, думатель думает.
Такие есть в х86 феньки, "регистры". В тч. BX, SI и DI. Очень интересные.
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37166459
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Унрегистередпришли откуда (3 бита), ушли куда (3 бита).
А третий бит - это типа сверху/снизу/из прошлого/из будущего?
...
Рейтинг: 0 / 0
Как составить алгоритм движения робота на ассаьблере?
    #37166466
softwarer, можно прийтить/уйтить по диагонали. Мы не буем комбинировать право/лево и перед/зад. Просче.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как составить алгоритм движения робота на ассаьблере?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]