Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)


 

 

 

 



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



 

В теории алгоритмов известно понятие вспомогательного алгоритма. Вспомогательным называется алгоритм решения некоторой подзадачи из основной решаемой задачи. В таком случае алгоритм решения исходной задачи называется основным алгоритмом.

В качестве примера рассмотрим следующую задачу: требуется составить алгоритм вычисления степенной функции с целым показателем у = хk, где k – целое число, х ≠ 0. В алгебре такая функция определена следующим образом:

 

Для данной задачи в качестве подзадачи можно рассматривать возведение числа в целую положительную степень.

Учитывая, что 1/х-n = (1/х) -n, запишем основной алгоритм решения этой задачи.

алгстепенная функция

цел n; вещ x,y

начввод x,n

еслиn=0

то y:=1

иначе еслиn>0

тоСТЕПЕНЬ(x,n,y)

иначеСТЕПЕНЬ(1/n,-n,y)

Кв

Кв

выводy

Кон

Здесь дважды присутствует команда обращения к вспомогательному алгоритму с именем СТЕПЕНЬ. Это алгоритм возведения вещественного основания в целую положительную степень путем его многократного перемножения. Величины, стоящие в скобках в команде обращения к вспомогательному алгоритму, называются фактическими параметрами.

В учебном алгоритмическом языке вспомогательные алгоритмы оформляются в виде процедур. Запишем на алгоритмическом языке процедуру СТЕПЕНЬ.

Заголовок вспомогательного алгоритма начинается со слова «процедура», после которого следует имя процедуры и в скобках – список формальных параметров. В этом списке перечисляются переменные-аргументы и переменные-результаты с указанием их типов. Здесь а и k – формальные параметры-аргументы, z – параметр-результат. Следовательно, процедура СТЕПЕНЬ производит вычисления по формуле z = аk. В основном алгоритме «Степенная функция» обращение к процедуре производится путем указания ее имени с последующим в скобках списком фактических параметров. Между формальными и фактическими параметрами процедуры должны выполняться следующие правила соответствия:

- по количеству (сколько формальных, столько и фактических параметров);

- по последовательности (первому формальному соответствует первый фактический параметр, второму – второй и т.д.);

- по типам (типы соответствующих формальных и фактических параметров должны совпадать).

Фактические параметры-аргументы могут быть выражениями соответствующего типа.

Обращение к процедуре инициирует следующие действия.

1. Значения параметров-аргументов присваиваются соответствующим формальным параметрам.

2. Выполняется тело процедуры (команды внутри процедуры).

3. Значение результата передается соответствующему фактическому параметру, и происходит переход к выполнению следующей команды основного алгоритма.

В процедуре Степень нет команд ввода исходных данных и вывода результатов. Здесь присваивание начальных значений аргументам (а, n) производится через передачу параметров-аргументов. А присваивание результата переменной (у) происходит через передачу параметра-результата (z). Таким образом, передача значений параметров процедур – это третий способ присваивания (наряду с командой присваивания и командой ввода).

Использование процедур позволяет строить сложные алгоритмы методом последовательной детализации.



Просмотров 972

Эта страница нарушает авторские права




allrefrs.su - 2024 год. Все права принадлежат их авторам!