Учебный алгоритмический язык

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Уче́бный алгоритми́ческий язы́к — формальный язык, используемый для записи, реализации и изучения алгоритмов. В отличие от большинства языков программирования, не привязан к архитектуре компьютера, не содержит деталей, связанных с устройством машины.

Учебный алгоритмический язык
Класс языка страница значений в проекте Викимедиа[вд]
Появился в 1985
Автор А. П. Ершов
Расширение файлов .kum
Испытал влияние Лого

При изучении информатики в школах, для изучения основ алгоритмизации применяется т. н. Ру́сский алгоритми́ческий язы́к (шко́льный алгоритми́ческий язы́к), использующий понятные школьнику слова на русском языке. Алголо-подобный алгоритмический язык с русским синтаксисом был введён в употребление академиком А. П. Ершовым в середине 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)
нач 
|   цел i
|   ввод n
|   S := 0
|   для i от 1 до n
|   нц 
|   |  S := S + i * i
|   кц
|   вывод "S = ", S
кон

Пример вычисления суммы квадратов (Кушниренко):

алг Сумма квадратов (арг цел 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].
  • Ершов А. П., Монахов В. М., Бешенков С. А. и др.  Основы информатики и вычислительной техники: Учебное пособие. Ч. 1. — М.: Просвещение, 1985. — С. 96.
  • Варсанофьев Д. В., Кушниренко А. Г., Лебедев Г. В.  E-практикум — программное обеспечение школьного курса информатики и вычислительной техники // Микропроцессорные средства и системы. — 1985. — № 3. — С. 27—32.
  • Кушниренко А. Г., Лебедев Г. В., Сворень Р. А.  Основы информатики и вычислительной техники: Учебное пособие для 10-11-х кл. общеобразовательных учреждений. — М.: Просвещение, 1990. — 224 с. — ISBN 5-09-002719-6. — Переиздано в 1991, 1993 и 1996 годах