OberonCore
https://forum.oberoncore.ru/

Еще один робот (подсистема Sk)
https://forum.oberoncore.ru/viewtopic.php?f=7&t=858
Страница 5 из 6

Автор:  ___ [ Пятница, 10 Февраль, 2012 16:20 ]
Заголовок сообщения:  Re: Еще один робот

Trurl писал(а):
Первоисточник: http://www.sch57.msk.ru/collect/progboo ... /part1.zip
Там в первой части про робота, с примерами.

"№404 — Страница не найдена"...

Автор:  Trurl [ Пятница, 10 Февраль, 2012 18:52 ]
Заголовок сообщения:  Re: Еще один робот

Да, похоже у них на сайте только оглавление осталось.

Автор:  ___ [ Пятница, 10 Февраль, 2012 20:28 ]
Заголовок сообщения:  Re: Еще один робот

Trurl писал(а):
Да, похоже у них на сайте только оглавление осталось.

в вебархиве осталось вот это:
Вложение:
part1.zip [37.52 КБ]
Скачиваний: 480

Автор:  Trurl [ Четверг, 16 Февраль, 2012 16:43 ]
Заголовок сообщения:  Пр заявкам радиослушателей.

Ещё одна версия еще одного робота. :) Чисто экспериментальная :!:
Без интерпретатора, но с радиацией и т.п.

Вместо документации. Карта открывается в трех режимах
  • "стандартный": управление только программное или c пульта (прилагается)
  • "тестовый": можно двигать робота стрелками, закрашивать пробелом и чистить del-ом
  • редактирование: робот не "разбивается"; клавиша Home делает текущую позицию начальной, End - конечной;
    +/- изменяют "температуру" клетки, PgUp,PgDown - "радиацию"; "*" помечает, что клетку надо закрасить.
    Мышкой можно ставить/убирать стены и перемещать робота. Ctrl-, Shift- и Alt-Click делают то же, что "*", Home и End, но на любой клетке.
Добавлены переменные-датчики и процедура Finish, которая проверяет, что робот стоит где полагается и все,что надо закрашено.

Вложения:
Sk.zip [22.57 КБ]
Скачиваний: 485

Автор:  Trurl [ Пятница, 17 Февраль, 2012 10:52 ]
Заголовок сообщения:  Re: Еще один робот

Дополнительный модуль для тестирования. Выполняет программу для списка карт.
Вызывать
(!)SkTester.Run модуль.процедура карта1 карта2 ...
или
(!)SkTester.Run модуль карта1 карта2 ...
если программа - тело модуля.

Вложения:
Tester.odc [3.33 КБ]
Скачиваний: 758

Автор:  ___ [ Пятница, 17 Февраль, 2012 11:59 ]
Заголовок сообщения:  Re: Еще один робот

Trurl писал(а):
Дополнительный модуль для тестирования. Выполняет программу для списка карт.
Вызывать
(!)SkTester.Run модуль.процедура карта1 карта2 ...
или
(!)SkTester.Run модуль карта1 карта2 ...
если программа - тело модуля.

при компиляции ставит ошибки рядом с modName и cmdName в вызовах mod := Kernel.ThisLoadedMod(modName); и cmd := Kernel.ThisCommand(mod,cmdName);
"типы элементов фактического массива и формального открытого массива отличаются"
объявлены:
modName, cmdName, mapName:ARRAY 100 OF CHAR;
в кернел сигнатура:
PROCEDURE ThisCommand* (mod: Module; name: ARRAY OF SHORTCHAR): Command;

если поменять в объявлении на шортчар то вылазят ошибки в куче др мест вместо этих...

Автор:  Trurl [ Пятница, 17 Февраль, 2012 12:26 ]
Заголовок сообщения:  Re: Еще один робот

Скачайте еще раз. По ошибке отправил модуль для 1.6.

Автор:  ___ [ Пятница, 17 Февраль, 2012 12:46 ]
Заголовок сообщения:  Re: Еще один робот

Trurl писал(а):
Скачайте еще раз. По ошибке отправил модуль для 1.6.

скомпилировалось, будем пробовать=)

Автор:  Trurl [ Вторник, 21 Февраль, 2012 10:23 ]
Заголовок сообщения:  Re: Еще один робот

Вопросы для обсуждения.
Перевести команды робота на русский? Или весь модуль, как черепашку?
Нужны ли карты разных размеров или можно зафиксировать максимальный?
Может, стоит при изменении размеров окна пропрорционально изменять картинку?
Поступило предложение сделать в карте несколько "слоев" - разных обстановок для одной задачи.
Кажется, три режима вьюшки многовато.
У Кушниренко радиация и температура вещественные. Это надо или целых хватит?
Режим "модуль как программа" теперь считается основным?

Автор:  Евгений Темиргалеев [ Вторник, 21 Февраль, 2012 10:40 ]
Заголовок сообщения:  Re: Еще один робот

Trurl писал(а):
Поступило предложение сделать в карте несколько "слоев" - разных обстановок для одной задачи.
Может стоит сделать карту "исполнителем"? Дать интерфейс, по которому настраивается обстановка. Написание программы для моделирования заданной обстановки может быть задачей; чтобы результат был виден --- пущай как-нибудь на карте клетки отрисовываются в зависимости от температуры/радиации... Выходит аналогично (не нашёл тему, кто-то предлагал) --- отработка двумерных массивов на картинке.

Карта.Очистить;
(* строим коридор случайной длины A..B *)
(* облучаем радиацией случайным образом в заданном диапазоне *)
(* ставим начальное положение робота в начало коридора *)
Карта.Сохранить('xxx');

Робот.НаКарту('xxx');
(* ищем клетку в коридоре с максимальным уровнем радиации *)

Задачи не обязательно связаны. Пусть старшие школьники делают карты для младших :) Да и учителям полезно; далеко не всегда удобно мышкой по полю тыкать.

Автор:  ___ [ Вторник, 21 Февраль, 2012 14:56 ]
Заголовок сообщения:  Re: Еще один робот

Trurl писал(а):
Вопросы для обсуждения.

если исходить из позиции, что новая реализация - экспериментальная (для нужд экспериментов, попробовать, что и как идет, а не для финального внедрения), то:
Цитата:
Перевести команды робота на русский? Или весь модуль, как черепашку?

если делать то отдельной прослойкой от основного модуля, если приспичит изменять, то не ползать в основном. так же можно будет в рус интерфейсе разделить лабиринт и робота. тоже поэкспериментироват бы с этим...
Цитата:
Нужны ли карты разных размеров или можно зафиксировать максимальный?

максимальный фиксировать не надо (либо не оч малым числом)!
Цитата:
Может, стоит при изменении размеров окна пропрорционально изменять картинку?

до, было бы полезно для демонстраций...если это не сложно..
Цитата:
Поступило предложение сделать в карте несколько "слоев" - разных обстановок для одной задачи.

если еще размер поля для каждого слоя свой =) +автоподстраивание размера вьюшки под окно...ммм)

Цитата:
У Кушниренко радиация и температура вещественные. Это надо или целых хватит?

над вещественными все операции определены (деление нет у целых), с др стороны робот изменять значения поля не сможет, если надо поделить, занес значения в свои действительные переменные и там поделил. температуру до десятых повседневно же не измеряют, а вот радиация в чем...

Цитата:
Нужны ли карты разных размеров или можно зафиксировать максимальный?
Кажется, три режима вьюшки многовато.

может быть сделать процедуру инициализации (правда это маленько усложнит использование, чуть-чуть)
где указать:
каталог для обстановок по умолчанию
режим открытия документа на просмотр (edit, manual: BOOLEAN;)
цвета используемые для отрисовки поля
максимальный размер карт по умолчанию (совсем убирать возможность создавния больших карт не надо....)
инициализация по умолчанию какая-нибудь

возможно было бы полезно иметь возможность включать показ значений температуры прямо на поле в клетках

Цитата:
Режим "модуль как программа" теперь считается основным?

скорее это для младших/новичков и некоторых учителей (действительно, встретил "командеры страшно тк вдруг написано не правильно и может порушить систему, ктрл+ф9 - проще"), как симуляция для перехода с тп.


по поводу карты, как исполнителя на правах бреда:
к каждому файлу карты и заготовки задания будет модуль карты. в котором будут например Карта.Дано(вот тут мб много условий...), Карта.Надо (тут только фин позиция и закрашенные клетки, др не может быть)
как-то придумать, как бы формально описывать побольше условий для обстановок
в учебнике есть тип заданий "составить дано/надо"...бр

Автор:  ___ [ Вторник, 21 Февраль, 2012 15:53 ]
Заголовок сообщения:  Re: Еще один робот

Trurl
методически, ваш первый вариант робота был пока самым простым и вполне удобным (вместо автосмены самим тут же переставлять нач точку либо стены, но тогда бывает "так нечестно, работало ведь").
просто хотелось побольше автоматизации (и автотесты и автосмена), это удобнее и отчасти позволит создавать домашние задания более автономные.
т.е. если не для экспериментов, то в новом роботе уже здорово:
-редактирование карты с клавиатуры (всё, кроме стен) - удобно;
-возможность указывания клеток для закраски(сохранять закраску нельзя..) и финальное положение (еще бы возможность не одну) + процедура финиш для проверки.
-если слоев не будет, то по умолчанию бы режим с возможностью редактирования. если будут, то просмотра.
-если зашла речь про русификацию команд, то еще про пульт скажу. управлять с текущего пульта удобно (видно состояние стен вокруг робота галками), но с тз методики возможно нужно сделать их именно процедурами и кнопками. чтобы операционно можно было проигрывать ситуацию: убедились, что сверху свободно(нажали), шагнули вверх(нажали), убедились ... т.е. как это делает "ЭВМ"
-про температуры: без экспериментов толком не ясно, будет ли действенно, и что как точно нужно. но сама по себе на форуме тема поднималась:
viewtopic.php?f=35&t=3759

Автор:  Info21 [ Вторник, 21 Февраль, 2012 18:51 ]
Заголовок сообщения:  Re: Еще один робот

Trurl писал(а):
Перевести команды робота на русский? Или весь модуль, как черепашку?
Не вполне понимаю разницы, просто скажу, что главная цель -- 5-6 классы. Они должны начинать работать полностью на русском.
Нужно просто иметь возможность добавлять иноязычные фасады. Украинский, таджикский и т.п.

Цитата:
Может, стоит при изменении размеров окна пропрорционально изменять картинку?
Такие игры -- как трясина, вечно на них время отвлекается.
Но полезно иметь где-то параметр масштаба, чтобы можно было учителю настроить. Мало ли, какие мелкоскопические экраны будут через 15 лет.

Цитата:
Режим "модуль как программа" теперь считается основным?
Хороший вопрос.
Начинать удобне в этом режиме однозначно.
И многие так в нём и останутся до конца.
Но замечено, что когда идут серии задач, то после небольшого барьера удобней в одном модуле иметь подряд команды-решения, обращающиеся к общим процедурам, которые вначале часть задач, а потом их ни к чему писать по новой.

Автор:  cemp [ Четверг, 20 Сентябрь, 2012 13:04 ]
Заголовок сообщения:  Re: Еще один робот

По поводу программы Робот - вот ссылки

http://sch57.msk.ru/prog.htm
----------------------------------------
http://www.mccme.ru/free-books/

79 Программирование: вводный курс. Под редакцией Д. Школьника. (c1) М.: МЦНМО, 1995, 96 с.
Файлы с дискеты, распространявшейся с книгой: (zipped, 0.8M).
Содержит архивы самой книги по главам (TeX) и программы, сопровождающие курс.

119 А. Шень. Программирование: теоремы и задачи (c1) 2-е изд., М.: МЦНМО, 2004, 296 с. (ps.zip, 0.8M)
(pdf.zip, 1.6M) (TeX zipped, 0.3M)
----------------------------------------
http://bookfi.org/book/793696
----------------------------------------
http://e-academy7.narod.ru/COURSES/PROG ... 01shen.PDF

Автор:  Info21 [ Четверг, 20 Сентябрь, 2012 14:36 ]
Заголовок сообщения:  Re: Еще один робот

cemp писал(а):
По поводу программы Робот - вот ссылки
Спасибо за такие полные сведения.

Автор:  cemp [ Пятница, 21 Сентябрь, 2012 07:54 ]
Заголовок сообщения:  Re: Еще один робот

Info21 писал(а):
Спасибо за такие полные сведения.

Пожалуйста.
Кстати форума по книге
"Программирование: вводный курс. Под редакцией Д. Школьника."
наверное не существует?

А то хотел узнать какие параметры надо вводить в
IRL.EXE при выполнении (Ctrl-F9), например для программы

(SECOND (X)
(FIRST (BF X))
)
?

Автор:  cemp [ Пятница, 21 Сентябрь, 2012 16:43 ]
Заголовок сообщения:  Re: Еще один робот

cemp писал(а):
А то хотел узнать какие параметры надо вводить в
IRL.EXE при выполнении (Ctrl-F9), например для программы

(SECOND (X)
(FIRST (BF X))
)
?


Извиняюсь, что не в тему.
Разобрался.
Тут в строку параметров нужно водить через пробел
английские буквы, например - d c g h l k j
Результатом будет показ второй буквы - c

Автор:  cemp [ Воскресенье, 23 Сентябрь, 2012 07:51 ]
Заголовок сообщения:  Re: Еще один робот

А где почитать как роботом в BlackBox пользоваться?
А то интуитивно не совсем понятно.

Автор:  ___ [ Воскресенье, 23 Сентябрь, 2012 09:28 ]
Заголовок сообщения:  Re: Еще один робот

cemp писал(а):
А где почитать как роботом в BlackBox пользоваться?
А то интуитивно не совсем понятно.


для ББ есть 2 робота:
http://www.inr.ac.ru/~info21/software.htm
Цитата:
" Робот, бета-версия для Блэкбокса (автор: И.А.Дехтяренко):
http://www.inr.ac.ru/~blackbox/rsrc/Robot(beta).zip (60K)

Некоторые преподаватели полюбили старую черепашку. Это подсистема Lab:
http://www.inr.ac.ru/~blackbox/rsrc/Lab.7z (150K)"


1)
в подсистеме лаб(там и робот и черепаха), была хорошая документация, как пользоваться
обсуждение: viewtopic.php?f=7&t=571&hilit=Lab

2)
в Robot(beta), в папке docu: quick-start и user-man
версия с интепретатором (умеет пошагово исполняться, но при этом использует свои команды(не может смешиваться с программами ББ))

3)
несколькими постами выше "экспериментальная версия робота"
переделана из 2 (исключен интерпретатор, добавлены штуки)
там рядом с модулем SkRobot есть модуль Test, в нем вроде были примеры вызова редактора.
а)вызываем редактор, создаем обстановку (если нужно сохраняем).
б) создаем новый модуль, в импорте подключаем SkRobot, программу начинаем с вызова Start.

----------------------------------------
пс. для нового учебного года удалось подготовить робота интегрированного со школьной сборкой (как примерно выглядит, скрин выше по теме, изменения больше внутри, чем снаружи). вариант уже рабочий, но не готова документация и небольшой затык с форматом задачи.

Автор:  Info21 [ Воскресенье, 23 Сентябрь, 2012 11:25 ]
Заголовок сообщения:  Re: Еще один робот

___ писал(а):
для нового учебного года удалось подготовить робота интегрированного со школьной сборкой
Это просто отлично.

Новая школьная сборка тоже застряла на последних шагах -- документация и проч.
Но движение идёт с ненулевой скоростью.

Страница 5 из 6 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/