OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 11:43

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Пятница, 13 Июль, 2007 02:51 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Коллеги, прошу любить и жаловать - версия 0.9 BlackBox Lab. Это то, что получилось из начатого и заброшенного в прошлом году ШАРа...

[неактуальная ссылка удалена администратором] (350 Кб).
(пардон, что в таком формате, просто в командной строке линукса ничего более удобного посреди ночи искать не стал :-) ).

Собственно, вся документация доступна через меню Lab->Руководства пользователя.

Общая суть проекта:
Цитата:
Ключевой идеей BlackBox Lab является концепция интерактивного алгоритмического документа, который интегрирует в себе текст, алгоритмы на Component Pascal, интерактивные графические объекты (например, обучающие исполнители, планшеты для графиков/диаграм и т.п.) и позволяет алгоритмам непосредственно взаимодействовать с интегрированными в документ объектами. При этом документ-алгоритм полностью скрывает весь цикл по оформлению, сохранению, компиляции и загрузки модуля, позволяя запускать отдельные процедуры из документа простым щелчком мыши по их названию либо настраивать их автоматический запуск при открытии документа.

Основные сферы применения BlackBox Lab:

1) Образование. Lab позволяет значительно повысить эффективность процесса обучения основам программирования за счет отвлечения от несущественных деталей, максимальной интерактивности и возможности использования учебных исполнителей. Несколько исполнителей уже включены в поставку - это Чертежник, Черепашка и Робот. Кроме того, Lab легко расширить новыми исполнителями. Совокупность этих качеств позволяет использовать BlackBox на раннем этапе школьного образования - вместо традиционных учебных интерпретаторов, подобных КуМир, Лого и т.п.
Трудно переоценить достоинства сквозного преподавания информатики на базе единой платформы. BlackBox является такой платформой и хорошо применим для преподавания алгоритмизации в среднем школьном звене, основ программирования в старших классах и на младших курсах ВУЗов, для профессиональной подготовки на ИТ-специальностях ВУЗов.

2) Наука. В настоящее время BlackBox интенсивно используется учеными, в частности, в ядерной физике (ИЯИ РАН, CERN, ...). По удобству рабочего цикла и интерактивности среда вплотную приближается к специализированным прикладным пакетам, при этом являясь универсальной платформой разработки. Lab явлется эффектным дополнением для ученого, позволяя в необходимых случаях работать в режиме, традиционном для интерактивных прикладных пакетов, подобных MathLab и т.п..

При этом оптимальной может являться следующая схема: научное приложение разрабатывается в полноценном виде, как система из программных модулей, а интерактивный документ Lab используется в качестве интерфейса, содержащего объекты визуализации и скрипты, позволяющие быстро наладить взаимодействие этих объектов и модулей приложения. При этом схемы взаимодействия легко создавать и изменять - теперь для этого не требуется писать отдельные модули-конфигураторы. Кроме того, Lab-документами как единым целым гораздо легче обмениваться, чем наборами исходых текстов модулей и формами интерфейса.

BlackBox Lab задумывался как платформа для создания прикладных пакетов для различных областей науки. Lab может интегрироваться с любыми графическими объектами, уже написанными для BlackBox.
Lab можно эффективно использовать в математике и физике, используя научные библиотеки из Component Pascal Collection (http://www.zinnamturm.de). В частности, библиотека Lib включает себя инструменты численных методов и мощные планшеты для построения графиков и диаграмм (в том числе полевых и трехмерных). Богатые примеры научного программирования в BlackBox можно найти в подсистеме Epse21 с того же сайта. Группа подсистем научного назначения собрана в едином пакете Chill.

Мы ожидаем, что Lab станет основой для интенсивного развития прикладных пакетов на базе среды BlackBox.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 13 Июль, 2007 11:59 

Зарегистрирован: Четверг, 01 Июнь, 2006 11:14
Сообщения: 240
здОрово!
попробовал пару задач с роботом из учебника Кушниренко
ходит, закрашивает, разбивается об стены
все как положено)
из документации пример:

Общий вид алгоритма
алг имя (тип арг1, тип арг2, рез тип рез1)
дано условия_применимости
надо цель выполнения
нач
тип величина1, величина2;
тип величина3;
...тело алгоритма...
все

PROCEDURE Имя (арг1, арг2: ТИП; VAR рез1: ТИП);
VAR переменная1, переменная2: ТИП;
переменная3: ТИП;
BEGIN
ASSERT(условия применимости);
...тело алгоритма...
END Имя;

В примере на КП не отражено "цель выполнения"...

-----------------
радиацию можно задавать отрицательную...
надо будет в кумире глянуть, но судя по книге радиация у них неотрицательная
-----------------
вообщем вопрос: позиционируется ли ББЛаб на замену кумира (если отказываться от шк. алг. яз. в пользу КП)[т.е. есть ли цель просто адаптировать курсы под новую среду или будут разрабатываться собственные]?
просто там есть штуки которых тут я пока не нашел


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 18 Июль, 2007 14:15 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Вообще говоря, перекрыть Кумир при создании Лаб планировалось.
Давайте собирать замечания, что нужно ещё...
Если речь о дополнительных исполнителях - то в релизе будет документация по их разработке. Лёгкая расширяемость будет большим плюсом. Планирую загрузить "дитёв" со школы и вуза задачками по наполнению Лаба исполнителями.
А в первую очередь уже сейчас хочу поручить одному ученику "портировать" в Лаб весь пакет задач из Кушниренки, а затем - вмонтирую туда текст своих занятий, дабы получить интерактивное пособие.

По поводу отрицательной радиации - упущение-с, надо запретить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Июль, 2007 11:53 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Итак, выпущен релиз BlackBox Lab:
viewtopic.php?f=1&t=575


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 24 Июль, 2007 14:09 

Зарегистрирован: Четверг, 01 Июнь, 2006 11:14
Сообщения: 240
Илья Ермаков писал(а):
Вообще говоря, перекрыть Кумир при создании Лаб планировалось.
Давайте собирать замечания, что нужно ещё...
Если речь о дополнительных исполнителях - то в релизе будет документация по их разработке. Лёгкая расширяемость будет большим плюсом.

сам с куМиром не работал, всё сужу по книжке
перед темой с роботом предлагается дать детям поуправлять роботом с пульта - кнопочки понаживать, а потом переходить уже к программам
перед темой, где бутет вводиться обратная связь, аналогичная игра, но дети уже не видят поле, где робот ходит, а пользуются доп кнопками на пульте(путо слева? и тд)
заявлено, что в куМире это реализовано
при знакомсте с ббЛаб, я такого не встретил
просто раз есть цель дать возможность читать программирование по Кушниренко на ббЛаб, то есть смысл ожидать)
еще вопрос по лицензии:
"ПО лицензировано для частного некоммерческого использования, в том числе, но не ограничиваясь, использованием в образовательных и научных целях."
не совсем понятно, можно ли пользоваться ПО на образовательных, но комерческих курсах
встречал ситуации, когда обучение в логомирах - доп услуга
просто сейчас первый вопрос у преподавателей - а можно ли это использовать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 24 Июль, 2007 16:27 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Мда, сделаю Public Domain (общественное достояние) и перестану людям мозги компостировать :-)

По поводу управления - там в инструкции к Роботу описано. С клавиатуры всё можно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 24 Июль, 2007 16:31 

Зарегистрирован: Четверг, 01 Июнь, 2006 11:14
Сообщения: 240
Илья Ермаков писал(а):
По поводу управления - там в инструкции к Роботу описано. С клавиатуры всё можно.

отлично!
значит пропустил маленько)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 02 Август, 2007 21:35 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Собственно, опубликованный релиз...
См. OberonCore.ru/BlackBox/Компоненты.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 31 Август, 2007 10:33 

Зарегистрирован: Суббота, 09 Декабрь, 2006 08:56
Сообщения: 35
Откуда: Беларусь
Большое спасибо Илье Ермакову за BlackBox Lab.
С сентября хочу при изучении компьютерных исполнителей давать BlackBox Lab. У нас они начинаются с седьмого класса, но на факультативных занятиях можно и раньше.
Малышам можно дать только Робота или Черепашку.
Поработал с Чертёжником – ВЕЛИКОЛЕПНО.
Только требует нескольких пояснений: в документации написано
PROCEDURE (v: View) ВыбратьЦвет (цвет: INTEGER)
PROCEDURE (v: View) ЗалитьОбласть (x, y, цветГраницы: INTEGER)
А можно написать
ВыбратьЦвет(сиреневый);
ЗалитьОбласть(100, 100, зелёный)
Или
ВыбратьЦвет(5000);
ЗалитьОбласть(100, 100, 5600)
Как составить наглядную таблицу доступных цветов? Младшие школьники с удовольствием её использовали.
Черепашку гонял меньше, но тоже ВЕЛИКОЛЕПНО.
С Роботом возникли вопросы.
Первый вопрос.
Для работы Робота необходимо ученику предоставить обстановки. На одну и туже задачу возможно даже несколько, в КуМире есть возможность загрузить обстановку с файла, а здесь я такой возможности не нашёл. Может, я не научился читать документацию?

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

Третий вопрос.
В КуМире явно присутствует команда отрицания «не». Здесь она также имеется из КП «~», но и есть команда выбивающиеся из этой концепции «КлеткаНеЗакрашена ()». На первый взгляд команду отрицания можно и не использовать, но ученикам логические операции необходимо показывать. Может ввести в команды Робота отрицание «не» или убрать команду «КлеткаНеЗакрашена ()»? А может, есть другие варианты?
Спасибо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 31 Август, 2007 11:44 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Павел, рад, что разработка оказалась полезной.

Отвечаю на вопросы.

По поводу цветов - константы цветов определены в модуле LabStdRu (LabStd - английские). Когда Вы его импортируете в задачке, то эти константы можно писать прямо, без префикса модуля (автоматически находится заголовок Lab/Rsrc/StdRu-Cmds, который незаметно для Вас всовывается в исходник задачи перед компиляцией).

Ещё удобно использовать пункт меню Lab "Вставить цветовое значение" - можно выбрать цвет в стандартном диалоге, в текст будет вставлена константа.

Что касается Робота - функции те же самые: СверхуСвободно(), СнизуСвободно()... и парные к ним - СверхуСтена(), СнизуСтена() - смотрите документацию на модуль LabRobot(Ru). Об стенку робот разбивается - появляется окно трэпа... Может быть, Вы скачали не окончательную версию, которая в этой ветке публиковалась? Релиз в разделе Компоненты на OberonCore. Поле я сделал бесконечным по самым разным соображениям, сейчас всё и не вспомню, но так оказалось во всех отношениях удобнее, плюс у Кушниренки поле и есть бесконечное, а "конечность" делается специально, построением "забора". В принципе, можно автоматизировать.. А напишите сами скрипт, используя команды редактирования Робота (так же гоняете его по полю, давая при этом команды редактирования, см. документацию модуля робота) :-)

Про обстановку - Вы просто делаете документ ББ с заданием, в который кладёте поле Робота и размечаете его. Вы сохраняете документ - поле сохраняется. Ученики открывают документ с заданием - делают Ctrl-C - Ctrl-V в свои "электронные тетрадки" - и начинают решать...

Про "не"... Ввести операцию "не" нельзя - ведь используется стандартный Компонентный Паскаль, и стандартный компилятор, просто с препроцессором.
Операция КлеткаНеЗакрашена() введена в соответствии с идеологией КуМира - там для каждой функции заложена и обратная (СверхуСвободно - СверхуСтена...). Я сначала хотел не включать, потом понял, что такова идеология курса Кушниренко - там эти функции уже нужны, ещё до того, как детям даётся тема выражений и логических операций.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 31 Август, 2007 13:35 

Зарегистрирован: Суббота, 09 Декабрь, 2006 08:56
Сообщения: 35
Откуда: Беларусь
Спасибо за ответы.
С цветами я разобрался, но мне хотелось видеть таблицу
Его код Десятичное число Его наименование
0FFH 255 красный
И ученик сам решает, как ему написать: цифры, русское название цвета или его код.

Попробовал гонять Робота по полю строить заборы. Забавная штука. Можно давать сильным ученикам в качестве дополнительного задания. Только получается маленькая свистопляска. Если возвращать Робота НаИсходную, то Робот или строит забор или его удаляет, если не отправлять НаИсходную, то непонятно откуда начинает строиться правильная обстановка. Получается, что надо работать только в новом окне?
Например:
IMPORT Робот:=LabRobotRu;
PROCEDURE забор*;
VAR i:INTEGER;
BEGIN
Робот.Открыть();
Робот.Редакт;
FOR i :=1 TO 5 DO
Робот.РедактСтену(0);
Робот.Вниз
END;
END забор;
И как эту обстановку сохранить?

Теперь возникает вопрос, а если я сразу создаю несколько обстановок для Робота нельзя ли чтобы все Роботы выполняли один алгоритм на разных полях?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 31 Август, 2007 13:54 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Ааа, Вы используете Робота через модуль... Тогда и правда упущение - непонятно, как сохранять обстановку. Предполагается использование в области задач, когда поле робота уже лежит в документе и сохраняется вместе с ним.

А по поводу скриптов редактирования - ещё интересная идея. К задаче прилагается скрипт формирующий на поле случайную ситуацию из некоторого класса ситуаций. Например, "где-то снизу стена" - скрипт ставит эту стену на случайном расстоянии.... Скрипт можно скрыть во вкладках в области задач, чтоб не мозолил глаза..
Ребёнок пишет решение задачи, а затем может тестировать её в разных ситуациях, вызывая сначала скрипт, а потом свою процедуру. Таким образом, сразу приучаем к мысли, что алгоритм - это всегда решение некоторого класса задач.

По поводу нескольких роботов - накидайте в область задач, раздайте имена - и командуйте в ООП-стиле: ИмяРобота.Впёрёд. Либо, если один алгоритм без ООП стиля - то накидайте несколько роботов в поле задач, но всех неактивных сворачивайте во вкладки. Алгоритм будет применён к тому, который видим.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 31 Август, 2007 14:40 

Зарегистрирован: Суббота, 09 Декабрь, 2006 08:56
Сообщения: 35
Откуда: Беларусь
С вкладками это хорошая идея. Спасибо.
А без модуля очень трудно, мне, редактировать и отлаживать алгоритмы построения стенок. Если поставить метку и начинать от неё что-то строить, то через раз строим и удаляем стенки. Каждый раз удалять и добавлять Робота - не выход. Или я мало знаю :(


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 31 Август, 2007 14:53 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Стоп, чего-то мы друг друга не допонимаем...

Я предлагаю такую схему.
Есть документ, в нём создана область задач. В область задач положен исполнитель Робот. Он там лежит. Постоянно.
Рядом пишется процедура СоздатьОбстановку, которая размечает поле Робота нужным образом (один раз).
Эта разметка будет сохраняться вместе с документом. И пишется процедура решения задачи, которая по размеченному полю гоняет робота...

Хе, одну недоработку обнаружил. Среди процедур редактирования нет процедуры очистки обстановки... А без этого скрипты со случайностью писать не получится - неясно, как удалить предыдущую разметку. Исправлю.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 31 Август, 2007 15:04 

Зарегистрирован: Суббота, 09 Декабрь, 2006 08:56
Сообщения: 35
Откуда: Беларусь
Вот и я про это, что не получается не совсем готовый алгоритм применить, если в области задач находиться Робот. Он или строит стену или только что построенную удаляет. Но мы друг друга поняли. :lol: Спасибо.
И одно предложение. Комаду "Закласить" изменить и применять цвета. Отрицательную температуру закрасим одним цветом, проложительную - другим, а с радиацией третьим. :?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 31 Август, 2007 15:42 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Ага, идея!

И получим почву для отработки алгоритмической схемы "полный проход с классификацией" :-) :-)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 31 Август, 2007 15:44 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Неплохо бы под Lab электронное интерактивное пособие по алгоритмике сделать.
Для начала хотя бы загнать разметки Робота из Кушниренки.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Сентябрь, 2007 21:14 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Pavel писал(а):
...И как эту обстановку сохранить?
Если это не противоречит задаче, то обстановку можно задать в области инициализации модуля. Соответственно, при запуске она будет воспроизводиться.

По поводу "не":
Я так понимаю, что вариант "не(КлеткаЗакрашена())" не подходит?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 05 Сентябрь, 2007 08:56 

Зарегистрирован: Суббота, 09 Декабрь, 2006 08:56
Сообщения: 35
Откуда: Беларусь
Очень приятно видеть земляков на форуме.
Про сохранение обстановок. Было желание создать файлы обстановок, как в КуМир’е или в нашем «Инис Софт’оском» ИнтАл’е и предлагать их ученикам на определенных этапах изучения Робота. С обстановками в области задач все понятно. Не понятно как работать со следующей задачей:
На поле Робота строго под клеткой с меткой находится клетка с повышенной радиацией. Создайте вокруг данной клетки стену (саркофаг).
Пояснение. Клетка с меткой одна. Робот находиться не на метке. Робот не должен быть закрыт стенкой.
Обстановка создана и сохранена в файле. Ученик открывает файл и пишет алгоритм.

IMPORT LabStdRu;
PROCEDURE Саркофаг*;
BEGIN
НаИсходную;
WHILE Радиация()=0 DO
Вниз
END;
Редакт;
РедактСтену(0); РедактСтену(1); РедактСтену(2);
Вниз; РедактСтену(1);
END Саркофаг;

Выполняем процедуру. Все отлично работает.
Попробуйте теперь выполнить этот алгоритм еще раз.
Не получается? Робот разбился об стену.
Обстановка должна быть НОВАЯ. Необходимо быстренько на всех ученических компьютерах обновить обстановку или создать новую удалив старую обстановку.
Отсюда все поиски как это быстро и качественно сделать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 05 Сентябрь, 2007 09:28 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Буду готовить очередную версию с дополнениями.
У меня список дополнений такой:
1) Очистка поля робота
2) Процедура загрузки и сохранения поля
робота
3) Разноцветная закраска
4) Таблица цветов

Что там ещё треба? :-)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB