- •1.1. Формальная постановка задачи
- •1.2. Выбор метода решения
- •1.3. Внешняя спецификация программы
- •1.4. Разработка алгоритма
- •1.5. Кодирование алгоритма на языке программирования
- •1.6. Испытания программы на тестах
- •Вопросы для самоконтроля
- •2. Язык для записи алгоритмов
- •2.1. Базовые типы величин
- •2.2. Объявление величин в алгоритме
- •2.3. Базовые операции
- •2.4. Управляющие структуры
- •2.5. Структура алгоритма
- •Вопросы для самоконтроля
2.5. Структура алгоритма
Запись алгоритма представляется композицией описанных выше операций и управляющих структур и имеет строго определенную структуру. Ниже приведены два вида структур алгоритма – структура независимого алгоритма, который на языке программирования представляется основной программой, и структура вспомогательного алгоритма, представляемого на языке программирования подпрограммой.
С
Алгоритм
“<название-алгоритма>” Внутренние
переменные:
<список-переменных> Начало
<последовательность-исполнимых-действий> Конец
Здесь
<список-переменных> - объявление переменных алгоритма, т.е. перечень отдельных переменных с указанием их типов, а для массивов – также и с указанием граничных пар для каждого индекса.
<последовательность-исполнимых-действий> - описание метода решения в виде упорядоченной последовательности отдельных вычислительных операций, построенной с использованием управляющих структур.
Использованные ключевые слова(Алгоритм, Внутренний переменные, Начало и Конец) записаны полностью, но отдельные части в них выделены жирным шрифтом и подчеркнуты. Это сделано для того, чтобы в последующих текстах использовать только выделенные части.
С
Алгоритм
“<название-алгоритма>” Входные
данные:
<список-переменных> Выходные
данные:
<список-переменных> Внутренние
переменные:
<список-переменных> Начало
<последовательность-исполнимых-действий> Конец
Комментарий. Алгоритм называется вспомогательным в связи с тем, что он не решает всей задачи и исполняется по инициативе другого алгоритма. Эти два алгоритма – вызываемый и вызывающий, должны обмениваться между собой информацией. Этот обмен производится через переменные. В тексте вспомогательного алгоритма для данных, которые поступают из вызывающего алгоритма, используется раздел входных переменных. А раздел выходных данных содержит данные, являющиеся результатом работы данного алгоритма и возвращаемые в вызывающий алгоритм.
Пример записи вспомогательного алгоритма:
Алг
“НОД по
Евклиду” Входн
дан:
a,
b : цел
{входные числа, НОД которых требуется
найти} Выходн
дан
: с
: цел
{выходная переменная с НОД(a,b) }
exist
: лог
{признак существования НОД} Внутр
перем
: a1,
b1 : цел
{рабочие
переменные} Нач
если
(a=0 или
b=0) то
exist
:= false {НОД не существует}
иначе
a1:=abs(a)
b1:=abs(b)
цикл-пока
(a1<>b1)
если
(a1>b1) то
a1:=a1
– b1
иначе
b1:=b1
– a1
все
кцикл
c:=a1
{искомый НОД}
exist
:= false
все
кон
И если у вас имеется алгоритм, то из языка программирования, на котором этот алгоритм вы собираетесь записать, вам в первую очередь надо изучить средства, необходимые для кодирования объявлений переменных, вычислительных операций, управляющих структур и структуру программ (подпрограмм) в целом. Процесс записи алгоритма на языке программирования – задача следующего этапа – этапа кодирования.
