Основные понятия и классификация вычислительных процессов
При решении задачи на цифровой ЭВМ обычно выполняются следующие основные этапы:
- постановка задачи, где формулируется цель исследования и предъявляются требования к её решению по точности и времени;
- разработка математической модели решаемой задачи;
- выбор численного метода для приближённого решения задачи с учётом сформулированных требований;
- разработка вычислительного алгоритма;
- программирование, т.е. запись алгоритма решения задачи на определённом алгоритмическом языке;
- отладка программы;
- вычисление;
- обработка результатов вычисления.
Из перечисленных наиболее трудоёмкими являются четвёртый и пятый этапы, т.е разработка вычислительного алгоритма и программирование, поэтому им будет уделено особое внимание.
Под вычислительным алгоритмом понимается последовательная совокупность формализованных предписаний, переводящих исходные данные в процессе вычисления в искомые результаты.
К алгоритму задачи предъявляются следующие требования:
- детерминированность, т.е. алгоритм должен быть чётким, понятным и однозначным;
- массовость – возможность использования алгоритма для решения типовых задач;
- результативность, т.е. алгоритм должен состоять из конечного количества арифметических и логических действий, приводящих к искомому результату. Результативность во многом зависит от правильного задания исходных данных.
<p>Алгоритм обычно задаётся в содержательном, блок-схемном или операторном виде. При блок-схемном описании вычислительного алгоритма следует пользоваться условными графическими обозначениями, приведенными на рис.1.
По принципу организации вычислений вычислительные процессы делятся на линейные и ветвящиеся.
Ветвящиеся процессы бывают с обратной связью, т.е. циклические, и без обратной связи, т.е. разветвляющиеся.
Циклом принято называть повторяемый участок вычислительного алгоритма.
Для организации циклических вычислительных процессов выделяется специальная переменная, называемая параметром цикла. По этой переменной ведётся управление счетом. В каждом цикле происходит изменение параметра цикла по определенной рекуррентной зависимости.
Различают циклические вычислительные процессы (ЦВП) известным (счетным) количеством повторений-циклов и с неизвестным количеством циклов.
Первые принято называть детерминированными ЦВП, а вторым – итерационными ЦВП.
В детерминированных ЦВП параметром цикла может быть аргумент функции или индекс элементов массива, а в итерационных ЦВП в качестве параметра цикла берется рассчитываемая функция, аргумент функции или индекс элементов массива. В двух последних случаях для итерационных циклов необходимо организовать комбинированное управление как по параметру цикла, так и по функции.
Перечисленные типовые вычислительные процессы являются составными частями комбинированных вычислительных процессов. В частности, из различного сочетания циклических вычислительных процессов организуются многоступенчатые циклы.
Линейные вычислительные процессы
Линейные вычислительные процессы (ЛВП) характеризуются последовательным выполнением операторов программы и блоков вычислительного алгоритма. ЛВП, как правило, являются составной частью циклического или разветвляющегося вычислительного процесса.
При освоении материала по разработке структурных схем сложную математическую зависимость целесообразно разбивать на отдельные части и оформлять их в виде самостоятельных блоков. Например, при вычислении функции по формуле
часть (фрагмент) вычислительного процесса А2 +В2 целесообразно оформить в виде самостоятельного блока.
При разработке вычислительного алгоритма целесообразно стремиться к минимизации количества вычислительных операторов и к минимальному использованию объема памяти, не ухудшая при этом точность вычисления выбранной последовательностью вычислительных действий. Например, степенной полином целесообразно вычислять по схеме Горнера:
Используя известные методы тождественных преобразований, для вычисления функции r целесообразно выбрать следующую запись:
Статьи к прочтению:
Сложность алгоритма Большое О
Похожие статьи:
-
Типы вычислительных процессов. привести примеры.
Существуют три типа вычислительных процессов: линейный, разветвленный, циклический. Линейный вычислительный процесс – это процесс, где одно действие…
-
Алгоритм разветвляющегося вычислительного процесса. привести пример.
Разветвляющийся алгоритм имеет блок проверки некоторого условия , и в зависимости от результата проверки – выполняется ,и либо другая последовательность…