Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР5-С++-22 марта-2012.doc
Скачиваний:
12
Добавлен:
15.09.2019
Размер:
1.48 Mб
Скачать

1.13. Линейный вычислительный процесс

Как уже отмечалось (лабораторная работа № 3), в программирова­нии можно выделить три характерных типа вычислительных процессов: ли­нейный, разветвляющийся и циклический. Рассмотрим более подробно пер­вый из них и его реализацию в С++.

Линейным вычислительным процессом называют процесс, в кото­ром операторы выполняются последовательно один за другим, в естествен­ном и единственном порядке следования.

На блок-схеме линейный вычислительный процесс представляет­ся последовательностью блоков. При этом на схеме блоки, выражающие ав­тономные этапы вычислений, размещаются сверху вниз в порядке их выпол­нения. Для этих процессов характерно, что направления вычислений не зависят от исходных данных или промежуточных результатов.

Пример 5.35. Составить блок-схему алгоритма и написать программу на алгоритмическом языке С++ для вычисления значения функции

где  = 5,6;  = -11,44; с = 0,01; значение x задать вводом.

Очевидно, что вычисление функции y можно упростить, если предвари­тельно найти значение выражения , которое обозна­чить через z. Тогда вычисление функции y будет проходить в такой по­следовательности: вначале вычислим , затем опре­делим значение выражения

Однако, чтобы ЭВМ определила численное значение функции y дополни­тельно, необходимо, во-первых, ввести исходные данные (т.е. численное значение переменной x); во-вторых, присвоить численные значения коэф­фициентам ,  и с; в-третьих, вычислить численное значение иско­мой функции y; в-четвертых, вывести значение y из ЭВМ и, в-пятых, ос­тановить машину. Таким образом, последовательность выполнения опера­ций будет:

1) ввод исходного значения переменной x;

2) присвоение коэффициентам ,  и с численных значений:  = 5,6;  = -11,44; с = 0,01;

3) вычисление и ;

4) вывод результата y;

5) останов машины.

Используя начертание символов из ГОСТа 19003-80 и правила выполне­ния блок-схем по ГОСТу 19002-80, изобразим блок-схему вычисления функции рассматриваемого примера (см. рис. 5.2.) В алгоритме все блоки имеют последовательное соединение и выполняются один за другим в порядке следования их номеров.

Вывод

= 5,6

Ввод х

, , с, x,у

 = - 11,44

с = 0,01

Рис. 5.2. Блок-схема алгоритма линейного вычислительного процесса

примера 5.35

Обычно алгоритм детализируется до элементарных операций. Так, блок 6 содержит 5 операций, а блок 7 будет включать в себя три подпрограммы для определения стандартных функций численными методами. Более того, блоки 5 и 8 также связаны с подпрограммами перевода чисел из десятич­ной системы счисления в двоичную при вводе и обратно при выводе.

Степень детализации алгоритма выбирается такой, чтобы установить лишь основную последовательность выполнения машиной задачи. Та после­довательность, которая очевидна и не представляет трудности для сос­тавления программы, не рассматривается. В целом детализация алгоритма в определенной степени произвольная и определяется самим программис­том. При этом преследуется цель – однозначно формализованно описать последовательность выполнения задачи при минимальной детализации про­цесса.

В самих блоках названия операций обычно не записывают. Сама форма блока м его содержание дают полное представление об операциях: блок 5 – ввод x; блоки 2 - 4 – присваивание коэффициентам ,  и с численных значений:  = 5,6;  = -11,44; с = 0,01; блоки 6 и 7 – вычисления функций по приведенным формулам; блок 8 – вывод результата у и значений , , с и x ; блоки 1 и 9 устанавливают начало и конец вычислительного процесса.