
- •Программирование процессов с подпроцессами
- •Составление алгоритма решения
- •Программирование задачи
- •Подпроцесс с аргументом – одномерным массивом и одним результатом
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Подпроцесс с несколькими результатами
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Подпроцесс с результатом – массивом
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Заключение
- •Вопросы для контроля
-
Заключение
Процесс – основные (главные) вычисления, реализующие общую цель задачи.
Подпроцесс – дополнительные (вспомогательные) вычисления детализации частных подзадач процесса.
Виды данных в подпроцессах – локальные, фактические, формальные параметры. Локальные – данные (параметры), используемые внутри процесса или подпроцесса без права передачи. Фактические – данные (параметры) процесса, численные значения которых требуется передать в качестве аргументов в подпроцесс. Формальные – данные (параметры) подпроцесса, получающие численные значения соответствующих фактических параметров процесса.
Взаимодействие процесса с подпроцессом – обращение. Обращение – указание перехода из процесса в подпроцесс детализации некоторого фрагмента вычислений.
Особенность алгоритмизации процессов с подпроцессами – создание нескольких отдельных алгоритмов (основного и вспомогательных). Основной – алгоритм реализации главного вычислительного процесса. Вспомогательный (дополнительный) – алгоритм реализации отдельного вычислительного подпроцесса.
Программная реализация процесса с подпроцессами – головная программа и подпрограммы. Головная (главная) программа – программный модуль, реализующий процесс (основной алгоритм). Подпрограмма – программный модуль, реализующий конкретный подпроцесс (дополнительный алгоритм).
Основная базовая конструкция языка Си/Си++ – функция. Функция – программный модуль, реализующий некоторый обособленный участок вычислений, оформленный отдельным алгоритмом. Головная функция – основной программный модуль, из которого организуется вызов дополнительных функций. Дополнительная функция – программный модуль, реализующий конкретный подпроцесс (дополнительный алгоритм).
Вызов функции – обращение к ней для передачи значений фактических параметров и получения результатов её работы. Функции Си/Си++ – вызывающие и вызываемые. Вызывающая – содержащая вызов (вызовы) любой другой. Вызываемая – к которой обращен вызов (активизируемая им).
Обязательный компонент функции – заголовок. Основные элементы заголовка: название (назначение), формальные параметры, тип возвращаемого результата. Прототип (описание) функции – структура, аналогичная заголовку, определяющая основные элементы функции (наименование, формальные параметры, тип возвращаемого результата), позволяя разместить функцию в любом месте программы. Прототипы стандартных функций находятся в стандартных заголовочных файлах.
Сложность выносимого в подпроцесс участка вычислений определяет особенности программирования вычислительных процессов с подпроцессами. Критерий сложности – количество и структура используемых формальных параметров и результатов, возвращаемых в головную функцию.
Организация процессов с подпроцесами реализует модульный принцип построения программного продукта, структурируя решаемую задачу. Эффективность использования процессов с подпроцессами наивысшая по отношению ко всем рассмотренным ранее. Глобализация принципов модульного программирования – основа объектно-ориентированного проектирования.