В ЯПВУ одним оператором представляются целые алгоритми
ческие структуры: ветвление, цикл. Правда, такое есть не во всех
языках (например, нет в стандартном Бейсике). Языки, в которых
имеются структурные операторы, принято называть
структур н и
ми языками.
К их числу относятся Паскаль и Си.
Изучение языков программирования высокого уровня в базо
вом курсе должно носить только ознакомительный характер. Но
использовать для этого какой-то учебный язык, учебную систему
программирования, совсем не обязательно. Реальные ЯПВУ мож
но изучать с разной степенью подробности. Освоение же работы в
современных системах программирования на таких языках не вызы
вает больших затруднений.
Наиболее целесообразно для начального знакомства с языка
ми программирования использовать язык Паскаль. Язык Паскаль
был создан в 1971 г. Никлаусом Виртом как учебный язык. Основ
ной принцип, заложенный в нем, — это поддержка структурной
методики программирования. Этот же принцип лежит в основе
учебного алгоритмического языка (АЯ). По сути дела, расхожде
ние между АЯ и Паскалем состоит в следующем: АЯ — русско
язычный, Паскаль — англоязычный; синтаксис Паскаля опреде
лен строго и однозначно в отличие от сравнительно свободного
синтаксиса АЯ.
Конечно, учитель может выбрать и язык Бейсик из-за привыч
ки к нему или при отсутствии системы программирования на
Паскале. Но в этом случае возникают серьезные
методические
проблемы: как аккуратно отразить концепцию типов данных и
структурную
методику программирования на Бейсике? В принци
пе, известно, как это делать, но для неопытного учителя это мо
жет оказаться проблемой.
Поскольку в базовом курсе ставится только лишь цель первона
чального знакомства с программированием, то строгого описания
языка программирования не требуется. Основной используемый
метод — демонстрация языка на примерах простых программ с крат
кими комментариями. Некоторые
понятия достаточно воспринять
ученикам на «интуитивном» уровне. Наглядность такого языка, как
Паскаль, облегчает это восприятие. Кроме того, пониманию помо
гает аналогия между Паскалем и русскоязычным алгоритмическим
языком. Для выполнения учениками несложных самостоятельных
заданий достаточно действовать методом «по образцу».
Учитель может задуматься над проблемой: как лучше связать
изучение
методов построения алгоритмов работы с величинами и
языка программирования. Здесь возможны два варианта:
1)
сначала рассматриваются всевозможные алгоритмы, для
описания которых используются блок-схемы и АЯ, а затем — пра
вила языка программирования,
способы перевода уже построен
ных алгоритмов в программу на этом языке;
298
2)
алгоритмизация и язык программирования осваиваются па
раллельно.
В учебнике [15] используется первый подход, в учебниках [6,
12] использован второй подход. В курсе А.Г.Кушниренко [14] учеб
ный алгоритмический язык доведен до уровня языка программи
рования, реализованного в системе КуМир. В этом случае алго
ритмизация и программирование осуществляются в единой язы
ковой среде.
Опыт показывает, что теоретическое изучение алгоритмиза
ции и программирования, оторванное от практики, малоэффек
тивно. Желательно, чтобы ученики как можно раньше получили
возможность проверять правильность своих алгоритмов, работая
на компьютере. А для этого им нужно знакомиться с языком про
граммирования, осваивать приемы работы в системе программи
рования.
Метод последовательного изучения алгоритмизации и
языка программирования приемлем лишь в «безмашинном» вари
анте.
Даже при использовании компьютера, на первом этапе реко
мендуется не отказываться от ручной трассировки алгоритма. Этот
прием помогает ученикам «почувствовать» процесс исполнения,
увидеть свои ошибки, допущенные в алгоритме. Когда же они ста
нут более опытными программистами, например осваивая про
фильный курс программирования в старших классах, тогда мож
но будет отказаться от ручной трассировки.
Обучение программированию должно проводиться на приме
рах типовых задач с постепенным усложнением структуры алго
ритмов. По признаку алгоритмической структуры их можно клас
сифицировать так:
• линейные алгоритмы: вычисления по формулам, всевозмож
ные пересылки значений переменных;
• ветвящиеся алгоритмы: поиск наибольшего или наименьше
го значений из нескольких данных; сортировка двух-трех значе
ний; диалог с ветвлениями;
• циклические алгоритмы: вычисление сумм и произведений
числовых последовательностей, циклический ввод данных с пос
ледовательной обработкой.
Такая последовательность задач рассматривается в учебнике [6]
и предлагается в списке заданий для самостоятельного выполне
ния.
Достарыңызбен бөлісу: