Вы не школьник, знаете наверняка больше - осильте, пожалуйста, на своем любимом FPC в его стандартной поставке.
Но зачем?! Я же сказал, что эту задачу правильней всего решать вообще без компьютера. Ну если уж вы так настаиваете…
Program count_base_digits;
Uses
BaseUnix;
Const
shell_path = '/bin/sh'#0;
shell_opts = '-c'#0;
shell_cmdl = 'bc <<< "obase=7;49^7+7^21-7" | tr -cd 6 | wc -c'#0;
Var
status: Integer;
argv: array[0..2] of pchar;
Begin
argv[0]:= @shell_path[1];
argv[1]:= @shell_opts[1];
argv[2]:= @shell_cmdl[1];
status := FpExecv(@shell_path[1], @argv);
if (status <> 0) then
WriteLn(stderr, 'Error: ', status);
End.
Если ваш тезис в том, что написать такой код дольше, чем тот код на pABCn (при условии знания нужных методов заранее), то это и так было понятно. Но вот что вы хотели этим доказать — не ясно.
Не согласен. Если бы это был новый язык, то и назывался бы он не PascalSomething, а например P# или Oxygene. А раз в имени есть слово Pascal, значит язык должен быть совместим с паскалем.
Вы будете учить школьников старому паскалю и указателям (если вы конечно учите школьников),
Вот пример. Если бы вы действительно верили тому что пишете, вы бы написали “паскалю”, а не “старому паскалю”. А раз вы говорите “старый”, значит предполагается, что есть и “новый”. Но “новый паскаль” — это всё равно паскаль.
Для этого нужно минимум иметь персональное хранилище модулей и вообще уметь их оформлять.
Да, надо! И вот именно это гораздо важнее для начинающего программиста, чем использование всяких фишек .Net, которые потом нигде не пригодятся, кроме этого .Net.
Кроме, видимо, ФИПИ и МинОбра. Потому что задачи из ЕГЭ думать как раз и не заставляют. Они заставляют или использовать один из готовых шаблонов для решения класса конкретных задач, или использовать брутфорс на компьютере.
Вообще-то нет. Вот как я например решаю задачи из ЕГЭ по информатике, не зная ни одного готового шаблона? Дело не в ЕГЭ как таковом, а в том, что на него учеников натаскивают, вместо того что бы прививать глубокое понимание необходимых для него концепций. И если учеников учат запускать “калькулятор” (встроенный в pABCn), что бы получить готовый ответ, вместо того, что бы подумать — не вижу ничего в этом хорошего. Из задачи отчётливо видно, что её составители не предполагали использование калькуляторов.
В любом случае, если школьник получает возможность свое решение проверить - это отлично, а не должно подвергаться гонениям.
При подготовке к экзамену — да, эта возможность полезна, но, как видим, пихать это в компилятор паскаля совершенно незачем, поскольку это имеется в стандартной поставке современной операционной системы.
Да, А если есть - оставляет за собой право переместить участок занятой памяти в другое место. Но указтели он править не будет при этом.
Так это же дырища размером с Марс. Вам нужно или как-то костылить возможность создания области памяти, которая гарантированно не будет перемешиваться и разрешать указатели только на неё, или сделать так что бы код с указателями не компилировался без специальной директивы типа {$mode UnsafeBrokenPointersDoNotUse}