Учебный алгоритмический язык
Уче́бный алгоритми́ческий язы́к — формальный язык, используемый для записи, реализации и изучения алгоритмов. В отличие от большинства языков программирования, не привязан к архитектуре компьютера, не содержит деталей, связанных с устройством машины.
При изучении информатики в школах для изучения основ алгоритмизации применяется т. н. Русский алгоритмический язык (школьный алгоритмический язык), использующий понятные школьнику слова на русском языке. Алголо-подобный алгоритмический язык с русским синтаксисом был введён в употребление академиком А. П. Ершовым в середине 1980-х годов в качестве основы для «безмашинного» курса информатики. Впервые был опубликован в учебнике «Основы информатики и вычислительной техники» в 1985 г.[1] Язык также применялся для записи алгоритмов в учебнике А. Г. Кушниренко, Г. В. Лебедева и Р. А. Свореня «Основы информатики и вычислительной техники» для 9-10 классов (1990 г. и последующие переиздания; общий тираж составил 7 млн экземпляров)[2].
Система типов
Обычные величины/значения:
- цел – целые числа из диапазона от -32768 до 32767 (2 байта)
- вещ – вещественные числа от -1038 до 1038 (4 байта) Например: 3.14; 0.314е1; 27e-2 = 0.27
- лог – логические переменные (да, нет) (1 байт) (да>нет)
- сим – символьные переменные (‘a’, ‘5’, ‘.’, ‘,’ …) (1 байт)
- лит – литерные (строковые) переменные (‘’, ‘мама мыла раму’) (256 байт)
Для табличных величин к обычным добавляется таб, например:
цел таб вещ таб лог таб сим таб лит таб
Описание переменных:
цел а,в,с вещ х,у
Команда присваивания:
Имя := значение; Имя := Имя2; Имя := значение выражения
Виды величин
- аргументы (арг) – описываются в заголовке алгоритма,
- результаты (рез) – описываются в заголовке алгоритма,
- значения функций (знач) – описываются указанием типа перед именем алгоритма – функции,
- локальные – описываются в теле алгоритма, между нач и кон,
- общие – описываются после строки исп исполнителя, до первой строки алг.
Примеры
Алгоритм на русском алгоритмическом языке в общем виде записывается в форме:
алг название алгоритма (аргумент и результат) дано условия применимости алгоритма надо цель выполнения алгоритма нач описание промежуточных величин | последовательность команд (тело алгоритма) кон
В записи алгоритма ключевые слова обычно подчёркивались либо выделялись полужирным шрифтом. Для выделения логических блоков применялись отступы, а парные слова начала и конца блока соединялись вертикальной чертой.
Пример вычисления суммы квадратов:
алг Сумма квадратов (арг цел n, рез цел S)
дано | n > 0
надо | S = 1*1 + 2*2 + 3*3 + … + n*n
нач цел i
| ввод n; S:=0
| нц для i от 1 до n
| | S := S + i * i
| кц
| вывод "S = ", S
кон
Е-практикум
Для подкрепления теоретического изучения программирования по алгоритмическому языку специалистами мехмата МГУ в 1985 г. был создан редактор-компилятор «Е-практикум» («Е» — в честь Ершова), позволяющий вводить, редактировать и исполнять программы на алгоритмическом языке[3].
В 1986 г. для «Е-практикума» был выпущен комплект учебных миров (исполнителей): «Робот», «Чертёжник», «Двуног», «Вездеход», которые позволяют просто вводить понятия алгоритма. «Е-практикум» был реализован на компьютерах: Ямаха, Корвет, УКНЦ и получил широкое распространение.
Данный язык программирования постоянно дорабатывался и описание более позднего варианта «Е-практикума» появилось в учебнике 1990 года. Система программирования «КуМир» («Комплект Учебных Миров»), поддерживающая этот учебник, была выпущена в свет предприятием «ИнфоМир» в 1990 году. Язык этой системы также называется «КуМир».
КуМир
В 2018 году НИИСИ РАН была выпущена версия 2.0 пакет «КуМир» для Windows и Linux. В системе используется несколько исполнителей; основные — это классические «Робот» и «Чертёжник». Пакет включен в дистрибутив ALT Linux Школьный.
Система «КуМир» разработана в НИИСИ РАН по заказу Российской академии наук и распространяется свободно на условиях лицензии GNU GPL 2.0.
В последние несколько лет школьный алгоритмический язык включается как один из предлагаемых в текстах задач ЕГЭ по информатике.
См. также
Примечания
Литература
- Ершов А. П. Алгоритмический язык в школьном курсе основ информатики и вычислительной техники // Микропроцессорные средства и системы. — 1985. — № 2. — С. 48—51. (недоступная ссылка) То же в архиве академика А. П. Ершова: .
- Ершов А. П., Монахов В. М., Бешенков С. А. и др. Основы информатики и вычислительной техники: Учебное пособие. Ч. 1. — М.: Просвещение, 1985. — С. 96.
- Варсанофьев Д. В., Кушниренко А. Г., Лебедев Г. В. E-практикум — программное обеспечение школьного курса информатики и вычислительной техники // Микропроцессорные средства и системы. — 1985. — № 3. — С. 27—32.
- Кушниренко А. Г., Лебедев Г. В., Сворень Р. А. Основы информатики и вычислительной техники: Учебное пособие для 10-11-х кл. общеобразовательных учреждений. — М.: Просвещение, 1990. — 224 с. — ISBN 5-09-002719-6. — Переиздано в 1991, 1993 и 1996 годах
Ссылки
- Ершов А. П. Алгоритмический язык в школьном курсе основ информатики и вычислительной техники. 07.05.1985 в архиве академика Ершова
- Система программирования КуМир для Windows и Linux