Понятие Вспомогательный алгоритм – это алгоритм, целиком используемый в составе других алгоритмов.
Метод пошаговой детализации – это последовательное построение, при котором сложные задачи разбиваются на ряд более простых, которые и называются вспомогательным алгоритмом.
Вспомогательные алгоритмы создаются : Когда Когда необходимо необходимо разбить задачи на разбить задачи на ряд более простых ряд более простых Когда Когда необходимо многократное необходимо многократное использование одного и использование одного и того же набора действия того же набора действия в одном или разных в одном или разных алгоритмах. алгоритмах.
Формат записи алг. название алг. название арг. список аргументов арг. список аргументов рез список результатов рез список результатов нач. нач. действия действия кон. кон.
Пример Составить алгоритм нахождения максимума из 4 элементов, используя вспомогательный алгоритм нахождения максимума для 2 чисел алг max арг x, y рез М нач если x>y, то М:=x если x>y, то М:=x иначе М:=y иначе М:=окон алг вычисление максимума нач введем а, b, с, d x:=a y:=b max x:=M y:=c max x:=M y:=d max кон
Результат алгоритма Результатом работы вспомогательного алгоритма может стать значение некоторой сигнальной переменной, сообщающее об истинности какого-то условия или о наличии какого-либо факта, например, о возможности вычислить действительные корни квадратного уравнения ввиду отличного от нуля дискриминанта
Назначение вспомогательного алгоритма сократить текст основного алгоритма (за счет отсутствия многократных описаний одних и тех же повторяющихся действий); сократить текст основного алгоритма (за счет отсутствия многократных описаний одних и тех же повторяющихся действий); облегчить понимание текста программы, делая его похожим на текст на естественном языке, при условии, конечно, использования содержательных имен процедур; облегчить понимание текста программы, делая его похожим на текст на естественном языке, при условии, конечно, использования содержательных имен процедур; свести новую задачу к уже решенным, используя уже написанные алгоритмы как вспомогательные свести новую задачу к уже решенным, используя уже написанные алгоритмы как вспомогательные
Назначение вспомогательного алгоритма писать, проверять и отлаживать большую программу по частям; писать, проверять и отлаживать большую программу по частям; переделывать программы и исправлять в них ошибки, не затрагивая тех частей алгоритма, которые остаются без изменения; переделывать программы и исправлять в них ошибки, не затрагивая тех частей алгоритма, которые остаются без изменения; решить "трудную" задачу, разбивая ее на более мелкие и "легкие" подзадачи. решить "трудную" задачу, разбивая ее на более мелкие и "легкие" подзадачи.
Подпрограммы – это фрагменты программ, написанные как самостоятельные программы, к которым можно организовать обращение из разных мест в программе. Записывая программу для компьютера на понятном ему языке, вспомогательные алгоритмы можно организовать как подпрограммы.
Операторы GO SUB – обращение к подпрограмме GO SUB – обращение к подпрограмме RETURN – возврат из подпрограммы RETURN – возврат из подпрограммы
Формальные переменные - это переменная в теле подпрограммы. Формальные переменные - это переменная в теле подпрограммы. фактические переменные - это выражение, стоящее в параметрах в точке вызова подпрограммы над которым проделываются формально описанные действия подпрограммы. фактические переменные - это выражение, стоящее в параметрах в точке вызова подпрограммы над которым проделываются формально описанные действия подпрограммы.
Составить программу для нахождения максимума из 4 элементов, используя подпрограмму нахождения максимума для 2 чисел INPUT a, b, c, d INPUT a, b, c, d x=a x=a y=b y=b GOSUB 10 x=M x=M y=c y=c GOSUB 10 x=M x=M y=d y=d GOSUB 10 END 10 IF x>y THEN M=x ELSE M=y ? M RETURN
Достоинство подпрограмм Возможность неоднократного к ним обращения; Возможность использования подпрограмм с различными основными программами; Возможность разделения большой программы на подпрограммы с последующей независимой проверкой; Облегчение чтения программ, составленных другими программами
Сокращение текста и ускорение трансляции; Сокращение текста и ускорение трансляции; это средство экономии памяти: каждая подпрограмма существует в программе в единственном экземпляре, в то время как обращаться к ней можно многократно из разных точек программы; это средство экономии памяти: каждая подпрограмма существует в программе в единственном экземпляре, в то время как обращаться к ней можно многократно из разных точек программы; применение методики нисходящего проектирования программ: алгоритм представляется в виде последовательности достаточно крупных подпрограмм, реализующих более или менее самостоятельные смысловые части алгоритма. применение методики нисходящего проектирования программ: алгоритм представляется в виде последовательности достаточно крупных подпрограмм, реализующих более или менее самостоятельные смысловые части алгоритма.
Эффективным методом построения алгоритмов является метод пошаговой детализации (последовательного построения). При этом сложная задача разбивается на ряд более простых. Записывая программу для компьютера на «понятном» ему языке программирования, вспомогательные алгоритмы можно организовать, например, как подпрограммы. Подпрограммы общего назначения могут объединяться в библиотеки подпрограмм, а иногда образовывать набор стандартных функций. Эффективным методом построения алгоритмов является метод пошаговой детализации (последовательного построения). При этом сложная задача разбивается на ряд более простых. Записывая программу для компьютера на «понятном» ему языке программирования, вспомогательные алгоритмы можно организовать, например, как подпрограммы. Подпрограммы общего назначения могут объединяться в библиотеки подпрограмм, а иногда образовывать набор стандартных функций.