OberonCore
https://forum.oberoncore.ru/

Запуск простейшей программы в Blackbox
https://forum.oberoncore.ru/viewtopic.php?f=35&t=6873
Страница 4 из 4

Автор:  Comdiv [ Воскресенье, 25 Декабрь, 2022 17:26 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

SVS1946 писал(а):
Я думал, что проблема в том как учить школьников программированию, а какой инструмент Вы для этого выберите и на каком этапе - это другой вопрос.
Это другой вопрос, который является важной частью первого.

Автор:  Борис Рюмшин [ Воскресенье, 25 Декабрь, 2022 19:38 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Shull писал(а):
Мне в страшном сне не могло присниться, что можно что-то выдавать в сам модуль.
И, тем более, что журнал может служить орудием ввода. Это уже какой-то дневник Волдеморта из "Гарри Поттера".

"Если ничего не помогает, прочтите, наконец, инструкцию."

Сколько я студентов не учил на ББ, никогда проблем с пониманием того, что происходит не было. И с журналом проблем не было. Время некоторое нужно, чтобы привыкнуть к тому, что модули выгружаться могут. Со школьниками, на сколько мне известно, тоже проблем у коллег не возникало особых.

Вы всё-таки сделайте усилие и вникните в принципы работы со средой.

Автор:  Shull [ Воскресенье, 25 Декабрь, 2022 20:51 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Всем добрый день! Рад, что мне отвечают. :-)

Comdiv писал(а):
вся эта история со сборкой Main - это лишь быстрая (лишняя?) нашлёпка над BlackBox.

Расскажите поподробнее, почему вы так считаете. Вы сами программируете на BlackBox? Если да, то , может, поговорить с Иваном Денисовым, пусть отменит эту штуку. Нельзя превращать изящный профессиональный инструмент в кадавра.

Comdiv писал(а):
У вас есть открытый код, чтобы посмотреть?
Не понял вопроса.

SVS1946 писал(а):
Я думал, что проблема в том как учить школьников программированию, а какой инструмент Вы для этого выберите и на каком этапе - это другой вопрос.

Нет-нет, у меня стоит задача запихнуть школьникам именно Оберон.

Comdiv писал(а):
Shull писал(а):
Понимаете, у меня в голове чётко прошито "ввод"=>"программа"=>"вывод".
Это заметно, что прошито, но Вы окажете большую услугу своим подопечным, если не будете их прошивать, а попытаетесь воспитать мыслящими, подмечающими детали, людьми. Это задача непростая, но именно это должно служить ориентиром, а не прошивка детей какими-то, зачастую, случайными знаниями.

Это всё хорошо выглядит. Однако, если из 25 школьников ошибётся половина - я потрачу 15 минут минимум, чтобы их поправить, потом минуту на восстановление дисциплины в классе. Трети урока нету. Но я понимаю ваше беспокойство. Конечно, хочется, чтобы ребята не делали ничего "вслепую", не понимая смысла делаемого.

Comdiv писал(а):
Цитата:
Мне в страшном сне не могло присниться, что можно что-то выдавать в сам модуль.
Даже в вашем 1-м сообщение в этой теме видно, что Вы видели, что сообщения об ошибках оказываются в исходном коде.

Честно говоря, я думал, что это просто декоративная псевдовставка в текст. Я не предполагал, что исходный код вообще может быть нарушен

Comdiv писал(а):
во многих системах в журнале даже нельзя толком провести поиск, ведь поиск требует ввода.

Для профессионала поиск очень важен. Однако, у школьников программы очень коротенькие, там поиск особо не нужен.

Comdiv писал(а):
SVS1946 писал(а):
Я думал, что проблема в том как учить школьников программированию, а какой инструмент Вы для этого выберите и на каком этапе - это другой вопрос.
Это другой вопрос, который является важной частью первого.

Для меня, Оберон в школе - это мой личный припадок патриотизма. Ничего общего с рациональностью и моим удобством тут нет :-)

Борис Рюмшин писал(а):
...Сколько я студентов не учил на ББ...
...Со школьниками, на сколько мне известно, тоже проблем у коллег не возникало...
...Вы всё-таки сделайте усилие и вникните в принципы работы со средой.

Вы же из Орловского университета? Скажите, а какие именно это были студенты? Буду рад, если вы поделитесь методичкой или программой или пособием. Необязательно на Обероне, хотя бы что-то, чтобы знать, что проходят студенты, использующие Оберон.
Касаемо школьников - киньте ссылочку, что из школьных учителей работает с детьми на BB. Буду рад, если вы поделитесь своими контактами. Очень хочется посмотреть на их работы и методические наработки.
Касаемо усилий - конечно, сделаю. Просто на это уйдёт определенное время :-)

Автор:  Comdiv [ Воскресенье, 25 Декабрь, 2022 22:17 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Shull писал(а):
Расскажите поподробнее, почему вы так считаете
Борис уже рассказал
Shull писал(а):
Comdiv писал(а):
У вас есть открытый код, чтобы посмотреть?
Не понял вопроса.
Вы же писали какой-нибудь код, те же лабораторные работы, для диплома, для себя? Если да, выкладывали в открытый доступ? Хочется посмотреть.
Shull писал(а):
Это всё хорошо выглядит. Однако, если из 25 школьников ошибётся половина - я потрачу 15 минут минимум, чтобы их поправить
Школьники помогают друг другу, используйте этот ресурс. Но в первую очередь важно, чтобы преподаватель понимал, что делает.

Shull писал(а):
Честно говоря, я думал, что это просто декоративная псевдовставка в текст. Я не предполагал, что исходный код вообще может быть нарушен
Проблема в том, что Вы предполагаете, что он может быть нарушен, только оттого, что я написал, что они выводятся в модуль. А по-вашему "декоративная псевдовставка в текст" - это не вывод?

Shull писал(а):
Для профессионала поиск очень важен. Однако, у школьников программы очень коротенькие, там поиск особо не нужен.
Не надо подменять "в страшном сне не мог представить" на "это только для школьников".

Shull писал(а):
Для меня, Оберон в школе - это мой личный припадок патриотизма. Ничего общего с рациональностью и моим удобством тут нет :-)
И это самое ужасное. И то, что припадок, и то, что патриотизма, и то, что ничего общего с рациональностью. А ведь в Обероне даже ничего такого патриотического и нет, а, вот, рационального - достаточно.

Автор:  Shull [ Воскресенье, 25 Декабрь, 2022 22:41 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Comdiv писал(а):
Вы же писали какой-нибудь код, те же лабораторные работы, для диплома, для себя?

Лаб не писал, я по образованию вообще не программист. Для себя давно ничего не писал. Для других писал пару лет назад считалку габаритов модульных кухонь на JS/PHP/SQL
А сейчас я хочу научиться делать в ББ хотя бы это. Тут мои учебные примеры для ребят.
Код:
Program p_1;
var
  a,b:integer;
begin
  a:=5;
  readln(b);
  writeln(a+b);
end.

x="abracadabra"
y=input("введи любое слово")
print(x+y)

using System;
class MainClass {
  public static void Main (string[] args) {
    string a=Console.ReadLine(); //ввод данных
    Console.WriteLine("Вы ввели "+a);
  }
}


Comdiv писал(а):
Школьники помогают друг другу

Выглядит это так: "чотытупишьдайябыренько-тыктыктык-крутозашибись". Жертва такой помощи сидит с выпученными глазами и ничего не понимает. Зато код работает, ага.

Comdiv писал(а):
Проблема в том, что Вы предполагаете, что он может быть нарушен, только оттого, что я написал, что они выводятся в модуль. А по-вашему "декоративная псевдовставка в текст" - это не вывод?

Конечно, не вывод. Например, многие IDE подсвечивают проблемный код. Но они же его при этом не меняют.

Comdiv писал(а):
Shull писал(а):
Для профессионала поиск очень важен. Однако, у школьников программы очень коротенькие, там поиск особо не нужен.
Не надо подменять "в страшном сне не мог представить" на "это только для школьников".

Я не подменяю. Я объясняю, что для школьников не нужен поиск в журнале.
Мне тоже редко нужен поиск в журнале. Последний раз я тупо делал копипасту с Powershell, чтобы посмотреть в текстовом редакторе историю свершений (запускал питон через Powershell).

Comdiv писал(а):
Shull писал(а):
Для меня, Оберон в школе - это мой личный припадок патриотизма. Ничего общего с рациональностью и моим удобством тут нет :-)
И это самое ужасное. И то, что припадок, и то, что патриотизма, и то, что ничего общего с рациональностью. А ведь в Обероне даже ничего такого патриотического и нет, а, вот, рационального - достаточно.

Это интересная задача. Если бы я действовал из рациональности, я бы вообще не посмотрел в сторону ББ и Оберона.
Питон+IDLE, или PascalABC, или JS+JQuery+браузер гораздо дружелюбнее.

Автор:  Shull [ Воскресенье, 25 Декабрь, 2022 22:54 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Вот, кстати, ещё: написал хелловорлд
Вложение:
1.png
1.png [ 23.93 КБ | Просмотров: 5391 ]

Запустил
Вложение:
2.png
2.png [ 28.14 КБ | Просмотров: 5391 ]

Изменил
Вложение:
3.png
3.png [ 28.15 КБ | Просмотров: 5391 ]

Сохранил
Вложение:
4.png
4.png [ 29.1 КБ | Просмотров: 5391 ]

Запустил и фигу получил
Вложение:
4.png
4.png [ 29.1 КБ | Просмотров: 5391 ]


Умом я понимаю, что там где-то рассинхрон. Где-то надо выковырять из памяти старое и загрузить новое, заново скомпилировать и запустить. А где? А что? А как? Вот и всё. Урок сорван.

Вложения:
5.png
5.png [ 33.18 КБ | Просмотров: 5391 ]

Автор:  Иван Денисов [ Понедельник, 26 Декабрь, 2022 09:19 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Так у вас на последнем скрине пока мир имеется, и по молнии он должен запускаться именно с Пока миром. Но хорошо, что вы такие вопросы надежности для школьного применения проверяете. Чувствую нас ждёт успех :)

Автор:  Shull [ Понедельник, 26 Декабрь, 2022 09:34 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Педагогам надо спать, а то им уже мерещится всякое :mrgreen: :mrgreen: :mrgreen:

Автор:  Shull [ Понедельник, 26 Декабрь, 2022 15:23 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

В принципе, наверное, можно закрывать тему. Любой, кто сюда зайдёт, может увидеть поэтапный запуск простейшей программы на Blackbox.
Главное - быть внимательным, не запускать модуль из журнала и побольше спать :-)

Автор:  Comdiv [ Понедельник, 26 Декабрь, 2022 18:24 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Shull писал(а):
Лаб не писал, я по образованию вообще не программист. Для себя давно ничего не писал. Для других писал пару лет назад считалку габаритов модульных кухонь на JS/PHP/SQL
А что за образование?

Цитата:
А сейчас я хочу научиться делать в ББ хотя бы это. Тут мои учебные примеры для ребят.
Код:
Program p_1;
var
  a,b:integer;
begin
  a:=5;
  readln(b);
  writeln(a+b);
end.
...

Как по мне, лучше так
Код:
MODULE Add5;

 IMPORT Log;

 PROCEDURE Do*(a: INTEGER);
 BEGIN
   Log.Int(a + 5); Log.Ln
 END Do;

END Add5.

(!)"Add5.Do(1111)"
Лучше хотя бы потому, что не надо проверки корректности ввода, без которой это издевательство, а не обучение.


Цитата:
Выглядит это так: "чотытупишьдайябыренько-тыктыктык-крутозашибись". Жертва такой помощи сидит с выпученными глазами и ничего не понимает. Зато код работает, ага.
Не надо изображать школьников идиотами, хотя это, конечно, во многом, в руках учителя. А помощь друг другу - это как раз важная составляющая воспитания, а не тупой прошивки.

Цитата:
Конечно, не вывод. Например, многие IDE подсвечивают проблемный код. Но они же его при этом не меняют.
Вывод - это не вывод в консоль, а любое внешнее проявление. Вывод изображения, каким бы оно не было, это тоже вывод.

Comdiv писал(а):
Я не подменяю. Я объясняю, что для школьников не нужен поиск в журнале.
Эти объяснения, помимо того, что неправда, так и не имеют отношения к моему объяснению, почему то, что сделано в ББ - это хорошо.

Цитата:
Мне тоже редко нужен поиск в журнале. Последний раз я тупо делал копипасту с Powershell, чтобы посмотреть в текстовом редакторе историю свершений (запускал питон через Powershell).
Хоть часто, хоть не часто, Вы только подтверждаете нелепость решений, которые "не страшный сон", при этом опровергаете свои слова, потому что копирование - это тоже ввод.

Shull писал(а):
Это интересная задача. Если бы я действовал из рациональности, я бы вообще не посмотрел в сторону ББ и Оберона.
Питон+IDLE, или PascalABC, или JS+JQuery+браузер гораздо дружелюбнее.
Я об этом и пишу, что это самое ужасное, что Вы не понимаете, что у Вас в руках, отчего и можете считать, что JS дружелюбнее. Тут, вообще, всё неправда, в том числе и то, что Оберон патриотичен.

Автор:  Shull [ Понедельник, 26 Декабрь, 2022 18:49 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Comdiv, я учитель географии по образованию. Ваш пример по хеллоуворлду хорош. Но он требует знаний: что такое модуль, что такое импорт, что такое процедура, что такое параметр. Я не могу это давать современным школьникам, сорри.
Вижу, что мои слова вас задевают. Поймите, я не ругаю ББ. Факт того, что на 20-мегабайтной малявке написали код для Росатома и Мираторга - это круто. Но он недружелюбен к новичкам. Очень недружелюбен.

Автор:  Comdiv [ Понедельник, 26 Декабрь, 2022 20:23 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Это не HelloWorld. HelloWorld выглядит так
Код:
(!)"Log.String('Привет, мир')"
(!)"Log.Ln"

И тут уже есть и модуль, и процедура, и параметр.

В любом случае Вы не с того начинаете. Вы же уже читали, что программирование - это не про компьютеры? Знаете, что, например, физическая разминка - это программа, в которой есть и процедуры, и циклы, и может быть ветвление? И не только в этом, программы повсюду, и даже в искусстве - музыкальная композиция это тоже программа. Покажите детям правильные аналоги, задействуйте их самих в демонстрации, и тут же выяснится, что они уже всё знают.

Shull писал(а):
Вижу, что мои слова вас задевают. Поймите, я не ругаю ББ.
Не видите, как и многое другое. Меня не интересует, ругают что-то или хвалят. Меня интересует лишь то, истинно это или ложно. Например, называние Оберона патриотичным, это, видимо, похвала. Только это ерунда не меньшая, чем многое другое.

Автор:  Shull [ Понедельник, 26 Декабрь, 2022 21:39 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Я на этой ерунде, быть может, в Кремль въеду.

Автор:  Иван Денисов [ Вторник, 27 Декабрь, 2022 07:14 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Не раз Илья озвучивал, что Блэкбокс уже столько лет поддерживается российскими разрабочиками, что его вполне можно позиционировать, как контроллируемый отечеством продукт. Так что, на мой взгляд, не надо называть ерундой такие попытки позиционирования. Да, в основе Блэкбокса наука Вирта, однако и проект Информатика-21 существует уже много много лет, распространение и развитие Блэкбокса главным образом делается русским сообществом.

Автор:  Иван Денисов [ Среда, 28 Декабрь, 2022 08:11 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

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

Во первых, я хочу вас поблагодарить, что подключились к обсуждению школьной сборки!
Ответил в новой теме: viewtopic.php?f=114&t=6876&p=116253#p116253

Автор:  adimetrius [ Пятница, 30 Декабрь, 2022 02:04 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

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

Напомню, у модуля несколько версий (экспериментирую с терминологией):
* текстовая - то, что в окне перед глазами программиста
* хранилищная - то, что сохранено в хранилище в условленном месте /Mod/
* кодированная - машкоды, тоже в хранилище в другом условленном месте /Code/
* подключенная к работающему ББ - т.е. загруженная в память ЭВМ, но термин "загруженная", как оказалось, неоднозначен, наталкивает на мысли об интернетах, облаках, и вызывает вопрос - какой ЭВМ

Недоразумения возникают из-за рассинхронизации. Синхронизация ручная, возложена на программиста. С этим учащиеся и новички не справляются.

Я предлагаю команду, которая берет на себя синхронизацию. Т.е. гарантирует, что перед выполнением команды М.К. для модуля М справедливо
Т <= Х <= К <= П,
где <= означает "не моложе".

На картинке видно, что текст программы изменяется и затем, по нажатии кнопки, выполняется самый свежий текст.
Сохранение, компиляция, выгрузка (отключение) и повторная загрузка (подключение) выполняются автоматически при необходимости; модули, относящиеся к System, не сохраняются, не компилируются и не выгружаются (не отключаются). Ошибки компиляции, ессно, как обычно, показываются, и команда не выполняется.

Изображение

Внешний вид кнопки призван популяризовать язык Оберон среди учащихся. ;-)

Автор:  Иван Денисов [ Пятница, 30 Декабрь, 2022 08:03 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Хорошая кнопка. Может пригодиться. Выкладываете свои наработки в репозиторий Эдварда?

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

Автор:  adimetrius [ Пятница, 30 Декабрь, 2022 14:08 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

Иван Денисов писал(а):
Хорошая кнопка. Может пригодиться. Выкладываете свои наработки в репозиторий Эдварда?

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


Из обсуждения выше у меня впечатление, что вы вызываете компоновщик, собираете EXE и уже его потом запускаете, т.е. в отдельном платформенном процессе. Не?

Нет, я пока не публикую, потому что запроса нет, а для публикации нужны доп. усилия. Будет запрос - опубликую. А так-то - войдет в мой будущий выпуск.

Автор:  Иван Денисов [ Пятница, 30 Декабрь, 2022 14:15 ]
Заголовок сообщения:  Re: Запуск простейшей программы в Blackbox

adimetrius писал(а):
Иван Денисов писал(а):
Хорошая кнопка. Может пригодиться. Выкладываете свои наработки в репозиторий Эдварда?

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


Из обсуждения выше у меня впечатление, что вы вызываете компоновщик, собираете EXE и уже его потом запускаете, т.е. в отдельном платформенном процессе. Не?
Нет, нет. Это вторая кнопка собирает приложение. А третья делает именно выгрузку предыдущего модуля и загрузку нового.

adimetrius писал(а):
Нет, я пока не публикую, потому что запроса нет, а для публикации нужны доп. усилия. Будет запрос - опубликую. А так-то - войдет в мой будущий выпуск.
Ждем продолжения работ по Гершелю! Вот уж проект XXI века для Блэкбокса более важный. Кнопку — это мы и сами могём, а вот с компиляторами — беда.

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