Алгоритмическая структура «цикл» - это серия команд, выполняемая многократно.
Введение
Для написания программы на процедурном языке программирования, вначале необходимо разработать её алгоритм. Каждый алгоритм может быть представлен как некоторая жесткая структура, состоящая из отдельных основных компонентов, которые называются базовыми управляющими структурами алгоритмов. Их разработали для возможности записи алгоритмов. За всё время, пока существует программирование, управляющие структуры регулярно подвергались различным усовершенствованиям, и даже появлялись новые. На сегодняшний день их состав превратился в стандартный.
Любой современный язык программирования обладает набором операторов, реализующих эти стандартные управляющие структуры. Отличие заключается лишь в синтаксисе записи этих конструкций и в отдельных особенностях их реализации. Билл Гейтс (президент корпорации Microsoft) заявил, что профессиональный уровень программиста в значительной мере определяется тем, насколько хорошо он знает управляющие конструкции алгоритмов, и умеет программировать на алгоритмических языках. Это, прежде всего, означает умение использовать наиболее общие для всех языков конструкции и структуры данных, и когда человек желает стать отличным программистом, то знание языка превращается уже во второстепенный фактор, поскольку их можно освоить сколько угодно. То есть, освоение базовых принципов конструирования алгоритмов следует начать с изучения основных компонентов алгоритмов.
Сущность понятий «структура», «следование», «развилка» и «цикл»
При формировании описания алгоритмов необходимо выделить и наглядно представить следующие самые простые структуры:
- Очерёдность двух или более операций.
- Выбор направления.
- Повторение.
Все вычислительные процессы могут быть представлены как набор этих элементарных алгоритмических структур. Следовательно, все вычислительные процессы, которые исполняются компьютером по определённой программе, могут быть поделены на следующие основные типы:
- Линейный тип.
- Ветвящийся тип.
- Циклический тип.
Линейным считается вычислительный процесс, в котором операции исполняются последовательно, в том порядке, в котором они записаны. Любая операция считается самостоятельной, независимой от каких-нибудь условий. Чтобы описать линейные процессы применяется структура следование.
Ветвящимся является вычислительный процесс, если, чтобы его реализовать предусматривается несколько направлений (ветвей). Определение направления зависит от заданного признака, который характеризует свойства данных и может иметь пару или больше значений. Для описания ветвящихся процессов применяются структуры развилка и выбор. Причём хоть на схеме алгоритма указаны все допустимые направления вычислений в зависимости от исполнения заданного условия (или условий), при однократном исполнении программы процесс выполняется лишь по одной из ветвей. Каждая ветвь, по которой реализуются вычисления, обязана привести к завершению вычислительного процесса.
Циклическим является вычислительный процесс, который содержит неоднократно исполняемые отдельные участки вычислительного процесса. Причём каждое повторение осуществляется с применением других значений величин (данных). Участки вычислительного процесса, которые многократно повторяются, именуются циклами. Все циклические процессы состоят из следующих этапов:
- Этап подготовки (инициализации параметров) цикла.
- Этап исполнения вычислений в теле цикла.
- Этап модификации параметров цикла.
- Этап проверки условия окончания цикла.
Очерёдность исполнения этих этапов может быть различной. Поэтому структура цикла, которая описывает циклические процессы, может быть разной, а именно, следующих типов:
- Тип цикла с предусловием.
- Тип цикла с постусловием.
- Тип цикла с параметром.
Как говорилось выше, основными алгоритмическими структурами считаются следование, развилка и цикл. При более сложных вариантах могут использоваться их суперпозиции. На рисунке ниже приведены графические обозначения основных алгоритмических структур.
Рисунок 1. Графические обозначения основных алгоритмических структур. Автор24 — интернет-биржа студенческих работ
На этих схемах приняты следующие обозначения:
- СЕРИЯ служит для обозначения одного или нескольких любых операторов.
- УСЛОВИЕМ является логическое выражение и когда его значением является ИСТИНА, то выполняется переход по ветви ДА. В противном случае осуществляется переход по ветви НЕТ.
На структурной схеме цикла с параметром были применены следующие обозначения:
- ПЦ обозначает параметр цикла.
- НЗ обозначает начальное значение параметра цикла.
- КЗ является конечным значением параметра цикла.
- Ш является шагом изменения параметра цикла.
Начало и конец алгоритма на блок-схемах принято обозначать овалом, вводимые и выводимые переменные должны быть указаны внутри параллелограмма.
Самые простые задачи обычно обладают линейным алгоритмом решения. Это значит, что он не имеет в своём составе проверок условий и повторений.
Рассмотрим конкретный пример. Пешеход проходил по пересеченной местности. Его скорость перемещения по равнине составляла v1 км/ч, в гору — v2 км/ч и под гору — v3 км/ч. Время передвижения в этих условиях составляло соответственно t1, t2 и t3 ч. Требуется определить пройденный пешеходом путь. Ниже представлен алгоритм решения данной задачи.
Рисунок 2. Алгоритм. Автор24 — интернет-биржа студенческих работ
- Ввести v1, v2, v3, t1, t2, t3.
- S1 := v1 * t1.
- S2 := v2 * t2.
- S3 := v3 * t3.
- S := S1 + S2 + S3.
- Вывести значение S.
- Конец.
Чтобы проверить работоспособность данного алгоритма, следует выполнить задание значения входных переменных, определить итоговый конечный результат по алгоритму и осуществить его сравнение с результатом ручных вычислений.
Следует отметить, что изучение программирования следует начинать собственно с формирования алгоритмов, без акцентирования изначального внимания на записи алгоритма на том или ином языке программирования.