В работе рассмотрим возможные критерии выбора языка программирования для использования в средней школе. Попытаемся определить какой язык программирования можно и лучше использовать в школе для обучения учащихся.
Так как при преподавание алгоритмизации и программирования в школе проводится на вычислительных задачах, то для вычислительных задач среда реализации алгоритма минимально необходимо должна иметь возможности:
вычисления всех элементарных математических функций (или хотя бы двух: Ln (:) и EXP (:), - это минимально необходимый набор функций, позволяющий вычислить любую элементарную математическую функцию);
- выполнения всех арифметических операций
- ("+", "-", "*", "/");
- реализации:
- логических операций сравнение:
- ">", ">=", "=", "<>","<=", "<"
- логических операций:
- "И", "ИЛИ", "НЕ",
- наличие аналога логической функции:
- ЕСЛИ:ТО:ИНАЧЕ:,
- наличие оператора, позволяющего реализовать цикл или хотя бы оператор безусловного перехода.
В качестве среды реализации алгоритма, при данных требованиях, можно использовать любой операторный язык программирования, так как любой из них с лихвой обеспечивает выполнение данных минимальных требований. Именно минимальные требования к среде программирования и позволяют учителям информатики использовать для обучения учащихся тот язык программирования, который им больше нравится или, скорее всего, который они знают лучше любого другого.
Таким образом, по критерию возможности применения ограничений нет.
Основная задача школы - это научить учащихся решать задачи, строить алгоритмы. Подавляющее большинство задач - вычислительные. Но в школе не даются даже азы теории ошибок, и именно поэтому, совершенно не предъявляются требования к точности вычислений. Последнее существенно снижает требования, предъявляемые к языку программирования.
Таким образом, по точности вычислений можно утверждать, что для вычислительных работ в школе можно использовать любой операторный язык программирования.
Один из критериев выбора языка программирования задается в неявной форме стандартом образования. Учитель информатики не может, согласно стандарту образования, уделить достаточно времени для полноценного знакомства (не говоря уже об изучении) языка программирования. С другой стороны, для заданного класса задач необходимо полное изучение возможностей языка программирования, хотя бы потому, что задачи ЕГЭ будут разрабатываться людьми на базе данного языка программирования. Именно поэтому требуется достаточно простой язык, позволяющий с минимальными временными затратами решить задачу "знакомства с языком программирования".
По сложности задач, необходимо рассмотреть со школьниками минимум три задачи, приводящие к базовой структуре (линейной, ветвления или циклу). Разбор задач, содержащих одну вложенную структуру, потребует, в общем виде, рассмотреть с учащимися еще восемь задач. Более сложные задачи, приводящие к более сложным алгоритмам - к двойным вложенным структурам - потребуют рассмотреть с учащимися еще двадцать семь задач. Но кто даст время на это? Именно поэтому можно утверждать, что в школе при изучении раздела основ алгоритмизации и программирования можно рассмотреть только достаточно простые задачи.
Вопрос о критерии выбора языка программирования для обучения школьников должен определяться тем классом задач, которые необходимо решать. Можно предложить для изучения программирования следующие классы задач:
- графические,
- вычислительные.
Как уже говорилось, требуется наибольшая простота оперирования используемым языком программирования при минимуме необходимой информации о нем.
Приведем пример, для знакомства с построением программ графики язык программирования Qbasic более удобен, чем язык программирования Pascal. Это связано с тем, что для программирования графики в Qbasic достаточно знать два графических оператора (Line: и Circle:) и оператор переключения режима отображения информации на экран монитора (Screen:). В Pascal и графических операторов гораздо больше, и требуется инициация модуля GRAPH. Следовательно, необходимо больше потратить времени на их изучение для решения тех же, что в QBASIC, графических задач. Для вычислительных задач язык программирования Pascal более удобен относительно QBasic, так как в Pascal меньше операторов, реализующих основные структуры алгоритмов.
Для вычислительных задач язык программирования Pascal лучше, чем Си, так как в Си дополнительно необходимо знать, когда и какие модули необходимо подключать, а это тоже время на изучение данного вопроса. Именно поэтому, для вычислительных задач лучше использовать Pascal (тем более что он специально разрабатывался для учебных целей), чем Си.
PASCAL, имея в своем арсенале операторные скобки BEGIN:END, позволяет в учебных программах не только структурировать программу, но и выделять ее отдельные фрагменты, решающие рассматриваемые на данном уроке подзадачи.
В качестве примера приведем фрагмент программы.
BEGIN
BEGIN {----- Блок ввода исходной информации -----}
WriteLn('');
ReadLn(X);
END;
BEGIN {----- Блок обработки информации ------}
Y := X*X;
END;
BEGIN {----- Блок вывода результатов -----}
WriteLn(Y:10:3);
END;
END;
Наглядно и просто для начинающих программировать.
Обобщая выше изложенное, можно предложить следующие критерии выбора языка программирования:
- по возможности применения, как среды реализации алгоритмов, для вычислительных работ в школе можно использовать любой операторный язык программирования;
- по точности вычислений можно утверждать, что для вычислительных работ в школе можно использовать любой операторный язык программирования;
- для программирования графики BASIC наиболее удобен, так как содержит в своем арсенале наименьшее количество графических операторов;
- для вычислительных задач язык программирования Pascal более удобен, так как в нем меньше операторов, реализующих основные структуры алгоритмов.
Именно поэтому в своей практике автор использует Qbasic для преподавания программирования графики в 5-6 классах; а в 7-11 классах, для программирования вычислительных задач используется PASCAL.