Программирование на JAVA

Реклама :




Соответственно, вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида:

- линейные;

- ветвящиеся;

- циклические.

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

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

у = (b2-ac) / (a+c).


Рис. 3.5. Пример линейного алгоритма

Вычислительный процесс называется ветвящимся, если для его реализации пре­дусмотрено несколько направлений (ветвей). Каждое отдельное направление процесса обработки данных является отдельной ветвью вычислений. Ветвление в про­грамме — это выбор одной из нескольких последовательностей команд при выпол­нении программы. Выбор направления зависит от заранее определенного призна­ка, который может относиться к исходным данным, к промежуточным или конеч­ным результатам. Признак характеризует свойство данных и имеет два или более значений.

Ветвящийся процесс, включающий в себя две ветви, называется простым, более двух ветвей — сложным. Сложный ветвящийся процесс можно представить с помо­щью простых ветвящихся процессов.

Направление ветвления выбирается логической проверкой, в результате кото­рой возможны два ответа: «да» — условие выполнено и «нет» — условие не выпол­нено.

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

На рис. 3.6. показан пример алгоритма с разветвлением для вычисления следующего выражения:

            æa + b, если x £  0;

y =      í

            èc / b,  если x >  0.


Рис. 3.6. Пример разветвляющегося алгоритма

Циклическими называются программы, содержащие циклы. Цикл — это многократ­но повторяемый участок программы.

В организации цикла можно выделить следующие этапы:

- подготовка (инициализация) цикла (И);

- выполнение вычислений цикла (тело цикла) (Т);

- модификация параметров (М);

- проверка условия окончания цикла (У).

Порядок выполнения этих этапов, например, Т и М, может изменяться. В зависимо­сти от расположения проверки условия окончания цикла различают циклы с нижним и верхним окончаниями (рис. 3.7.). Для цикла с нижним окончанием (рис. 3.7. а) тело цикла выполняется как минимум один раз, так как сначала производятся вычисления, а затем проверяется условие выхода из цикла. В случае цикла с верхним окончанием (рис. 3.7. б) тело цикла может не выполниться ни разу в случае, если сразу соблюдается усло­вие выхода.

Цикл называется детерминированным, если число повторений тела цикла заранее известно или определено. Цикл называется итерационным, если число повторений тела цикла заранее неизвестно, а зависит от значений параметров (некоторых переменных), участвующих в вычислениях.


                                               а)                                                                                              б)

Рис. 3.7. Примеры циклических алгоритмов. Циклы с нижним а) и верхним б) окончаниями.

На рис. 3.8. показан пример циклического алгоритма вычисления суммы десяти чисел.


Рис. 3.8. Алгоритм нахождения суммы чисел с 1 до 10


<< назад