Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие студентам.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
4.13 Mб
Скачать

4.1.3. Разновидности структур алгоритмов

В зависимости от особенностей своего построения алгоритмы делятся на три основные группы:

      • Линейные;

      • Разветвляющиеся;

      • Циклические

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

Линейный алгоритм выполняется в порядке его написания и не содержит разветвлений и повторений.

Структура линейного алгоритма показана на рис. 4.1.3.

.

.

Рис.4.1.3. Линейный алгоритм.

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

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

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

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

Ветвящиеся процессы описываются оператором IF (условие). Если <условие> истинно, то выполняется Оператор 1, если ложно, то выполняется Оператор 2 (рис. 4.1.4).

Рис. 4.1.4. Алгоритм ветвления..

Алгоритм решения задачи с ветвлением рассмотрим на примере 1 с использованием псевдокода будет выглядеть следующим образом:

Алгоритм Проценты

Начало

Ввод(P, i, n)

Если n≤12, то S=P(1 n*i), иначе S=P(1 i)n

Вывод(S)

Конец

Блок схема алгоритма показана на рис. 4.1.2.

Циклические вычислительные процессы.

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

Цикл – последовательность команд, которая повторяется до тех пор, пока не будет выполнено заданное условие. Циклическое описание многократно повторяемых процессов значительно снижает трудоемкость написания программ.

Существуют следующие схемы циклических вычислительных процессов:

цикл со счетчиком;

цикл с предусловием;

цикл с постусловием.

Цикл со счетчиком.

Цикл со счетчиком предполагает выполнение некоторой последовательности команд заданное число раз. Такие задачи возникают при вычислении каких либо функций. Например, пусть требуется рассчитать значения некоторой функции f(x) для заданного диапазона значений x.

Прежде, чем начать вычисление, необходимо определить диапазон изменения аргумента функции и шаг изменения аргумента.

Пусть значения аргумента изменяются от XN до XK с некоторым шагом DX. Тогда блок схема алгоритма вычисления функции f(x) будет иметь вид, показанный на рис.4.1.5.

Сначала нужно ввести исходные данные для организации вычислений. Затем, для того, чтобы ЭВМ могла начать вычислительный процесс, необходимо аргументу присвоить начальное значение XN. Для того, чтобы исключить незапланированные вычисления, необходимо сначала проверить, находится ли введенное начальное значение в заданном диапазоне изменений аргумента. Если да, то можно вычислять значение функции. После вывода результата необходимо изменить значение аргумента и вернуться в позицию вычисления искомой функции. Вполне логично в этом переходе выглядит проверка нового значения аргумента на нахождение в заданном интервале значений. Цикл повторяется до тех пор, пока значение аргумента не выйдет за указанный диапазон значений.

Рис. 4.1.5. Блок схема цикла со счетчиком.

Как только значение аргумента выйдет за пределы заданного диапазона, выполняется переход на завершение вычислений.

Количество выполненных циклов можно определить по формуле:

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

Рассмотрим пример описания алгоритма в псевдокодах, в котором счетчик цикла участвует в вычислении в явном виде.

Пример 2. Вычислить факториал заданного числа n целых чисел.

Математическое описание задачи:

В данном примере счетчиком цикла является величина i , которая изменяется от 1 до n.

Тогда алгоритм в псевдокодах:

Алгоритм Факториал

Ввод(n)

П=1

Цикл от i=1 до n

П=П*i

Кц

Вывод(П)

Конец

Цикл с предусловием

Блок схема цикла показана на рис. 4.1.6.

Рис.4.1.6. Цикл с предусловием.

Особенностью схемы является то, что сначала выполняется проверка условия, после чего – тело цикла. В случае, если условие не выполняется, т.е. ложно, то тело цикла не выполняется ни разу.

Цикл с постусловием

Блок схема цикла показана на рис. 4.1.7.

Рис.4.1.7. Цикл с постусловием.

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

Существует общая методика записи алгоритма решения задач:

  • Каждый алгоритм должен иметь имя, которое раскрывает его смысл.

  • Необходимо обозначить начало и конец алгоритма.

  • Следует описать входные и выходные данные.

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