OberonCore

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

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




Начать новую тему Ответить на тему  [ Сообщений: 59 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: Воскресенье, 31 Январь, 2010 18:05 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Иван Горячев писал(а):
Info21 писал(а):
BlackBox Express Edition, которая просто делает exe из текста модуля.
Подразумевая текстовые данные на входе и текст на выходе.

Тут не только компилятор нужен, а ещё и набор модулей для быстрой работой с текстовыми файлами как минимум. Да и про среду не надо забывать.
Я говорю о ББ.exe, слинкованном и сконфигурированном определенным образом вместе с компилятором и модулями ввода-вывода текста.

Не нужна там никакая среда -- по определению версии Express :)

Иван Горячев писал(а):
Цитата:
А вот это вряд ли выйдет. Слишком сложно, и слишком обязывающе для Ominc.
Ну так оно уже по факту есть. От ОМС только высочайший одобрямс нужен.
Любой одобрямс -- это определенные обязательства, даже если они неявные.
Если что -- тень всё равно падёт, а кому это надо.
Не будут они брать на себя такие обязательства.

А вот про обрубленный BlackBoxExpress.exe говорить реально.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 31 Январь, 2010 20:50 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Albertum писал(а):
В олимпиадных задачах я ни разу не встречал требования вывода/ввода на языке отличном от английского.


Я не о вводе/выводе, а об исходниках. Вряд-ли тексты ББ будут признаны "текстовыми файлами".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 31 Январь, 2010 21:02 

Зарегистрирован: Пятница, 29 Январь, 2010 17:03
Сообщения: 26
Откуда: Астрахань
Trurl писал(а):
Albertum писал(а):
В олимпиадных задачах я ни разу не встречал требования вывода/ввода на языке отличном от английского.


Я не о вводе/выводе, а об исходниках. Вряд-ли тексты ББ будут признаны "текстовыми файлами".

Предполагаю, что должно быть что-то вроде: File->Save as Plaintext (.cp) / Open as PlainText
Программа (простая, как и все олимпиадные решения) от этого работать не перестанет, а красивости в данном случае не важны.


Последний раз редактировалось Albertum Воскресенье, 31 Январь, 2010 21:05, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 31 Январь, 2010 21:03 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Trurl писал(а):
Вряд-ли тексты ББ будут признаны "текстовыми файлами".
BlackBoxExpress.exe должен брать на входе программу в текстовом файле, вот и всё.
Решается включением туда соотв. конвертера.
Не видно проблемы, только задачка :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Февраль, 2010 09:55 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Понятно, что все решается. Но надо же учесть, что
Цитата:
Кроме того, какие-либо доработки явно запрещены – можно использовать только то, что поставляется в стандартном комплекте среды.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Февраль, 2010 10:33 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Конвертер для ASCII текста в стандартной поставке...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Февраль, 2010 11:13 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Info21 писал(а):
Я говорю о ББ.exe, слинкованном и сконфигурированном определенным образом вместе с компилятором и модулями ввода-вывода текста.

Не нужна там никакая среда -- по определению версии Express :)

А программы писать в Блокноте? Можно конечно, хотя та же микрософтовская студия всё необходимое имеет даже в варианте Express.

И если без одобрения ОМС, то вот с этим:
Цитата:
Для BB придётся добиваться приведения в приличный вид компанией-разработчиком или (если позволяет лицензия) делать официальный fork, который будет признан мировым сообществом.

могут возникнуть проблемы. Хотя бы и формальные


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Albertum писал(а):
1. Точное указание названия среды (сборки) и способ её получения
Пример:
Цитата:
FreePascal 2.4, приложение являются свободно распространяемым и доступно на сайте: http://freepascal.org

2. Строка компиляции, для получения исполняемого файла
Пример:
Цитата:
Free Pascal 2.4: fpc <исходный файл>
Поясните пожалуйста, допустим ли такой вариант:
- среда разработки - обычный Блэкбокс (из которого сохраняется итоговый исходник в ASCII формате). Возможно урезанная в плане подсистем с примерами Obx, и т.п...
- на проверочном сервере работает компилятор ком. строки. Который ограничивает (линкует только) допустимые правилами модули ввода-вывода и пр. Про этот компилятор (как я понимаю) и говорит info21: viewtopic.php?p=41552#p41552


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Февраль, 2010 12:13 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Иван Горячев писал(а):
А программы писать в Блокноте?
Вот и надо выяснять, как там у них всё устроено. Там же как-то дистанционно в том числе -- через браузер? Типа решаешь у себя, а решение сдаешь в окошко копипастом.

---
А что стандартная -- так любой Express с сайта производителя будет автоматом "стандартом". И никто уже дорабатывать его не будет :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Февраль, 2010 12:52 

Зарегистрирован: Пятница, 29 Январь, 2010 17:03
Сообщения: 26
Откуда: Астрахань
Евгений Темиргалеев писал(а):
Поясните пожалуйста, допустим ли такой вариант:
- среда разработки - обычный Блэкбокс (из которого сохраняется итоговый исходник в ASCII формате). Возможно урезанная в плане подсистем с примерами Obx, и т.п...
- на проверочном сервере работает компилятор ком. строки. Который ограничивает (линкует только) допустимые правилами модули ввода-вывода и пр. Про этот компилятор (как я понимаю) и говорит info21: viewtopic.php?p=41552#p41552

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

Info21 писал(а):
Вот и надо выяснять, как там у них всё устроено. Там же как-то дистанционно в том числе -- через браузер? Типа решаешь у себя, а решение сдаешь в окошко копипастом.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Февраль, 2010 13:23 

Зарегистрирован: Пятница, 29 Январь, 2010 17:03
Сообщения: 26
Откуда: Астрахань
Посмотрел на XDS-x86-251-enduser-win32.

Документация расходится с реальными функциями, например SWholeIO.ReadInt просит параметр INTEGER, но на INTEGER ругается "incompatible types: INT32 и INT16", понятно чего он хочет, но так же нельзя выражаться, особенно при детях...

Для того, чтобы ускорить этот процесс, прошу человека, знакомого с XDS Oberon-2 написать небольшой идеологически правильный пример по текстовому вводу/выводу.

На входе текстовый файл (input.txt):
Код:
30000 5000 -111
Text String


3.123522 4.2131234


На выходе - т.е. сложить, заменить пробел на "_", пустые строки пропустить, сложить и округлить (output.txt):
Код:
34889
Text_String
7.34


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Февраль, 2010 16:51 

Зарегистрирован: Суббота, 06 Июнь, 2009 07:52
Сообщения: 329
Albertum писал(а):
Да, нужно собрать все возможные варианты, чтобы можно было выбирать.
Для полноты вариантов. Если ВВ может быть собран библиотекой или динамической библиотекой, то к нему можно обращаться из внешнего файла. Т.е. скрипта, bat-файла, com-файла…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 01 Февраль, 2010 19:15 

Зарегистрирован: Суббота, 06 Июнь, 2009 07:52
Сообщения: 329
Извиняюсь, если не в тему. Не совсем понял проблемы. Если нужно получить exe-файл, запускаемый без среде ВВ, то посмотрите в документации пример Simple -простое приложение Windows. В нем достаточно WinApi-функций для самостоятельного запуска. Попробуйте заменить вызов строки “Hello World” нужными Вам процедурами.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Февраль, 2010 09:59 

Зарегистрирован: Суббота, 06 Июнь, 2009 07:52
Сообщения: 329
Если правильно начинаю понимать последовательность действий жюри в отношении ВВ. Они получают текст модуля с решением задачи и список линкуемых модулей в одном листинге, вставляют его копипастом в ВВ, компилируют, добавляют маркер перед DevLinker, собирают и запускают приложение без открытия среды. Тогда возвращаюсь к теме «Проблема содания exe: illegal memory read при вып-и»


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Февраль, 2010 10:11 

Зарегистрирован: Пятница, 29 Январь, 2010 17:03
Сообщения: 26
Откуда: Астрахань
id_ler писал(а):
Если правильно начинаю понимать последовательность действий жюри в отношении ВВ. Они получают текст модуля с решением задачи и список линкуемых модулей в одном листинге, вставляют его копипастом в ВВ, компилируют, добавляют маркер перед DevLinker, собирают и запускают приложение без открытия среды. Тогда возвращаюсь к теме «Проблема содания exe: illegal memory read при вып-и»

Жюри ничего "ручками" делать не будет. Этот процесс полностью - от получения исходного текста решения до создания исполняемого файла обязан быть полностью автоматическим.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Февраль, 2010 11:28 

Зарегистрирован: Суббота, 06 Июнь, 2009 07:52
Сообщения: 329
Ну вот, обозвал Commander маркером )нет мне смайлика)
Albertum писал(а):
id_ler писал(а):
Если правильно начинаю понимать последовательность действий жюри в отношении ВВ. Они получают текст модуля с решением задачи и список линкуемых модулей в одном листинге, вставляют его копипастом в ВВ, компилируют, добавляют маркер перед DevLinker, собирают и запускают приложение без открытия среды. Тогда возвращаюсь к теме «Проблема содания exe: illegal memory read при вып-и»
Жюри ничего "ручками" делать не будет. Этот процесс полностью - от получения исходного текста решения до создания исполняемого файла обязан быть полностью автоматическим.
Не вижу принципиальной разницы между нажать меню мышкой, как это делается в других средах или установить и нажать коммандер в ВВ. Другое дело, что список для линкера не является частью программы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 02 Февраль, 2010 12:00 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Жюри ни одну среду даже открывать не будет. Им приносят текстовый файл, они запускают на него некий compile.bat, который выдаёт либо exeшник, либо ошибку. Потом они на этот exeшник натравливают другой bat-файл, который говорит, пройден тест или нет. По крайней мере я понимаю процесс именно так. Вместо bat-файлов могут быть web-формы или ещё какая автоматизация, не суть важно.

Но им требуется гарантия, что используемый ими компилятор не содержит никаких "олимпиадных" оптимизаций - именно поэтому нужно так или иначе договариваться с ОМС.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 03 Февраль, 2010 14:33 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
Albertum писал(а):
Посмотрел на XDS-x86-251-enduser-win32.

Документация расходится с реальными функциями, например SWholeIO.ReadInt просит параметр INTEGER, но на INTEGER ругается "incompatible types: INT32 и INT16", понятно чего он хочет, но так же нельзя выражаться, особенно при детях...

Для того, чтобы ускорить этот процесс, прошу человека, знакомого с XDS Oberon-2 написать небольшой идеологически правильный пример по текстовому вводу/выводу.

На входе текстовый файл (input.txt):
Код:
30000 5000 -111
Text String


3.123522 4.2131234


На выходе - т.е. сложить, заменить пробел на "_", пустые строки пропустить, сложить и округлить (output.txt):
Код:
34889
Text_String
7.34


Можно, например, так.
Код:
<*+MAIN*>
<*+O2EXTENSIONS*>
MODULE olimp;
IMPORT
  SeqFile, TextIO, WholeIO, RealIO;

VAR
  in, out: SeqFile.ChanId;
  res: SeqFile.OpenResults;
  sum_i: LONGINT;
  sum_r: REAL;
  i, n: LONGINT;
  r: REAL;
  txt: ARRAY 50 OF CHAR;

BEGIN
  SeqFile.OpenRead(in, "input.txt", SeqFile.read+SeqFile.old+SeqFile.text, res);
 
  IF res = SeqFile.opened THEN
    SeqFile.OpenWrite(out, "output.txt", SeqFile.write+SeqFile.text, res);

    sum_i := 0;
    i := 0;
    WHILE i < 3 DO
      WholeIO.ReadInt(in, n);
      sum_i := sum_i + n;
      INC(i);
    END;

    WholeIO.WriteInt(out, sum_i, 5);
    TextIO.WriteString(out, txt); TextIO.WriteLn(out);

    TextIO.SkipLine(in);
    TextIO.ReadToken(in, txt);
   
    TextIO.WriteString(out, txt);
    TextIO.WriteChar(out, '_');

    TextIO.ReadToken(in, txt);
    TextIO.WriteString(out, txt);
    TextIO.WriteLn(out);

    TextIO.SkipLine(in);
    TextIO.SkipLine(in);
    TextIO.SkipLine(in);

    i := 0;
    sum_r := 0;
    WHILE i < 2 DO
      RealIO.ReadReal(in, r);
      sum_r := sum_r + r;
      INC(i);
    END;
   
    RealIO.WriteReal(out, sum_r, 4);
    TextIO.WriteLn(out);
  END;
 
END olimp.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 03 Февраль, 2010 17:41 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Albertum писал(а):
Жюри ничего "ручками" делать не будет. Этот процесс полностью - от получения исходного текста решения до создания исполняемого файла обязан быть полностью автоматическим.


Это в теории. А на практике - ещё как делают.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 03 Февраль, 2010 18:35 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Trurl писал(а):
Albertum писал(а):
Жюри ничего "ручками" делать не будет. Этот процесс ... обязан быть полностью автоматическим.
Это в теории. А на практике - ещё как делают.
Это, вероятно, от уровня соревнований зависит?

Внизу -- наверняка. А повыше?


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

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


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

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


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

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