Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Циклические алгоритмические структуры

Определение 1

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

Виды циклических алгоритмов

Циклом является повторное выполнение одних и тех же операций. Очерёдность повторяющихся в цикле операций называется телом цикла. Есть различные виды алгоритмов, имеющих циклическую структуру, а именно:

  • Алгоритмы, в которых есть циклы с предварительным условием.
  • Алгоритмы, в которых есть циклы с после условием (постусловием).

Такие алгоритмы считаются условными циклическими алгоритмами. Очевидно, что оба типа циклов являются взаимозаменяемыми, но при этом имеют следующие отличия:

  1. В алгоритме цикла с предварительным условием, проверка условия осуществляется до выполнения команд тела цикла, а в цикле с постусловием эта проверка делается после команд тела цикла.
  2. В алгоритме цикла с постусловием команды тела цикла один раз должны быть выполнены в любом случае, а в цикле с предварительным условием команды тела цикла могут вообще не выполняться.
  3. В алгоритме цикла с предварительным условием выполняется проверка условия, по которому цикл может быть продолжен, а в алгоритме цикла с постусловием выполняется проверка условия завершения цикла.

Циклические алгоритмические структуры

При формировании условных циклических алгоритмов необходимо учитывать следующие моменты:

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

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

Циклический алгоритм, обладающий безусловной структурой. Автор24 — интернет-биржа студенческих работ

Рисунок 1. Циклический алгоритм, обладающий безусловной структурой. Автор24 — интернет-биржа студенческих работ

«Циклические алгоритмические структуры» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Исполнение циклического алгоритма с безусловной структурой необходимо начать с задания переменной i исходного значения in. Далее следует выполнить проверку на превышение переменной i конечного значения iK. Если это превышение имеет место, то осуществляется завершение цикла и передача управления идущей за телом цикла команде. Иначе начинается выполнение команд тела цикла, и к значению переменной i прибавляется величина шага di. Затем опять проверяется величина переменной i и весь процесс повторяется. Естественно, что вместо безусловного циклического алгоритма можно использовать один из условных. Следует заметить, что переменная i считается циклическим параметром, поскольку она является переменной, изменяемой внутри цикла по некоторому правилу и оказывает непосредственное влияние на его завершение.

Приведём конкретный пример применения циклической алгоритмической структуры. Требуется определить максимальный общий делитель (МОД) пары натуральных чисел А и В. Входными данными являются: А и В. Выходными данными будут: А и МОД. Чтобы решить поставленную задачу можно использовать алгоритм Евклида, который заключается в последовательном уменьшении большего из чисел на величину меньшего. Эту процедуру следует выполнять до того момента, когда обе величины не сравняются. Эти действия показаны в таблице:

Поиск МОД для чисел А = 25 и В = 15. Автор24 — интернет-биржа студенческих работ

Рисунок 2. Поиск МОД для чисел А = 25 и В = 15. Автор24 — интернет-биржа студенческих работ

Блок-схема алгоритма решения этой задачи изображена на рисунке ниже.

Алгоритм поиска максимального общего делителя. Автор24 — интернет-биржа студенческих работ

Рисунок 3. Алгоритм поиска максимального общего делителя. Автор24 — интернет-биржа студенческих работ

Чтобы решить поставленную задачу в алгоритме применяется цикл с предварительным условием, а именно, команды тела цикла будут выполняться повторно до момента, когда А сравняется с В.

Рассмотрим следующий пример. Выполняется последовательный ввод чисел, признаком окончания последовательности является цифра нуль. Требуется выяснить, есть ли в этой числовой последовательности хотя бы пара одинаковых соседних чисел. В качестве входных данных будем рассматривать:

  • X0 является текущим членом последовательности.
  • X1 является последующим членом последовательности.

В качестве выходных данных будем рассматривать сигнал о присутствии в числовой последовательности пары одинаковых соседних компонентов. Ещё для работы алгоритма потребуется вспомогательная переменная F1, которая получит значение «истинно», когда будут обнаружены два одинаковых стоящих рядом компонента, и в противном случае она будет иметь значение «ложно». Блок-схема алгоритма решения данной задачи изображена на рисунке ниже.

Блок-схема. Автор24 — интернет-биржа студенческих работ

Рисунок 4. Блок-схема. Автор24 — интернет-биржа студенческих работ

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

В рассмотренных выше примерах заданы такие условия, что количество повторений команд тела цикла заранее неизвестно. Циклы этого типа являются циклами с неопределённым количеством повторов, а в общем случае может быть неизвестно о наличии конца цикла в принципе. Если в цикле можно определить заранее число повторений команд тела цикла по начальной информации, то такой цикл называется циклом с определимым количеством повторов. Приведём пример применения такого типа цикла. Необходимо сформировать таблицу значений функции y = esin(x)cos(x) на участке [0;p] при шаге 0.1. В качестве входных данных примем:

  1. Исходная величина аргумента равна нулю.
  2. Значение аргумента в конце равно р.
  3. Величина шага возрастания аргумента равна 0.1.

В качестве выходных данных примем:

  1. Весь диапазон значений аргумента Х.
  2. Все значения функции Y.

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

Блок-схема. Автор24 — интернет-биржа студенческих работ

Рисунок 5. Блок-схема. Автор24 — интернет-биржа студенческих работ

Но если взглянуть на проблему с обратной стороны, то заранее понятно изменение параметра цикла Х и известны его граничные значения. То есть имеется возможность вычислить число повторений цикла n, и затем использовать безусловный циклический оператор. Алгоритм решения задачи для этого варианта приведён на рисунке 6:

Блок-схема. Автор24 — интернет-биржа студенческих работ

Рисунок 6. Блок-схема. Автор24 — интернет-биржа студенческих работ

Дата написания статьи: 05.06.2020
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot