Задача для 3 класса

Проверить алгеброй гармонию

Задача для 3 класса

Сообщение Oleg » Пн окт 22, 2018 3:27 am

Задача для 3 класса

Долго мучался над задачей для третьего класса, но удалось сделать так чтобы робот шел по оптимальному маршруту никуда не сворачивая.
Интересно кто-нибудь сможет сходу решить?
Аватара пользователя
Oleg
Администратор
Администратор
 
Сообщения: 75647
Зарегистрирован: Вс окт 09, 2005 9:08 pm
Откуда: Москва
Медали: 10
Пол: Мужской
Соционический тип: Бальзак
Тип по психе-йоге: Сократ (ВЛЭФ)
Темперамент: Флегматик
Профессия: Программист, оптимизатор

Задача для 3 класса

Сообщение Гексли Второй » Пн окт 22, 2018 5:43 am

Маршрут неоптимальный (картинка-спойлер!), но на сегодня с меня хватит.
phpBB [media]

Вначале я не догонял, что значит мячик на пазле цикла и можно ли вкладывать циклы/условия друг в друга.
Пытылся собирать пазлики линейно. 8-)
В общем, на то чтобы разобраться с самим конструктором, ушло больше времени, чем на основное решение.
Но в итоге получил удовольствие, спасибо.
Аватара пользователя
Гексли Второй
Вне ТИМов
Вне ТИМов
 
Сообщения: 22067
Зарегистрирован: Пн июл 22, 2013 7:35 am
Медали: 3

Задача для 3 класса

Сообщение Atlant » Пн окт 22, 2018 1:23 pm

Можно так:
robo.png
robo.png (22.16 КБ) Просмотров: 3602


while (notDone()) {
moveForward();
if (isPathLeft()) {
if (isPathRight()) {
if (isPathForward()) {
turnRight();
} else {
turnLeft();
}
} else {
turnLeft();
}
} else {
if (isPathForward()) {
} else {
turnRight();
}
}
}
Аватара пользователя
Atlant
Dark side
Dark side
 
Сообщения: 3463
Зарегистрирован: Пт июл 30, 2010 5:10 pm
Медали: 3
Пол: Мужской
Соционический тип: Робеспьер
Тип по психе-йоге: Руссо (ЭЛФВ)

Задача для 3 класса

Сообщение Oleg » Пн окт 22, 2018 1:27 pm

Гексли Второй, а можешь сделать так, чтобы в конце не делал лишний шаг направо в конце.
Аватара пользователя
Oleg
Администратор
Администратор
 
Сообщения: 75647
Зарегистрирован: Вс окт 09, 2005 9:08 pm
Откуда: Москва
Медали: 10
Пол: Мужской
Соционический тип: Бальзак
Тип по психе-йоге: Сократ (ВЛЭФ)
Темперамент: Флегматик
Профессия: Программист, оптимизатор

Задача для 3 класса

Сообщение Oleg » Пн окт 22, 2018 1:28 pm

Atlant писал(а):Можно так:
Изображение

У меня по другому получилось:
Изображение
Аватара пользователя
Oleg
Администратор
Администратор
 
Сообщения: 75647
Зарегистрирован: Вс окт 09, 2005 9:08 pm
Откуда: Москва
Медали: 10
Пол: Мужской
Соционический тип: Бальзак
Тип по психе-йоге: Сократ (ВЛЭФ)
Темперамент: Флегматик
Профессия: Программист, оптимизатор

Задача для 3 класса

Сообщение Atlant » Пн окт 22, 2018 1:38 pm

Oleg писал(а):У меня по другому получилось:

Ага. Ну, главное - учесть все виды перекрестков, встречающихся на пути, а порядок проверок вторичен. Благо, каждому виду перекрестка соответствует только одно правильное направление, иначе пришлось бы придумывать что-то с ложными заходами.
Аватара пользователя
Atlant
Dark side
Dark side
 
Сообщения: 3463
Зарегистрирован: Пт июл 30, 2010 5:10 pm
Медали: 3
Пол: Мужской
Соционический тип: Робеспьер
Тип по психе-йоге: Руссо (ЭЛФВ)

Задача для 3 класса

Сообщение mr.Midas » Пн окт 22, 2018 5:01 pm

Oleg и Atlant, нет первичной проверки ориентации робота в пространстве лабиринта. И если у Atlantа достаточно ход вперед перенести в пустое гнездо проверки на путь вперед, то у Олега это номер уже не пройдёт
Аватара пользователя
mr.Midas
КБ 'Грядущее'
КБ 'Грядущее'
 
Сообщения: 19840
Зарегистрирован: Ср июл 27, 2011 4:52 pm
Медали: 5
Пол: Мужской
Соционический тип: Дон Кихот
Тип по психе-йоге: Эпикур (ФЛЭВ)
Темперамент: Сангвиник
Профессия: Гэльвин в поиске

Задача для 3 класса

Сообщение Atlant » Пн окт 22, 2018 5:48 pm

mr.Midas писал(а):Oleg и Atlant, нет первичной проверки ориентации робота в пространстве лабиринта. И если у Atlantа достаточно ход вперед перенести в пустое гнездо проверки на путь вперед, то у Олега это номер уже не пройдёт

Ну, мы строим программу под конкретный лабиринт, поэтому не будем забывать про принцип YAGNI. :)
Аватара пользователя
Atlant
Dark side
Dark side
 
Сообщения: 3463
Зарегистрирован: Пт июл 30, 2010 5:10 pm
Медали: 3
Пол: Мужской
Соционический тип: Робеспьер
Тип по психе-йоге: Руссо (ЭЛФВ)

Задача для 3 класса

Сообщение mr.Midas » Пн окт 22, 2018 5:51 pm

Atlant писал(а):Ну, мы строим программу под конкретный лабиринт


Лабиринт, да, конкретный. А вот положение робота в нём уже нет, произвольное. Тем более что в твоем варианте эта проверка ничего не стоит.
Аватара пользователя
mr.Midas
КБ 'Грядущее'
КБ 'Грядущее'
 
Сообщения: 19840
Зарегистрирован: Ср июл 27, 2011 4:52 pm
Медали: 5
Пол: Мужской
Соционический тип: Дон Кихот
Тип по психе-йоге: Эпикур (ФЛЭВ)
Темперамент: Сангвиник
Профессия: Гэльвин в поиске

Задача для 3 класса

Сообщение Atlant » Пн окт 22, 2018 5:57 pm

mr.Midas писал(а):Лабиринт, да, конкретный. А вот положение робота в нём уже нет, произвольное. Тем более что в твоем варианте эта проверка ничего не стоит.

Хмм. У меня, вроде, всегда было одно и то же положение, но согласен, если бы было произвольное, то надо перенести "шаг вперед".
Аватара пользователя
Atlant
Dark side
Dark side
 
Сообщения: 3463
Зарегистрирован: Пт июл 30, 2010 5:10 pm
Медали: 3
Пол: Мужской
Соционический тип: Робеспьер
Тип по психе-йоге: Руссо (ЭЛФВ)

Задача для 3 класса

Сообщение Oleg » Пн окт 22, 2018 8:02 pm

mr.Midas писал(а):Oleg и Atlant, нет первичной проверки ориентации робота в пространстве лабиринта. И если у Atlantа достаточно ход вперед перенести в пустое гнездо проверки на путь вперед, то у Олега это номер уже не пройдёт

"Работает - не трогай",- главное правило программиста.
Аватара пользователя
Oleg
Администратор
Администратор
 
Сообщения: 75647
Зарегистрирован: Вс окт 09, 2005 9:08 pm
Откуда: Москва
Медали: 10
Пол: Мужской
Соционический тип: Бальзак
Тип по психе-йоге: Сократ (ВЛЭФ)
Темперамент: Флегматик
Профессия: Программист, оптимизатор

Задача для 3 класса

Сообщение mr.Midas » Пн окт 22, 2018 8:54 pm

Oleg писал(а):"Работает - не трогай",- главное правило программиста.


Это касается грамотно спроектированного, оттестированного и пропатченного продакшена. А вот когда тестовую версию переводят в продакшен потому что она вдруг заработала - этот подход рождает чистое зло неуловимых багов и плясок с бубном.
Аватара пользователя
mr.Midas
КБ 'Грядущее'
КБ 'Грядущее'
 
Сообщения: 19840
Зарегистрирован: Ср июл 27, 2011 4:52 pm
Медали: 5
Пол: Мужской
Соционический тип: Дон Кихот
Тип по психе-йоге: Эпикур (ФЛЭВ)
Темперамент: Сангвиник
Профессия: Гэльвин в поиске

Задача для 3 класса

Сообщение Oleg » Пн окт 22, 2018 9:11 pm

mr.Midas писал(а):
Oleg писал(а):"Работает - не трогай",- главное правило программиста.

Это касается грамотно спроектированного, оттестированного и пропатченного продакшена. А вот когда тестовую версию переводят в продакшен потому что она вдруг заработала - этот подход рождает чистое зло неуловимых багов и плясок с бубном.

В данном случае вполне конкретная задача решалась.
Не было задания пройти по любому лабиринту с любым начальным положением робота.
Аватара пользователя
Oleg
Администратор
Администратор
 
Сообщения: 75647
Зарегистрирован: Вс окт 09, 2005 9:08 pm
Откуда: Москва
Медали: 10
Пол: Мужской
Соционический тип: Бальзак
Тип по психе-йоге: Сократ (ВЛЭФ)
Темперамент: Флегматик
Профессия: Программист, оптимизатор

Задача для 3 класса

Сообщение Синий_Крест » Пн окт 22, 2018 10:55 pm

Мой вариант решения.

Кстати, знаю, что спрашивают об этом не в этой теме, но все же: к кому обратиться, чтобы закрыли тему по типированию?
Вложения
Robot.jpg
Robot.jpg (153.84 КБ) Просмотров: 2204
Аватара пользователя
Синий_Крест
Участник
Участник
 
Сообщения: 35
Зарегистрирован: Чт окт 18, 2018 6:01 am
Пол: Женский
Соционический тип: Гамлет

Задача для 3 класса

Сообщение northanger » Пн окт 22, 2018 11:20 pm

Синий_Крест писал(а):Кстати, знаю, что спрашивают об этом не в этой теме, но все же: к кому обратиться, чтобы закрыли тему по типированию?


Напиши Дарлане в ЛС.
Аватара пользователя
northanger
Старожил
Старожил
 
Сообщения: 7611
Зарегистрирован: Пт июл 20, 2018 8:27 pm
Откуда: Москва
Медали: 3
Пол: Женский
Соционический тип: Максим Горький
Тип по психе-йоге: Дюма (ФЭВЛ)

След.

Вернуться в Кот Шрёдингера

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

Зарегистрированные пользователи: GoGo [Bot], Google [Bot], morkel, Yandex 3.0 [Bot], Yandex [Bot], Zevs