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

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

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

В последние несколько лет школьный алгоритмический язык включается как один из предлагаемых в текстах задач ЕГЭ по информатике.

См. также

Примечания

Литература

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.