Алгоритмы линейной структуры

      Комментарии к записи Алгоритмы линейной структуры отключены

Алгоритм линейной структуры (следование) – алгоритм, в котором все действия выполняются последовательно друг за другом. Такой порядок выполнения действий называется естественным.

Рассмотрим несколько примеров.

Задача 1.Определить площадь треугольника по формуле Герона

где a, b, c – длины сторон;

p = (a + b + c)/2 – полупериметр треугольника.

Для того чтобы рассчитать S, необходимо иметь численные значения p, a, b, c. Мы можем рассчитать p по формуле, а вот значения a, b, c должны быть заданы заранее, иначе задачу решить невозможно.

Запишем словесный алгоритм.

1. Задать численные значения a, b, c.

2. Вычислить p по формуле:

p = (a + b + c)/2.

3. Вычислить S по формуле:

4. Зафиксировать результат.

Схема представляет собой последовательность блоков, соединенных линиями потоков. Направление потока задается стрелкой, но стрелка не ставится, если направление потока сверху вниз и слева направо. В левом верхнем углу в разрыве линий ставится номер блока.

Внутри блока ввода записывается слово “Ввод” и перечисляются исходные данные (имена переменных), которые задаются извне. Внутри блока вывода записывается слово “Вывод” и перечисляются переменные, которые являются результатом расчета.

Приведем еще один пример схемы алгоритма линейной структуры.

Задача 2. Вычислить значения функций Y и Z.

Разработка алгоритма (рис. 5).

Исходные данные: а, Ь, с. Y и Х должны быть определены раньше, чем Y и Z так как входят в расчетную формулу для Y и для Z.

Алгоритмы разветвляющейся структуры

На практике редко удается представить схему алгоритма решения задачи в виде линейной структуры. Часто в зависимости от каких–либо значений промежуточных результатов необходимо организовать вычисление либо по одним, либо по другим формулам.Ветвление – такая схема, в которой предусмотрено разветвление указанной последовательности действий на два направления в зависимости от итога проверки заданного условия. В схемах такой структуры используется логический блок (рис. 6).

Задача 2.

Рассчитать Y.

Разработка алгоритма. В этой задаче должно быть задано X. Далее анализируется X. Если X

Словесный алгоритм решения этой задачи будет выглядеть следующим образом.

1. Задать численное значение для X.

2. Проверить условие X

если условие выполняется перейти к п. 5;

если условие не выполняется перейти к п. 3.

3. Вычислить Y по формуле Y = X2.

4. Перейти к пункту 6.

5. Вычислить Y по формуле Y = –X.

6. Зафиксировать вычисленное Y.

Схема данного алгоритма представлена на рис. 6.

Рекомендуется под словом “нет” записывать условие, противоположное проверяемому.

Задача 4. Вычислить значение функции Z = Х /Y, где Y = sin(nX) + 0.5.

Разработка алгоритма. Казалось бы решение этой задачи можно описать алгоритмом линейной структуры. Однако, для удовлетворения свойств массовости и результативности алгоритма необходимо, чтобы при любых исходных данных был получен результат или сообщение о том, что задача не может быть решена при заданных исходных данных. Действительно, если Y = 0, задача не может быть решена. Поэтому в алгоритме необходимо предусмотреть этот случай и выдать в качестве результата информацию о том, что Y  0. Рассматриваемый вычислительный процесс должен иметь две ветви: в одной, если Y  0, необходимо вычислить значение переменной Z, а в другой – дать информацию Y = О (рис. 7).

Если условие Y = О, выполняется, то работает блок 6, т.е. осуществляется вывод сообщения о равенстве Y нулю. После блока 6 сразу же выполняется блок 8 – решение заканчивается. Если условие Y = 0 не выполняется, это значит, что выполняется условие Y  0 и мы должны рассчитать Z и вывести его.

Статьи к прочтению:

Тема 2 Программирование линейных и разветвляющихся структур алгоритмов


Похожие статьи:

  • Алгоритмы циклической структуры

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

  • Алгоритм линейной структуры

    Алгоритмизация вычислительных процессов Основные понятия об алгоритмизации задач Этапы решения задач на компьютере Процесс преобразования исходных данных…