ну так если школьник сидит на линухе, то ему и mono поставить – раз плюнуть, и консольный компилятор как родной должен быть. да и линукс в какой-то мере это тоже создание себе проблем в обмен на больший функционал(?).
ну так ide уже пилят, как отмечено выше
опять же: можете считать как угодно. но из-за этих убеждений никто не обязан устанавливать дополнительные среды в школе, а тем более менять диалекты. если каждый ученик в школе начнёт требовать определённых порядков, соответствующих его убеждениям, то начнётся бардак.
к сожалению, если рассматривать опыт киберфорума, то ситуация, где переменные слишком далеко – обычное дело.
давайте посмотрим на школьную программу. если реально таких задач нет, то зачем на них ориентироваться?
да и список был нужен не для того что бы убедиться в различиях диалектов, а что бы представлять что действительно активно использовалось и не может быть переведено простыми путями
Программа для решения квадратного уравнения — это не школьная задача? Мне казалось что на примере такой программы часто и разбирают простейшие конструкции языка программирования. Следующий шаг после hello world, в общем.
Почему вы так думаете? Установка и эксплуатация Linux не сложнее чем Windows. Конечно использование его коррелирует с большей компьютерной грамотностью, но вовсе не обязательно с ней сопряжено. Например школьнику мог линукс посоветовать одноклассник и записать на флешку или дать диск.
Работа с аргументами командной строки явно в ней не рассматривается. Разграничение потоков ввода/вывода тоже вряд ли где-то обозначивается.
Хотя я уже немного начинаю путаться какую проблему мы тут обсуждаем. Раз всё сводится к школьникам, то единственная проблема – отсутсвие ide на данный момент. Если ide будет, то все остальные проблемы по-моему надуманы. Та ситуация, когда человека учат pabc, а он носит в школу код на fpc уже обмусолена. Зависимости тоже не проблема. Сейчас установщик под win подтягивает .net fw самостоятельно, если я не ошибаюсь. На linux, вероятно, будет подтягивать mono
Дорогие коллеги. Хочу узнать, почему в WindowsForm не работает random (хот какой). Говорит, что “Unit1.pas(27) : У операции преобразования типов допустим только один параметр”.
Дело в том, что функцию 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, вероятно, в скором времени не станет
а домашнее, связанное с написанием кода бывает вообще? а то у нас, например, задавали максимум операторы повторить. так что проблем, связанных с установкой чего-либо и в помине не было))