|
|
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
Сразу признаюсь - это домашнее задание. Делать за меня его не надо, но направить на правильный ход мыслей необходимо В эмуляторе http://www.emu8086.com/ надо "Составте программу движения робота так, чтобы робот двигаясь по выбранной траектории обошёл всю зону и встреченные по пути выключенные лампы включил (те, которые уже включены, должны остаться включенными), a встреченные препятсвия обошёл. Возвращаясь робот встреченные препятствия должен обойти и выключить включенные лампы (те, что уже выключены - выключенными и должны остаться)." Робот может идти вперёд, повернуть вправо, влево, включить, выключить лампу. Также перед собой может обнаружить - ничего, стену, выключенную, включенную лампу. Площадка по которой он ходит заранее известна 6х9 клеток. Препятствий может быть сколько угодно. Не могу придумать как запоминать препятсвия и отличать их от стены... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2011, 14:15 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfНе могу придумать как запоминать препятсвия и отличать их от стены... стены описаны изначально Cheerful CalfПлощадка по которой он ходит заранее известна 6х9 клеток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2011, 15:38 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
ты не мудри, ты на пальцах покажи ;-D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2011, 15:40 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
я не понял подсказки, или теперь задача усложнилась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2011, 15:45 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
шибко не задумывался, но может натолкнет на мысль - как пройти лабиринт любой сложнсти? надо постоянно идти вдоль одной стены , путь не оптимальный, но всегда приведет к выходу. обход любого препятствия приведет в прежнююточку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2011, 18:43 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
ну так я и буду так ходить по кругу. а в центре-то тоже надо проверить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2011, 18:44 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2011, 19:36 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
Вот, отмечаешь пройденные координаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2011, 19:37 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
Гыг. А как это сделать на асме? Задание по типу напоминает создание алгоритма для "робота-пылесоса"... Вот робот умеет: move, left, right, exam (wall, nothing, lamp_on, lamp_off). Я зделал зделал эти процедуры. Как организовать обход комнаты? Какие еще нужны процедуры для этого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2011, 11:35 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2011, 12:37 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
LjAPb, он там колбаситься в радномных направлениях... надо упорядочить обход комнаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2011, 13:25 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfДелать за меня его не надо, но направить на правильный ход мыслей необходимо Если лабиринт познаётся только "методом тыка", то я бы подумал вот над чем: для каждой ячейки помнить непроверенные направления, проверять их в определённом порядке (например, вверх-влево-вниз-вправо). Проверка заключается в том, что стены и включённые лампы запоминать (включённые - тоже как стены), выключенные включать и запоминать как "потом выключить", в пустоты идти, запоминать их как непроверенные и проверять оттуда. Когда стоишь на целиком проверенной ячейке - возвращаться откуда пришёл. При этом иметь в виду, что ячейка может быть проверена с разных сторон, то есть, например, с ячейки (2,2) мы узнали, что в (2,1) стена. Тогда в (1,1) уже не тыкаться вправо, а сразу ставить "справа проверено". Таким образом робот обползёт всю область, связную с исходной точкой (лабиринт может содержать недостижимые участки). Cheerful CalfНе могу придумать как запоминать препятсвия и отличать их от стены... Они отличаются тем, что стена - вне координат лабиринта :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2011, 14:07 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
хммм... реализовать запоминание и переход "по-памяти" на асме трудновато. не заю с чем это есть :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2011, 15:12 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
Cheerful Calf, задача решается в 2 этапа: 1) ты ее решаешь для себя и пишешь на любом языке (или рисуеш блок-схему). Это называется "алгоритм". 2) делаешь программу в ассемблере (можно и в ассаьблере). Это называется "реализация". Если не можешь придумать алгоритм, то зачем тебе реализация? Все одно, не программер. Для массива 6х9 нужно... это будет... это будет... 54 байта. А каждый байт это 8 бит. Туда пишем: занято/свободно (1 бит), исследован/нет (1 бит), пришли откуда (3 бита), ушли куда (3 бита). Анализатор анализирует, думатель думает. Такие есть в х86 феньки, "регистры". В тч. BX, SI и DI. Очень интересные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 19:30 |
|
||
|
Как составить алгоритм движения робота на ассаьблере?
|
|||
|---|---|---|---|
|
#18+
Унрегистередпришли откуда (3 бита), ушли куда (3 бита). А третий бит - это типа сверху/снизу/из прошлого/из будущего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2011, 19:31 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37163599&tid=1343074]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
165ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 483ms |

| 0 / 0 |
