Алгоритмическая структура «Цикл»
В алгоритмическую структуру «цикл» входит серия команд, выполняемая многократно. Такая последовательность команд называется телом цикла.
Циклические алгоритмические структуры бывают двух типов:
• циклы со счетчиком, в которых тело цикла выполняется определенное количество раз;
• циклы с условием, в которых тело цикла выполняется, пока условие истинно или ложно.
Алгоритмическая структура «цикл» может быть зафиксирована различными способами:
• графически – с помощью блок-схемы;
• на языке программирования, например, на языке Паскаль с использованием специальных инструкций, реализующих циклы различного типа.
Цикл со счетчиком. Когда заранее известно, какое число повторений тела цикла необходимо выполнить, можно воспользоваться циклической инструкцией.
В начале выполнения цикла значение переменной i устанавливается равным In. При каждом проходе цикла переменная i увеличивается на величину шага. Если она достигает величины, большей Ik, то цикл завершается и выполняются следующие за ним операторы (нц – начало цикла, кц – конец цикла).
для i от In до Ik, повторять
нц
<тело цикла>
кц
Циклы с условием. Часто бывает так, что необходимо повторить тело цикла, но заранее неизвестно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия.
Условие выхода из цикла можно поставить в начале, перед телом цикла. Такой цикл называется циклом с предусловием.
цикл выполняется, пока условие имеет значение «истина». Как только условие примет значение «ложь», выполнение цикла закончится. В этом случае условие является условием продолжения цикла.
|
Условие выхода из цикла можно поставить в конце, после тела цикла. Такой цикл называется «циклом с постусловием». цикл выполняется, пока условие имеет значение «ложь». Как только условие примет значение «истина», выполнение цикла закончится. В этом случае условие является условием завершения «цикла».
Цикл с постусловием, в отличие от цикла с предусловием, выполняется обязательно как минимум один раз, независимо от того, выполняется условие или нет.
повторять
<тело цикла>
до тех пор, пока не выполнится <условие>
Примеры
Пример 1 Даны две простые дроби. Составить алгоритм получения дроби, являющейся результатом их деления.
Решение В алгебраической форме решение задачи выглядит следующим образом:
.
Исходными данными являются четыре целые величины: а, b, с, d. Результат – два целых числа m и n.
Тест: a = 3, b=4, c=5, d=6. Результат: m = 18, n = 20.
Пример 2 Даны три вещественных числа А, В, С. Найти наибольшее среди них.
Сначала определяется большее среди двух значений А и В, затем большее между найденным значением и величиной С. Алгоритм имеет структуру двух
последовательных ветвлений.
Тест: a = 3, b = 6, c = 2. Результат: D = 6.
Пример 3 Дано целое положительное число N. Вычислить факториал этого числа: N! = 1 * 2 * 3 * ... * N
Решение Задача решается c помощью циклического алгоритма: цикла с параметром.
|
2
Тест: N = 5. Результат: факториал F = 120.
Пример 4 вычислить значение функции Y = A = BX + CX2 для изменяющимся с шагом 0,5.
Пример 5 Использование вложенных циклов на примере вычисления двойной суммы
где
А= – матрица или двумерный массив данных одного и того же типа.
В = (b1, b2, b3, …, bk) – одномерный массив (вектор) данных одного и того же типа.
|
Замечание. В соответствии с ГОСТ 19.701-90 границы цикла можно изображать следующим образом:
Начало цикла и конец цикла – оба символа имеют один и тот же идентификатор. Условия инициализации, приращения, завершения и т.д. помещаются внутри графического символа в начале или в конце в зависимости от расположения операции, проверяющей условие.
Котликова Вера Яковлевна
Сысолятина Лидия Геннадьевна
Бекишева Марина Борисовна