Дело в том, что функцию random перекрывает класс System.Random ибо Вы в начале файла у Вас uses System. Дабы избежать такого поведения можно повысить приоритет системной подпрограммы, прописав uses PABCSystem после implementation. Либо можно явно обращаться к функции из системного модуля PABCSystem.random(5, 14);
UPD: @Admin я думаю часть сообщений имеет смысл перенести куда-нибудь
Так же можно сказать, что и просто readln/writeln не рассматриваются. Кому надо ответ - смотрите результат в отладчике. Задача школьная, но я решаю её так чтобы потом было удобно пользоваться решением, если действительно понадобится решать много квадратных уравнений, а не просто написать, показать учителю и забыть.
Но это на самом деле не такая уж и проблема. Проблема в неработе программ, которые используют модули вроде Graph. А писать код можно и без IDE.
А ещё есть множество тонкостей, связанных с отличием ввода-вывода. Будет ли программа собранная ABC в линуксе выводить концы строк с CR LF или с LF по оператору writeln, например?
Переварит ли компилятор ABC исходный код в ASCII без BOM и с однобайтными переводами строки?
Только нормального ответа нету. Вы просто говорите “ставьте дома pabc” и всё, без вариантов. А добавить совместимости хотя бы до того, чтобы пример с квадратным уравнением выше можно было написать портабельно…
Угу. А я пишу крестики-нолики с ООП, DI, логированием и WPF. На очереди Web, в частности APS, потом Android.
Задача школьная? Школьная. Просто я решаю её так, чтобы потом было удобно пользоваться решением
Ой, а разве это всё нужно в школе?..
Варианты? Не вопрос:
Пишите на fpc (и договоритесь с учителем)
Пишите на другом языке (не на паскале, см. пункт первый)
Можно поставить pabc на удалённой виртуалке
Можно писать программы у друга (или в школе (или в библиотеке))
Вы подтасовываете факты уже. Ввод/вывод рассматривается всегда и везде
графика, как я понял, начнёт работать под linux вместе с ide
так для вывода используются методы .net. соответственно как оно работает в .net, так оно будет работать и в pabc
я не проверял. но могу сказать, что и не должен. современные редакторы не сложно настроить что бы они добавляли bom и переводили строку конкретными символами.
а какие должны быть варианты? человек сам себе создаёт проблемы, а все должны ему с ними помогать?
в этой процедуре неограниченное количество out-параметров, на подобии read. компилятор такое разворачивает в несколько read вместо одного общего, если я не ошибаюсь
Ничего я не подтасовываю. Я просто говорю, что если ввод с stdin рассматривается, то что плохого в рассмотрении и параметров командной строки? Их задавать удобнее.
Ну и если вывод в stdout рассматривается, то почему бы не рассмотреть и вывод в stderr?
Ну я же говорил какие. И почему вы говорите, что проблемы создаёт себе сам человек, если он напротив эти проблемы, навязанные ему извне, пытается решить?
То что перечислено у вас — вероятно, нет. А чтение параметров командной строки и вывод в stderr — это достаточно базовые вещи и я не вижу причин почему бы это не изучать в школе, раз уж stdin и stdout изучают.
Я вас разочарую (как и меня десять лет информатики в школе), но практические знания на уроке даются никакие. На личном опыте, всё, что я умел бы, не выходя за материалы урока, это что-то там слепить на Скретче (удивительно отличный язык для программирования для этапа начальной школы), нарисовать циклическую фигуру в Лого и запустить какую-нибудь программу на Паскале, несущую нулевую практическую ценность (если, например, говорить про параметры командой строки и вообще запуск вне оболочки). Как видите, проблема явно не в PascalABC.NET. Будь у меня любая другая среда, ничего бы не изменилось, уверен.
Так что проблема явно не в том, на каком языке вы будете читать аргументы - на классическом ли Паскале, или на Паскале# - проблема в том, что вам никто не скажет, что есть, оказывается, какие-то аргументы
P.S. Ладно, про отсутствие изменений в другой среде наврал. Именно справка PascalABC.NET в девятом классе выбила меня из проторенной колеи
P.P.S. Ой, простите, забыл. Я бы ещё умел решать задания ЕГЭ на питоне (и то не факт, у нас и некоторые сдающие так и не смогли )
ничего плохого, но их не рассматривают. по этому в рамках данной дискуссии они не имеют никакого значения
потому что если в школе, расположенной на Русском Севере зададут сделать реферат по местному речевому диалекту, а ученик принесёт реферат про диалект Юга России, то его определённо не примут и правильно сделают, несмотря на то, что ученик считает, что южные речевые манеры более каноничны для русского языка.
опять же повторяюсь, что проблем, связанных с работой под linux, вероятно, в скором времени не станет
а домашнее, связанное с написанием кода бывает вообще? а то у нас, например, задавали максимум операторы повторить. так что проблем, связанных с установкой чего-либо и в помине не было))
Если класса до девятого, то какая разница, напишу я сортировку пузырьком (тема одиннадцатого класса, ага, очень сложно) в школе или дома. А потом мне было просто смешно делать то, что называлось заданием
В первую очередь читается через System.Environment.CommandLine (исходные текст, которым программа была запущено) и System.Environment.GetCommandLineArgs (разделённые пробелами, но с учётом ковычек).
Так же есть паскалевская функция CommandLineArgs, копирующая функционал последнего, но без имени исполняемого файла в начале.
Телеграм канал? Я что то пропустил???
И про IDE для линукса я последнее время слышу, но от разработчиков ничего не видел. Это там получается?
Пока собираем информацию. На четырех линуксах при правильно установленном mono всё запускается. Надо устанавливать mono-complete. И в некоторых Linux mono-locale-extras.
А без ошибки трудно понять, какие пакеты у вас не установлены или какие права на папки у вас не выставлены