http://laska-samp.biz/informatika/articles/inf/teorija/algoritm/vspomalg
Информатика :: Теория, задания, программирование :: Информатика :: Теория :: Алгоритмизация

Вспомогательные алгоритмы

 Процесс решения сложной задачи довольно часто сводится к решению нескольких более простых подзадач. Соответственно при разработке сложного алгоритма он может разбиваться на отдельные алгоритмы, которые называются вспомогательными. Каждый такой Сначала алгоритм формулируется в «крупных» блоках (командах), которые могут быть непонятны исполнителю (не входят в его систему команд) и записываются как вызовы вспомогательных алгоритмов. Затем происходит детализация, и все вспомогательные алгоритмы подробно расписываются с использованием команд, понятных исполнителю.    Разбиение задачи на более простые подзадачи является важнейшим приемом алгоритмизации и программирования. Алгоритмы решения таких подзадач называются вспомогательным, а реализующие их программы – подпрограммами (процедурами).
 Вспомогательный алгоритм должен:
-     иметь имя, с помощью которого его можно вызвать из основного или другого вспомогательного алгоритма
-     возвращать управление тому алгоритму, из которого был вызван
-     быть относительно небольшим
Основной алгоритм определяет порядок вызова вспомогательных алгоритмов для решения задачи.
алг АЛГ 1                                  основной алгоритм
нач
            серия команд
            АЛГ 2                                    команда вызова
            серия команд
кон
алг АЛГ 2
нач                                                                       вспомогательный алгоритм
            серия команд
кон
   Примеры вспомогательных алгоритмов.
1. Алгоритм-функция, определяющая большее из двух чисел
алг вещ бид ( вещ А, В,С)
арг А,В
рез С
нач
 если А > В
     то С= А
     иначе С= В
 все
кон
 
2. Алгоритм-функция, вычисляющая факториал натурального числа N
 алг  факт ( цел N,Р)
арг N
рез   Р
нач
     Р:= 1
   для I от 1 до
Р := Р * I
кон
 3. Вспомогательный алгоритм, вычисляющий гипотенузу прямоугольного треугольника по его катетам
алггипотенуза(арг вещ А, В, рез вещ С)
      арг А, В - катеты
      рез С - гипотенуза
нач
 С :=SQRT(A ** 2 + В ** 2)
кон



Опубликовано 20 December 2015