Книги-online
Глава 7 Алгоритмы. Алгоритмизация. Алгоритмические языки
7.8. Как записываются алгоритмы на школьном алгоритмическом языке?
Основные служебные слова
алг (алгоритм) |
сим (символьный) |
дано |
для |
да |
арг (аргумент) |
лит (литерный) |
надо |
от |
нет |
рез (результат) |
лог (логический) |
если |
до |
при |
нач (начало) |
таб(таблица) |
то |
знач |
выбор |
кон (конец) |
нц (начало цикла) |
иначе |
и |
ввод |
цел (целый) |
кц (конец цикла) |
все |
или |
вывод |
вещ (вещественный) |
длин (длина) |
пока |
не |
утв |
Общий вид алгоритма:
алг название алгоритма (аргументы и результаты)
дано условия применимости алгоритма
надо цель выполнения алгоритма
нач описание промежуточных величин
| последовательность команд (тело алгоритма)
кон
|
Часть алгоритма от слова алг до слова нач называется
заголовком, а часть, заключенная между словами
нач и кон телом алгоритма.
В предложении алг после названия
алгоритма в круглых скобках указываются характеристики (арг,
рез) и тип значения (цел, вещ, сим, лит или лог) всех
входных (аргументы) и выходных (результаты)
переменных. При описании массивов (таблиц) используется служебное
слово таб, дополненное граничными парами по каждому индексу
элементов массива.
Примеры предложений алг:
алг Объем и площадь цилиндра ( арг вещ R, H, рез вещ V, S )
алг Корни КвУр ( арг вещ а, b, c, рез вещ x1, x2, рез лит t )
алг Исключить элемент ( арг цел N, арг рез вещ таб А[1:N] )
алг Диагональ ( арг цел N, арг цел таб A[1:N, 1:N], рез лит Otvet )
Предложения дано и надо не обязательны. В них рекомендуется
записывать утверждения, описывающие состояние среды исполнителя алгоритма,
например:
алг Замена (арг лит Str1, Str2, арг рез лит Text)
дано | длины подстрок Str1 и Str2 совпадают
надо | всюду в строке Text подстрока Str1 заменена на Str2
алг Число максимумов (арг цел N, арг вещ таб A[1:N], рез цел K)
дано | N>0
надо | К число максимальных элементов в таблице А
алг Сопротивление (арг вещ R1, R2, арг цел N, рез вещ R)
дано | N>5, R1>0, R2>0
надо | R сопротивление схемы
Здесь в предложениях дано и надо
после знака "|" записаны комментарии. Комментарии можно помещать
в конце любой строки. Они не обрабатываются транслятором, но существенно
облегчают понимание алгоритма.
Команды школьного АЯ
Команда присваивания. Служит для вычисления выражений и присваивания
их значений переменным. Общий вид: А := В, где знак ":=" означает
команду заменить прежнее значение переменной, стоящей в левой части,
на вычисленное значение выражения, стоящего в правой части.
Например, a := (b+c) * sin(Pi/4); i := i+1.
Команды ввода и вывода.
- ввод имена переменных
- вывод имена переменных, выражения, тексты.
Команды если и выбор.
Применяют для организации ветвлений.
Команды для и пока.
Применяют для организации циклов.
Пример записи алгоритма на школьном АЯ
алг Сумма квадратов (арг цел 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
кон