Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




Этот вариант применяют, когда в дополнительный алгоритм выносится участок вычислений, содержащий одну или несколько формул с одним конечным результатом. Рассмотрим конкретную задачу (10.1) вычисления факториала.

Рис.10.9. Схема взаимодействия головной функции с пользовательскими

Постановка задачи

Вычислить значение функции:

z = ln a + n! + m! – (k – m)! – 0.2 a

если a=16.9; n=5; m=4; k=10.

Формирование математической модели

Исходные данные:

a=16.9;

n=5;

m=4;

k=10.

Расчетные зависимости

; Формулы

; вычисления

. факториалов.

Детализация

вычислительной

зависимости.

Выбор метода решения

Анализ математической модели показывает необходимость троекратного последовательного вычисления значения факториала n!, m! или (k-m)! отдельно для фактических параметров n, m или (k-m).

Известно, что вычисление значения осуществляется смешанным процессом накопления произведения – ветвлением в арифметическом цикле.

Участок вычисления факториала требуется оформить дополнительным алгоритмом (функцией), именованным fakt, а используемый в нём аргумент (формальный параметр) желательно назвать f.

Следовательно, рациональный метод решения задачи – вычислительный процесс с одним подпроцессом при использовании основного алгоритма с обращениями fakt(n), fakt(m), fakt(k-m) и дополнительного алгоритма с формальным параметром f.

Составление алгоритма решения

Выбранный метод решения с использованием одного подпроцесса реализуется в виде отдельных алгоритмов – основного и дополнительного (рис. 10.11).

Рис. 10.11. Схема алгоритма задачи о факториалах

Основной алгоритм использует локальные переменные a, z1, z2, z и фактические параметры n, m, k – m. Обращения к дополнительному алгоритму выполняются из арифметических выражений двух блоков основного.

Содержимое начального блока дополнительного алгоритма (fakt(t)) определяет его название и используемый формальный параметр.

В дополнительном алгоритме наряду с формальным параметром f используются локальные (местные) переменные fi и i. Первая обозначает вычисляемое в цикле значение факториала, а вторая является текущим значением последнего сомножителя. В конечном блоке указан возвращаемый операнд (переменная fi).

Программирование задачи

Программирование задачи требует двух пользовательских функций:

· головной – для реализации основного алгоритма;

· дополнительной – для выполнения вспомогательного алгоритма.

При этом головная функция должна содержать обращение к дополнительной (ее вызов).

Структура вызова функции:

имя ([a1,..., ai,..., an])

где имя – идентификатор вызываемой функции;

a1... ai... an – список фактических параметров (аргументов) основной функции, численные значения которых передаются в дополнительную;

,, – разделители элементов списка;

() – ограничители аргументов;

[ ] – признак необязательности содержимого.

Каждая из функций Си/Си++ представляется одной из упрощенных структур:

Левый вариант Правый вариант
[тип] имя([тип b1,...,тип bi,...,тип bn]) { тело функции [return [РВ];] } [тип] имя([b1,...,bi,...,bn]) [описатели bi] { тело функции [return [РВ];] }

где имя – идентификатор (название) функции;

тип – описатель типа функции (результата);

тип bi – элемент списка формальных параметров, используемых в вычислениях (действиях) тела функции с указанием типа;

, – разделитель элементов списка.

описатели bi – операторы описания типов формальных параметров, выполненные вне заголовка;

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

тело функции – основная часть (совокупность операторов), реализующая вынесенные в отдельный алгоритм вычисления (действия);

return РВ; – оператор возврата (return) в вызывающую функцию результата вычислений РВ (выражения);

[ ] – признак необязательности содержимого;

{ } – ограничители тела функции.

Заголовок функции– первая строка ее структуры.

Различия заголовочных структур функций обусловлены различными средствами машинной обработки создаваемых программ. Большинство средств поддерживают оба варианта.





Поделиться с друзьями:


Дата добавления: 2015-11-23; Мы поможем в написании ваших работ!; просмотров: 471 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Свобода ничего не стоит, если она не включает в себя свободу ошибаться. © Махатма Ганди
==> читать все изречения...

2307 - | 2069 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.