Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2013, 20:05   #1
fnk007
 
Аватар для fnk007
 
Регистрация: 17.11.2013
Сообщений: 4
По умолчанию Задача "робот-грибник"

Помогите с задачей. Срочно!

Мастер сконструировал робота-грибника.Робот умеет: 1) выполнять команду СОБРАТЬ - собирает гриб в той ячейке, в которой находится; 2) проверять условие ЕСЛИ есть гриб ТО ... ВСЕ - позволяет выполнить какие-то действия, если ячейка, в которой он находится "грибная". Была написана процедура ПОИСК (X,Y), которая позволяет искать и собирать грибы. Буква Г означает наличие гриба в ячейке (X,Y - координаты ячейки).
Процедура ПОИСК (X,Y)
Начало
ЕСЛИ есть гриб ТО
СОБРАТЬ;
ПОИСК (X-1,Y) ;
ПОИСК (X,Y+1) ;
ВСЕ
Конец

Какие координаты имеет ячейка, начав с которой робот соберет наибольшее количество грибов? Ответ записать в виде двузначного числа, в котором координата X - число десятков, Y - число единиц.
Изображения
Тип файла: jpg 2.jpg (12.0 Кб, 230 просмотров)
fnk007 вне форума Ответить с цитированием
Старый 17.11.2013, 22:27   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

насколько я понимаю, ответом является число 62 (при этом робот соберёт 5 грибов).


p.s. т.к. решал задачу умозрительно, то, допускаю, вполне мог ошибиться. Будьте бдительные и не доверяйте слепо моему ответу...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.11.2013, 22:48   #3
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Serge_Bliznykov, как это?
По-моему, из позиции 26 он соберет 8 грибов. А из 62 только один.

Upd.
Нет, я не прав.
Так было бы, если бы было
Код:
...
ПОИСК (X,Y-1) ;
ПОИСК (X+1,Y) ;
...
Μολὼν λαβέ

Последний раз редактировалось alexander13; 17.11.2013 в 22:53.
alexander13 вне форума Ответить с цитированием
Старый 18.11.2013, 09:13   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

ПОИСК(7,1) соберет ВСЕ грибы.
7,1 -> 6,1 7,2 (и далее можно будет пройти по всей строке 7 (рекурсия!)
6,1 -> 5,1 (и ВЕСЬ столбец 1 с которого выходим на КАЖДУЮ строку! ) 6,2 (и вся строка 6 !!)
7,2 -> 6,2(?!) 7,3

пропустил begin ... end в условии проверки!!!
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 18.11.2013 в 09:16.
evg_m вне форума Ответить с цитированием
Старый 18.11.2013, 10:10   #5
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Из точек х >= 6 и у <= 2 робот соберет вообще все грибы (алгоритм рекурсивный, одновременно работает вверх и вправо).
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 18.11.2013, 11:12   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
робот соберет вообще все грибы
evg_m и Vanta11a, я не согласен с Вами.

если запустить процедуру ПОИСК из ячейки, где нет гриба, то она не соберёт вообще ни одного гриба.
ведь, судя по описанию конструкции ЕСЛИ:
Цитата:
ЕСЛИ есть гриб ТО ... ВСЕ
те команды, что между ТО и ВСЁ (обозначено троеточием) выполнятся только, если выполнится условие если - т.е. если есть в ячейке гриб, то мы его собираем и рекурсивно вызываем процедуру ПОИСК для ячейки выше на одну и ПРАВЕЕ на одну.
Если гриба в ячейке нет - то никакого гриба нет и процедура ПОИСК завершается.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.11.2013, 06:35   #7
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Точно, этот момент я упустил.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Детская задача для исполнителя Робот ZarinZomanu4 Помощь студентам 12 28.05.2013 13:46
Робот DancingRobin Помощь студентам 6 16.03.2012 03:12
Робот анна2709 Паскаль, Turbo Pascal, PascalABC.NET 9 07.02.2012 02:10
vb-робот аналитика Microsoft Office Excel 7 25.08.2011 14:29
робот на VB Backfire Microsoft Office Access 3 10.11.2009 21:38