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

Алгоритмический язык –это система обозначений и правил для единообразной и точной записи алгоритмов и их исполнения. Алгоритмический язык - это средство для записи алгорит­мов в аналитическом виде, про­межуточном между записью ал­горитма на естественном (чело­веческом) языке и записью на языке ЭВМ (языке программиро­вания).

Между понятиями «алгоритмический язык» и «языки программирова­ния» есть различие. Прежде всего, программа, записанная на алгоритмическом языке, не обязательно предназначена компьютеру. Практическая же реализация алгоритмического языка – отдельный вопрос в каждом конкретном случае.

Как и каждый язык, алгоритмический язык имеет свой словарь. Основу этого словаря составляют слова, употребляемые для записи команд, входящих в систему команд исполнителя того или иного алгоритма. Такие команды называют просты­ми командами. В алгоритмическом языке используют слова, смысл и способ упот­ребления которых задан раз и навсегда. Эти слова называютслужебными. Исполь­зование служебных слов делает запись алгоритма более наглядной, а форму пред­ставления различных алгоритмов – единообразной.

Алгоритм, записанный на алгоритмическом языке, должен иметь название. Назва­ние желательно выбирать так, чтобы было ясно, решение какой задачи описывает данный алгоритм. Для выделения названия алгоритма перед ним записывают служеб­ное слово АЛГ (АЛГоритм). За названием алгоритма (обычно с новой строки) записывают его команды. Для указания начала и конца алгоритма его команды заключают в пару служебных слов НАЧ (НАЧало) и КОН (КОНец). Команды записывают последовательно.

АЛГ – название алгоритма

НАЧ

серия команд алгоритма

КОН

Например, алгоритм, определяющий движение исполнителя-робота, может иметь вид:

АЛГ – в_склад

НАЧ

ВПЕРЕД

ВПРАВО

ВПРАВО

ВПЕРЕД

КОН

При построении новых алгоритмов могут использоваться алгоритмы, состав­ленные ранее. Алгоритмы, целиком используемые в составе других алгоритмов, называют вспомогательными алгоритмами. Вспомогательным может оказаться любой алгоритм из числа ранее составленных. Не исключается также, что вспомо­гательным в определенной ситуации может оказаться алгоритм, сам содержащий ссылку на вспомогательные алгоритмы.

Очень часто при составлении алгоритмов возникает необходимость использования в качестве вспомогательного одного и того же алгоритма, который к тому же может быть весьма сложным и громоздким. Было бы нерационально, начиная работу, каждый раз заново составлять и запоминать такой алгоритм для его последующего использования. Поэтому в практике широко используют так называемые встроенные (или стандартные) вспомогательные алгоритмы, т.е. такие алгоритмы, которые постоянно имеются в распоряжении исполнителя. Обращение к таким алгоритмам осуществляется так же, как и к «обычным» вспомогательным алгоритмам. У испол­нителя-робота встроенным вспомогательным алгоритмом может быть перемещение в склад из любой точки рабочего поля; у исполнителя-языка программирования Бейсик – это, например, встроенный алгоритм «SIN».

Алгоритм может содержать обращение к самому себе как вспомогательному, и в этом случае его называютрекурсивным. Если команда обращения алгоритма к самому себе находится в самом алгоритме, то такую рекурсию называютпрямой.Возможны случаи, когда рекурсивный вызов данного алгоритма происходит из вспомогательного алгоритма, к которому в данном алгоритме имеется обращение. Такая рекурсия называетсякосвенной. Пример прямой рекурсии:

АЛГ – движение

НАЧ

вперед

вперед

вправо

движение

КОН

Алгоритмы, при исполнении которых порядок следования команд определяется в зависимости от результатов проверки некоторых условий, называютразветвляющи­мися. Для их описания в алгоритмическом языке используют специальную составную команду – командуветвления. Применительно к исполнителю-роботу условием может быть проверка нахождения робота у края рабочего поля (край/не_край); проверка наличия объекта в текущей клетке (есть/нет) и некоторые другие:

ЕСЛИ условие ЕСЛИ условие ЕСЛИ край

ТО серия1 ТО серия ТО вправо

ИНАЧЕ серия2 ВСЕ ИНАЧЕ вперед

ВСЕ ВСЕ

Ниже приводится запись на алгоритмическом языке команды выбора, являющейся развитием команды ветвления:

ВЫБОР

ПРИ условие 1: серия 1

ПРИ условие 2: серия 2

ПРИ условие N: серия N

ИНАЧЕ серия N+1

ВСЕ

Алгоритмы, при исполнении которых отдельные команды или серии команд выполняются неоднократно, называют циклическими. Для организации цикличе­ских алгоритмов в алгоритмическом языке используют специальную составную команду цикла. Она соответствует блок-схемам типа «итерация» и может прини­мать следующий вид:

ПОКА условие НЦ

НЦ серия

серия ДО условие

КЦ КЦ