Общий вид алгоритма:
алг название алгоритма (аргументы и результаты) дано условия применимости алгоритма надо цель выполнения алгоритма нач описание промежуточных величин | последовательность команд (тело алгоритма) кон
Часть алгоритма от слова алг до слова нач называется заголовком, а часть, заключенная между словами нач и кон — телом алгоритма.
В предложении алг после названия алгоритма в круглых скобках указываются характеристики (арг, рез) и тип значения (цел, вещ, сим, литилилог) всех входных (аргументы) и выходных (результаты) переменных. При описании массивов (таблиц) используется служебное слово таб, дополненное граничными парами по каждому индексу элементов массива.
Алгоритмы как логико-математические средства отражают указанные компоненты человеческой деятельности и тенденции, а сами алгоритмы, в зависимости от цели, начальных условий задачи, Петей ее решения, определения действий исполнителя подразделяются следующим образом:
• механические алгоритмы (детерминированные, жесткие, например, алгоритм работы машины, двигателя). Механический алгоритм задает определенные действия, обозначая их в единственной и достоверной последовательности, обеспечивая тем самым однозначный требуемый или искомый результат, если выполняются те условия процесса, задачи, для которых разработан алгоритм;
• гибкие алгоритмы;
• вероятностные (стохастические) алгоритмы дают программу решения задачи несколькими путями или способами, приводящими к вероятному достижению результата;
• эвристические алгоритмы – это алгоритмы, в которых достижение конечного результата программы действий однозначно не определено, так же как не обозначена вся последовательность действий исполнителя. К эвристическим алгоритмам относят, например, инструкции и предписания.
В этих алгоритмах используются универсальные логические процедуры и способы принятия решений, основанные на аналогиях, ассоциациях и прошлом опыте решения схожих задач.
• линейные алгоритмы – наборы команд (указаний), выполняемых последовательно во времени друг за другом;
• разветвляющиеся алгоритмы – алгоритмы, содержащие хотя бы одно условие, в результате проверки которого компьютер обеспечивает переход на один из двух возможных шагов;
• циклические алгоритмы – алгоритмы, предусматривающие многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов;
• вспомогательные (подчиненные) алгоритмы (процедуры) – алгоритмы, ранее разработанные и целиком используемые при алгоритмизации конкретной задачи. В некоторых случаях при наличии одинаковых последовательностей указаний (команд) для различных данных с целью сокращения записи так же выделяют вспомогательные алгоритмы.
Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых(т.е. основных) элементов.
Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, ветвление, цикл.
Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.
1. Базовая структура "следование". Образуется последовательностью действий, следующих одно за другим:
Школьный алгоритмический язык
Язык блок-схем
действие 1 действие 2 . . . . . . . . . действие n
2. Базовая структура "ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:
если—то;
если—то—иначе;
выбор;
выбор—иначе.
Школьный алгоритмический язык
Язык блок-схем
1. если—то
если условие то действия все
2. если—то—иначе
если условие то действия 1 иначе действия 2 все
3. выбор
выбор при условие 1: действия 1 при условие 2: действия 2 . . . . . . . . . . . . при условие N: действия N все
4. выбор—иначе
выбор при условие 1: действия 1 при условие 2: действия 2 . . . . . . . . . . . . при условие N: действия N иначедействия N+1 все
3. Базовая структура "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Основные разновидности циклов представлены в таблице:
Школьный алгоритмический язык
Язык блок-схем
Цикл типа пока. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.
нц пока условие тело цикла (последовательность действий) кц
Цикл типа для. Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.
нц для i от i1до i2 тело цикла (последовательность действий) кц