OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 26 Март, 2023 05:48

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему  [ Сообщений: 57 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Школьная сборка
СообщениеДобавлено: Понедельник, 26 Декабрь, 2022 19:16 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3589
Мы понемногу начали обсуждать создание новой школьной сборки, и поэтому решил завести тему тут в разделе сборок.

Учёл замечание по компиляции журнала и также переименовал Main в Study, чтобы подчеркнуть учебный характер такой автоматической сборки. Добавил вывод в журнал полной команды для сборки учебного примера, чтобы школьники присматривались к команде, и потом сумели добавлять свои модули в список.


Вложения:
BlackBox21_221226.zip [6.16 МБ]
Скачиваний: 26
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Понедельник, 26 Декабрь, 2022 22:04 
Аватара пользователя

Зарегистрирован: Понедельник, 28 Ноябрь, 2022 09:03
Сообщения: 34
Скажите, есть ли какой-то журнал, позволяющий посмотреть обстоятельства краша/зависания/внезапного закрытия Блэкбокса?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Вторник, 27 Декабрь, 2022 07:09 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3589
Shull писал(а):
Скажите, есть ли какой-то журнал, позволяющий посмотреть обстоятельства краша/зависания/внезапного закрытия Блэкбокса?

Сейчас он пишет в терминал, однако это отличная идея - на этапе отладки перенаправить это в файл. Пожалуй я так и сделаю в следующей сборке, чтобы вы смогли делиться такими обстоятельствами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Вторник, 27 Декабрь, 2022 13:44 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Иван Денисов писал(а):
Сейчас он пишет в терминал, однако это отличная идея - на этапе отладки перенаправить это в файл. Пожалуй я так и сделаю в следующей сборке, чтобы вы смогли делиться такими обстоятельствами.


На Windows он пишет в никуда, но можно исправить.

А как вы будете определять "этап отладки"?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Вторник, 27 Декабрь, 2022 14:11 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3589
adimetrius писал(а):
Иван Денисов писал(а):
Сейчас он пишет в терминал, однако это отличная идея - на этапе отладки перенаправить это в файл. Пожалуй я так и сделаю в следующей сборке, чтобы вы смогли делиться такими обстоятельствами.


На Windows он пишет в никуда, но можно исправить.

А как вы будете определять "этап отладки"?


Это не так. Блэкбокс пишет в канал STDERR, и поэтому это легко вывести в файл при желании при запуске Блэкбокса
Код:
BlackBox.exe 1> test.txt 2>&1
BlackBox.exe 2> test.txt

Однако на этапе отладки, который продлиться до того, как Блэкбокс не перестанет завистать на Windows, целесообразно в целом предусмотреть запись такого файла вне зависимости от способа запуска. У нас специально для этого предусмотрен механизм и в ядре и в файлах реализации для Files также передусмотрен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Вторник, 27 Декабрь, 2022 15:06 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Иван Денисов писал(а):
Это не так. Блэкбокс пишет в канал STDERR, и поэтому это легко вывести в файл при желании при запуске Блэкбокса
Код:
BlackBox.exe 1> test.txt 2>&1
BlackBox.exe 2> test.txt

У меня эти перенаправления не работали, "легко вывести" мне не удалось. Пришлось править ББ.

Иван Денисов писал(а):
Однако на этапе отладки, который продлиться до того, как Блэкбокс не перестанет завистать на Windows

А что это за зависания?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Вторник, 27 Декабрь, 2022 22:19 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3589
adimetrius писал(а):
Иван Денисов писал(а):
Это не так. Блэкбокс пишет в канал STDERR, и поэтому это легко вывести в файл при желании при запуске Блэкбокса
Код:
BlackBox.exe 1> test.txt 2>&1
BlackBox.exe 2> test.txt

У меня эти перенаправления не работали, "легко вывести" мне не удалось. Пришлось править ББ.

Ну это правда странно, вы попробуйте ещё раз!

Вот такой вариант выводит в файл и консольный вывод и ошибки
Код:
BlackBox.exe 1> test.txt 2>&1


А вот такой вариант выведет в файл только ошибки
Код:
BlackBox.exe 2> test.txt


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Среда, 28 Декабрь, 2022 01:45 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3589
Внес ряд правок, может быть проблема будет проявляться намного реже.
Также исправил Console.ReadLn, чтобы он возвращал чистые строки без возврата коретки.
Запускайте через BlackBox21-debug.bat и тогда будет файл log.txt после падения доступен.
Сам сейчас попробую на Windows 10 воспроизвести проблему с отрисовкой. На Windows 7 через VirtualBox проблем с GDI+ даже при отсутствии свободной RAM не обнаружил.


Вложения:
BlackBox21_221228.zip [6.16 МБ]
Скачиваний: 17
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Среда, 28 Декабрь, 2022 08:48 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3589
SVS1946 писал(а):
Система программирования КуМир позволяет:
1. Выявлять синтаксические ошибки в процессе написания текста программы.
2. Автоматически вставлять отступы в тексте программы.
3. Выполнять программу в 2-х пошаговых режимах.
4. Отображать на "полях" значения условий и результаты команд присваивания.

Во первых, я хочу вас поблагодарить, что подключились к обсуждению школьной сборки!

По пунктам:
1. Часть синтаксических ошибок пользователь сможет увидеть благодаря раскраске синтаксиса, которую добавили по причине того, что многие пользователи её сильно ожидают
2. Для блэкбокса есть система автоматического форматирования кода, так что это вполне возможно добавить в школьную сборку
3. Пошаговый режим всё же не часто используется при разработке на Обероне, наверное этого хотелось бы избежать, к тому-же такого пошагового отладчика нет в версии для Linux, он сделан только для Windows
4. Также не сильно представляю как такое сделать и требуется ли

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Среда, 28 Декабрь, 2022 17:09 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 553
на самом деле пошаговый режим для исполнителей очень важен: человек сразу видит результат действия. а watch сделать несложно: в sym-файле есть вся нужная информация (ней пользуется трап-окошко). надо только распарзить текущую строку и определить, условие это, присваивание, или что-то ещё. (ну, чуть сложнее: надо определить, в какой процедуре мы находимся, чтобы вытащить именно её данные; всё равно тривиальная задача — мы подразумеваем, что исходник валидный же.)

p.s.: или не вся. я не помню, пишутся ли туда все локалы, или только указатели. надо в трап-окно посмотреть. ;-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Среда, 28 Декабрь, 2022 20:29 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3589
arisu писал(а):
на самом деле пошаговый режим для исполнителей очень важен: человек сразу видит результат действия. а watch сделать несложно: в sym-файле есть вся нужная информация (ней пользуется трап-окошко). надо только распарзить текущую строку и определить, условие это, присваивание, или что-то ещё. (ну, чуть сложнее: надо определить, в какой процедуре мы находимся, чтобы вытащить именно её данные; всё равно тривиальная задача — мы подразумеваем, что исходник валидный же.)

p.s.: или не вся. я не помню, пишутся ли туда все локалы, или только указатели. надо в трап-окно посмотреть. ;-)

Пошаговый режим уже есть для Windows версии, как я писал выше. Но я опираюсь на мнения экспертов, что для обучения это не надо. Так и Фёдор Васильевич говорил, да и это обучает порочной практике пошаговых отладчиков. Это плохая практика. Хоть Оберон и императивный язык, но без пошагового отладчика он немного заставляет всё же развивать функциональный подход в рамках контрактного проектирования процедур. В общем, за пошаговый отладчик я точно не буду никогда агитировать, так как нет экспертов в моём окружении, кто бы хоть когда-то за это "топил".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Среда, 28 Декабрь, 2022 20:50 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 553
я не читал оригинальную ветку (потому что ссылки нет, а искать у меня лапки, простите), и предполагал, что обсуждается аналог КуМира, именно с исполнителями. поэтому и написал в ответе «…для исполнителей…». это совсем не то же самое, что пошаговый отладчик (который я тоже не использую, и никому использовать не рекомендую).

p.s.: мне сейчас неимоверно жаль, что я сюда попал так поздно. когда я был молодой и глупый, я мимолётно с Фёдором Васильивичем общался (и, кажется, не очень корректно). тогда посчитал его старым занудой, который ничего не понимает в Настоящем Программинге. а сейчас вот почитал его посты тут всякие-разные, да очень впечатлился. и хотелось бы поговорить нормально — ан поздно…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Четверг, 29 Декабрь, 2022 00:24 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
arisu писал(а):
p.s.: или не вся. я не помню, пишутся ли туда все локалы, или только указатели. надо в трап-окно посмотреть. ;-)


Вся нужные сведения - соотношение адресов команд в машкоде и в тексте, адреса модульных и процедурных переменных - помещается компилятором в машкодовые файлы ocf (если только вывод этих сведений не отключен при компиляции), загружается с модулем и находится в структурах ядра. Оно же предоставляет структурный доступ к этим данным. Пример - в модуле DevDebug, который и формирует отчет об авосте (трап-окно).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Четверг, 29 Декабрь, 2022 00:55 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 553
спасибо за уточнение. я просто очень давно заглядывал именно в код компилятора, и уже не очень помню, что он куда раскладывает. что поллитра есть — знаю, а куда спрятал — не помню…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Четверг, 29 Декабрь, 2022 09:30 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 206
Откуда: Россия, Томск
Вложение:
Lab.7z [224.41 КБ]
Скачиваний: 27
Коллеги и модераторы!
Слежу за обсуждениями подходов к начальному обучению программированию. Радует, что есть развитие Школьной сборки для ББ2.0. Заглянул в свои наработки. Попробовал погонять мои примеры без оглядок на изменения в ББ. На первый взгляд всё работает!! Позволю себе без ложной скромности заявить, что я, вероятно, самый опытный препод России в деле обучения школьников основам программирования на КП/ББ. За период с 2003 по 2022 годы через мои руки прошло порядка 220-250 школьников (7-11 классы) и до 50 человек взрослых. Накопился довольно приличный багаж, который можно отнести к полезным учебно-методическим наработкам. Осознав неожиданно, что более половины моих однокурсников (РФФ ТГУ 1970 г.в.) я уже больше никогда не увижу (только вчера обнаружил в Википедии в списке умерших в 2022 году одного из них), и надо и мне не забывать о бренности бытия.
Не имею права не упомянуть об исключительной роли светлой памяти Фёдора Васильевича Ткачёва, доктора физико-математических наук, выдающегося физика-теоретика, нейтринщика мирового уровня, в продвижении наработок компьютерной школы профессора Никлауса Вирта в России. ФВ помог мне в получении ББ от разработчиков, с большим терпением и тактом помогал сделать первые, порой неуклюжие шаги в программировании на КП в ББ. Ни разу он не выказал мне досаду в моей тупости. Первый месяц работы в англоязычном ББ мне было некомфортно, мало что получалось. Но постепенно, благодаря усилиям ФВ и моему опыту освоения компилятора Алгола-68 А.Н. Терехова пришло понимание, как надо работать в ББ, как хорошо и удобно он устроен, насколько надежен.

Иван Денисов, Борис Рюмшин, прошу вас подобрать для материалов по Школьной сборке самое видное место на данном форуме и где-нибудь ещё.

Попробую перечислить мои наработки, полезные для обучения.
Школьная сборка 2008 года (Школьный Блэкбокс). В нем имеется несколько черепашек.
Пакет "Черепашья графика на Компонентном Паскале" предназначен для самого первого знакомства с КП/ББ. На скриншоте виден пульт управления черепашкой, пример управления и начало описания пакета. Пакет позволяет знакомить с моделью RGB, с геометрическими понятиями


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Четверг, 29 Декабрь, 2022 16:57 

Зарегистрирован: Воскресенье, 18 Декабрь, 2022 21:39
Сообщения: 32
В первую очередь, хотелось бы понять, на какой возраст (класс) рассчитана школьная сборка. Линейка систем программирования НИИСИ РАН (ПиктоМир, ПиктоМир-К, КуМир) предназначена для трех уровней:
1) дошкольное - ПиктоМир,
2) начальное общее - ПиктоМир, ПиктоМир-К,
3) основное общее - КуМир.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Пятница, 30 Декабрь, 2022 08:05 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3589
SVS1946 писал(а):
В первую очередь, хотелось бы понять, на какой возраст (класс) рассчитана школьная сборка. Линейка систем программирования НИИСИ РАН (ПиктоМир, ПиктоМир-К, КуМир) предназначена для трех уровней:
1) дошкольное - ПиктоМир,
2) начальное общее - ПиктоМир, ПиктоМир-К,
3) основное общее - КуМир.

У меня лично желание, чтобы не пропали наработки Фёдора Васильевича. А он с 5 класса на русском детей учил программировать. Так что лично вижу применение с 5 класса до студентов первых курсов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Пятница, 30 Декабрь, 2022 08:09 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3589
А.П. писал(а):
Вложение:
Lab.7z
Коллеги и модераторы!
Слежу за обсуждениями подходов к начальному обучению программированию. Радует, что есть развитие Школьной сборки для ББ2.0. Заглянул в свои наработки. Попробовал погонять мои примеры без оглядок на изменения в ББ. На первый взгляд всё работает!! Позволю себе без ложной скромности заявить, что я, вероятно, самый опытный препод России в деле обучения школьников основам программирования на КП/ББ. ...

Здорово! Спасибо, что поделились.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Пятница, 30 Декабрь, 2022 13:38 
Аватара пользователя

Зарегистрирован: Понедельник, 28 Ноябрь, 2022 09:03
Сообщения: 34
А.П. писал(а):
Вложение:
Lab.7z
Коллеги и модераторы!
Слежу за обсуждениями подходов к начальному обучению программированию. Радует, что есть развитие Школьной сборки для ББ2.0. Заглянул в свои наработки. Попробовал погонять...

Сижу в библиотеке, поэтому не могу подключиться к ББ. Но я смог распаковать ваш файл и...
... И это круто! Судя по именам файлой, там есть и Робот, и Черепаха, и Graph, и всё это в кириллической версии!
Это позволит использовать не только современные наработки. Тут можно легко приспособить учебники Кушниренко, с его "Кумиром" (кстати, замечательные учебники). А уж сколько методразработок существует на Черепаху... :D
Осталось спросить Ивана Денисова, насколько безопасно всё это прикручивать к последней версии школьной сборки?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Школьная сборка
СообщениеДобавлено: Пятница, 30 Декабрь, 2022 14:23 

Зарегистрирован: Воскресенье, 18 Декабрь, 2022 21:39
Сообщения: 32
Итак, предполагается, что школьная сборка ориентирована на:
⦁ общее образование - основное общее и среднее общее,
⦁ профессиональное образование - среднее профессиональное и высшее - бакалавриат.
Программирование в обязательной части школьной программы определяется двумя документами:
1. ФГОС ОСНОВНОГО ОБЩЕГО ОБРАЗОВАНИЯ 2021,
2. Примерная рабочая программа основного общего образования. Информатика. Базовый уровень 2021.
В соответствии с ФГОС, предметные результаты по учебному предметы "Информатика" должны, в частности, обеспечивать:
⦁ развитие алгоритмического мышления как необходимого условия профессиональной деятельности в современном обществе; понимание сущности алгоритма и его свойств;
⦁ умение составлять, выполнять вручную и на компьютере несложные алгоритмы для управления исполнителями с использованием циклов и ветвлений;
⦁ умение разбивать задачи на подзадачи.
Эти и другие результаты должны быть достигнуты всеми учащимися. Поэтому возникает вопрос - можно ли это сделать, учитывая отсутствие, например, того же самого пошагового выполнения, средствами школьной сборки?


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

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


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

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


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

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