Инструменты пользователя

Инструменты сайта


cp:edu-school

Это старая версия документа!


Компонентный Паскаль в школьном курсе информатики

Тезис пионера советской информатики академика А.П. Ершова “Программирование — вторая грамотность” не потерял своей актуальности и в наши дни. Более того, быстрое развитие высоких технологий в мире и в России увеличивает спрос на ИТ-специалистов высшей квалификации.

Однако в школьной информатике сегодня наблюдается определенный отход от направления, заданного А.П. Ершовым, подмена программирования курсом ИКТ. А там, где программирование все же преподается, нередко используются либо безнадежно устаревшие языки и среды, либо неимоверно тяжеловесные коммерческие системы.

Автор семейства языков профессор Н.Вирт говорит: “Как профессионалы в информатике, мы обязаны поднять свои голоса против традиции, приравнявшей компьютерную грамотность к знанию темных деталей языка программирования, используемого в индустрии.

Конечной целью образования должно быть искусство конструктивного мышления. Именно в таком контексте становится важным наличие хорошо спроектированного языка программирования …хороший дизайн должен быть в центре нашего преподавания. Но как нам учить образцовому дизайну с помощью инструментов и языков, которые делают нас посмешищем? К нашему сожалению, индустрия программирования сделала не много, чтобы помочь нам, преподавателям, преодолеть наши трудности” [1].

Происходящий сегодня перевод российских школ на свободное ПО дает еще один повод серьезно подумать о том, что взять на перспективу в качестве бесплатной современной учебной среды для преподавания основ алгоритмизации и программирования. К сожалению, российские разработчики трансляторов пока ничего достойного в этом плане не предлагают. Придется обратиться к мировому опыту. Однако и здесь, как справедливо отмечает Н.Вирт, тоже негусто. Но по крайней мере одно удачное решение уверенно можно назвать. Это язык Компонентный Паскаль (Component Pascal) и среда его реализации Блэкбокс (BlackBox Component Builder) швейцарской фирмы Oberon Microsystems [2]. Среда идеально подходит для сквозного курса программирования, начиная со средних классов школы и заканчивая средними курсами университетов. Распространяется бесплатно вместе с исходными текстами.

Среда не требует установки, допускает модификацию, дополнение, расширение и полную перекомпиляцию. Работает под управлением Windows 95’XP и Linux с эмулятором Wine. Ведутся работы по полному переносу среды на платформу Linux.

Российские специалисты приняли активное участие в развитии и русификации среды [3]. Дополнительные удобства для преподавания предоставляет серия подсистем под общим названием Info21 Ф.В. Ткачева.

Разработана облегченная, школьная версия Блэкбокса. Ее основное отличие заключается в отсутствии некоторых подсистем, использование которых в школе не представляется возможным. И включено три полезных, на наш взгляд, подсистемы, не входящих в базовую поставку: инструментальная панель с пиктограммами, исполнитель “черепашка” и просмотрщик файлов. Кроме того, внесен ряд изменений в настройки для обеспечения большего удобства начинающим пользователям. Имеется русскоязычная документация, меню, диалоговые формы и сообщения компилятора. В архивированном виде среда занимает всего около 5 Мб.

Новосибирской фирмой Excelsior разработан профессиональный оптимизирующий компилятор XDS языков Modula-2/Oberon-2, с 2005 года ставший бесплатным и полноценно работающий на платформах Windows и Linux (https://www.excelsior.ru/products/xds).

Язык Component Pascal представляет собой немного дополненный Oberon-2. Для подавляющего большинства школьных учебных примеров исходные тексты программ на этих языках идентичны.

В сети Интернет есть несколько сайтов, на которых размещены обсуждаемые материалы:

— оригинальный (англоязычный) Блэкбокс можно скачать с сайта разработчиков: https://blackboxframework.org;

— сайт общественного проекта, посвященного обновлению основ преподавания программирования в школах и вузах: https://informatika-21.ru/. Здесь можно найти версии Блэкбокса для школ и для вузов, статьи ученых и преподавателей, адреса коллег;

— сайт поддержки Блэкбокса в России (г. Орел) https://www.oberoncore.ru и форум для вопросов и обсуждений https://forum.oberoncore.ru;

— коллекция алгоритмов и программных компонентов: https://www.zinnamturm.eu

В школьной версии Блэкбокса представлена новая реализация известного исполнителя “черепашка”, выполненная на Компонентном Паскале. Программа управления черепашкой пишется полностью на нем же, что принципиально отличается от подхода, принятого в “ЛогоМирах”. Это является большим преимуществом ввиду острой нехватки учебных часов, выделяемых на изучение азов алгоритмизации, поскольку при переходе от работы с исполнителем к изучению “настоящего”, более абстрактного программирования ученикам не придется осваивать новый язык и среду разработки. Кроме того, учащиеся становятся в силах сами расширять ассортимент команд черепашки, что существенно повышает интерес к занятиям.

Отличия

Покажем основные особенности Компонентного Паскаля в сравнении с Turbo Pascal.

Все ключевые слова пишутся в верхнем регистре (большими буквами). Большие и маленькие (прописные и строчные) буквы везде различаются, т.е. в именах переменных, констант, типов, процедур и модулей. Например, INTEGER и Integer — это разные имена.

Оператор присваивания ничем не отличается. Основные алгоритмические конструкции изменились мало и стали удобнее. При написании блочных операторов больше не требуется ключевое слово begin.

Turbo Pascal Компонентный Паскаль
if ... then begin
 ...        end
else begin ... end
IF ... THEN
       ELSE
END 
while ... do begin
...
end
WHILE ... DO
...
END
for i := 1 to 10 do
begin
...
end
FOR I  := 1 TO 10 DO
 ...
END

Появилась возможность соединять несколько IF-ов в цепочку с помощью ELSIF:

IF … THEN … ELSIF … THEN … ELSIF … THEN … ELSE … END

оригинал https://inf.1sept.ru/article.php?ID=200800100

cp/edu-school.1656779349.txt.gz · Последнее изменение: 2022/07/02 19:29 — iadenisov