Основы современных компьютерных технологий

         

Структурные схемы алгоритмов


Одним из свойств алгоритма является дискретность - возможность расчленения процесса вычислений, предписанных алгоритмом, на отдельные этапы, возможность выделения участков программы с определенной структурой. Можно выделить и наглядно представить графически три простейшие структуры:

  • последовательность двух или более операций;
  • выбор направления;
  • повторение.
  • Любой вычислительный процесс может быть представлен как комбинация этих элементарных алгоритмических структур. Соответственно, вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида:

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

    40

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

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

    y=( b2- ac):(a+c).

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

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

    41



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

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


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

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

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

    y= { a +b, если Х ? 0;
    с/b, если Х> 0.
    Циклическими называются программы, содержащие циклы. Цикл - это многократно повторяемый участок программы.

    Рис. 2.3. Примеры циклических алгоритмов

    42

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

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


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


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


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


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

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

    43

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

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

    44

    40 :: 41 :: 42 :: 43 :: 44 :: Содержание


    Содержание раздела