[ домой ] | [ следующий ] [ начало главы ] [ предыдущий ] | [ содержание ] |
алг (алгоритм) | сим (символьный) | дано | для | да |
арг (аргумент) | лит (литерный) | надо | от | нет |
рез (результат) | лог (логический) | если | до | при |
нач (начало) | таб(таблица) | то | знач | выбор |
кон (конец) | нц (начало цикла) | иначе | и | ввод |
цел (целый) | кц (конец цикла) | все | или | вывод |
вещ (вещественный) | длин (длина) | пока | не | утв |
Общий вид алгоритма:
алг название алгоритма (аргументы и результаты) дано условия применимости алгоритма надо цель выполнения алгоритма нач описание промежуточных величин | последовательность команд (тело алгоритма) кон |
Часть алгоритма от слова алг до слова нач называется заголовком, а часть, заключенная между словами нач и кон телом алгоритма.
В предложении алг после названия алгоритма в круглых скобках указываются характеристики (арг, рез) и тип значения (цел, вещ, сим, лит или лог) всех входных (аргументы) и выходных (результаты) переменных. При описании массивов (таблиц) используется служебное слово таб, дополненное граничными парами по каждому индексу элементов массива.
Примеры предложений алг:
алг Объем и площадь цилиндра ( арг вещ 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 кон
[ домой ] | [ следующий ] [ начало главы ] [ предыдущий ] | [ содержание ] |