Как сделать циклический алгоритм

Добавил пользователь Skiper
Обновлено: 04.10.2024

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

  • циклы с известным числом повторений (или со счетчиком);
  • циклы с неизвестным числом повторений (циклы с предусловием и циклы с постусловием).

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

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

  • блок проверки условия;
  • блок, называемый телом цикла.

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

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

В циклах такого типа известно число повторений цикла, т.е. оно является фиксированным числом. В этом случае переменная, которая считает количество повторений (шагов) цикла, называется счетчиком цикла (или параметром цикла, или управляющей переменной цикла).

123

Блок-схема циклического алгоритма в этом случае выглядит так:

Такая блок-схема хорошо иллюстрирует работу цикла со счетчиком. Перед выполнением первого шага цикла счетчику цикла должно быть присвоено начальное значение – любое число в зависимости от алгоритма. Если величина счетчика цикла не превышает конечное значение, то далее будет выполняться группа действий, составляющих тело цикла. После выполнения тела цикла счетчик цикла изменяется на определенную величину – шаг изменения счетчика цикла h. Если полученное значение счетчика цикла не превысит конечное значение, то цикл продолжится до тех пор, пока счетчик цикла не станет больше конечного значения – тогда управление передается действию, следующему за циклом.

123

При использовании цикла со счетчиком необходимо соблюдать некоторые требования:

  • в теле цикла нельзя принудительно изменять значение счетчика цикла;
  • не разрешается передавать управление оператору тела цикла извне, т.е. вход в цикл допускается только через начало цикла.

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

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

На блок-схеме такой цикл реализуется следующей конструкцией:

123

Особенность этого цикла в том, что тело цикла может не выполниться ни разу, если условие первоначально ложно в первом варианте (или истинно во втором).

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

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

На блок-схеме этот тип цикла изображается следующим образом:

123

Сложные циклы

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

При этом циклы, охватывающие другие циклы, называются внешними. А циклы, входящие во внешние циклы, — внутренними циклами.

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

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

Цикличный алгоритм, примеры которого можно встретить в повседневной жизни, описывает действия. Они повторяются до момента решения поставленной задачи. Иногда число повторений – обязательное условие задания. Информатика разделяет все структуры повторения на три вида:

  • Циклический алгоритм со счетчиком. Конкретная работа должна быть выполнена установленное количество раз. В таких видах конструкций условие уже содержит параметр, указывающий число повторных операций. Простой пример циклического алгоритма со счетчиком: требуется распечатать задание на контрольную на весь класс. В классе 21 ученик. Действие повторится 21 раз;
  • Циклический конструктив с условиями. Вычисление или процесс выполняется до того момента, пока не будет сделана работа. После наступит окончание проекта. Данный вид используют в ситуациях, когда число повторений, необходимых для достижения цели, неизвестно. Если рассматривать условный алгоритм с циклом, примеры найти не составит труда. Садовнику необходимо посадить дерево. Он должен выкопать яму. Заранее неизвестно, сколько движений лопатой ему нужно сделать. Он ориентируется на результат;
  • Повторение с предварительным условием. Исполнитель изначально проверяет заданные параметры, после приступает к осуществлению действия;
  • Цикл с последующим условием. Задача выполняется один раз, после проводится проверка ее параметров.

Составление циклических алгоритмов – информатика и программирование

Главное правило составления конструктивов – конечность. Процесс должен осуществляться до определенного момента. Если окончание не наступает – структуру называют зацикленной. Состав структур с повторениями:

  • Название процедуры. Исполнитель указывает основные условия. Они определяют, сколько раз повторится операция;
  • Тело алгоритма. Это оператор, он может быть составным или простым. Повторяется в ходе процесса. Допускается содержание разных операторов. Они отвечают за ввод, вывод, присваивание. Отдельная группа условных операций и других. Все операторы, находящиеся внутри системы, – это вложенные конструкции.
  1. Выявление последовательностей, требующих повторения.
  2. Определение количества циклических оборотов до начала его работы.
  3. Использование системы со счетчиком, если количество повторов уже задано.
  4. Использование структуры с последующим условием при минимум одном исполнении процесса.
  5. При отсутствии данной информации или возможности нулевого цикла применяется система с предварительным условием.
  6. Определение пределов для вида со счетчиком.
  7. Выявление параметров повторов, окончания для последовательностей с условиями.
  8. Поиск известных переменных до старта. Крайне важны коэффициенты, находящиеся в оперативном условии, если есть предварительные параметры.
  9. Запись операторов, вычисляющих, выводящих переменные.
  10. Создание алгоритмической схемы.
  11. Выбор данных, которыми можно воспользоваться для теста программного продукта.

Циклический алгоритм примеры – информатика

  1. Укажите процесс, который демонстрирует работу циклического алгоритма.
    Рассмотрим пример классической структуры с повторами. Она состоит из четырех частей:
  • Присвоение начального обозначения параметру;
  • Выполнение основных операций, повторяющихся на цикличных витках;
  • Ввод величины шага, проведение соответствующих изменений;
  • Ввод условия для окончания или повторного проведения операций;
  • Проверка итогов.

Сумма рассчитывается с помощью данной системы. Рассмотрим процесс на примере i-1nxiyi. Действуем по следующей схеме:

  • Устанавливается стартовое значение для суммы – нулевое;
  • Исследуется первый параметр i, равный единице;
  • Выводится xi, yi для вычисления СУММ=СУММ+Xi x Y i;
  • Суммирование проводится циклично. Следующее действие i=i+1;
  • Повторение выполняется до того, как будет получено нужное значение. Его необходимо вывести.
  1. Приведите пример циклического алгоритма из жизни.


На уроке физики ученики должны использовать одинаковую формулу до того момента, пока выражение не станет верным. Без этого они не получат нужный результат.

Часто при решении задач приходится повторять выполнение операций по одним и тем же зависимостям при различных значениях входящих в них переменных и производить многократный проход по одним и тем же участкам алгоритма. Такие участки называются циклами. Алгоритмы, содержащие циклы, называется циклическими. Использование циклов существенно сокращает объем алгоритма.

Различают циклы с наперед известным и наперед неизвестным количеством проходов.

Пример 1. Рассмотрим пример алгоритма с циклом, имеющим наперед неизвестное количество проходов. Для этого решим следующую задачу. Указать наименьшее количество членов ряда натуральных чисел 1, 2, 3, …, сумма которых больше числа К.

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


Рисунок 1. Структура развлетвляющего цикла

После начала работы в блоке 2 вводится значение числа К. Далее в блоке 3 переменная i получает значение 1, т. е. значение, с которого начнется отсчет натуральных чисел. Переменная S, предназначенная для накопления сумма этих чисел, перед началом суммирования получает значение 0. После этого управление передается блоку 5.

В нем при выполнении команды S = S + i производится сложение содержимого ячеек S и i, а результат записывается в ячейку S. Поскольку до операции сложения было S = 0, i = 1, то после операции будет S = 1. При записи нового значения старое содержимое ячейки S (нуль) стирается, а на его место записывается число 1.

Нужно обратить внимание на то, что если бы до этой операции в блоке 3 не была выполнена команда S = 0 (записать нуль в ячейку S ), то при нахождении суммы S + 1 возникла бы ошибка, поскольку из ячейки S была бы извлечена константа, которая оказалась там после распределения памяти.

После суммирования первого члена последовательности в блоке 6 выполняется проверка условия о превышении суммы S заданного числа К.

Если условие 6 не выполнится, то производится переход к блоку 4, где при выполнении операции значение переменной увеличивается на 1 и становится равным 2. Теперь алгоритм вновь вернется к блоку 5 и к старому значении суммы добавит новый член 2. После этого сумма станет равной 3. В блоке б вновь проверяется условие получения требуемой суммы и т. д. Цепочка блоков 5-4 будет обрабатываться вновь и вновь до того момента, когда однажды при определенном значении переменной i, наконец, выполнится условие S > К, т. е. когда накапливаемая в таком цикле сумма впервые превысит заданное значение К. Переменная i, значение которой при очередном проходе цепочки этих блоков увеличивается на 1, играет роль счетчика этого цикла.

Далее производится переход к блоку 7, где отпечатается значение количества членов ряда (извлечено и отпечатано число из ячейки i, которое там хранится в момент выполнения условия), суммы S и в блоке 8 алгоритм закончит работу.

Пример 2. Теперь приведем пример алгоритма, содержащего цикл с наперед известным количеством проходов (повторений). Алгоритм решает задачу накопления суммы положительных элементов одномерного массива Z длины N ( под длиной массива понимается количество его элементов ). Блок-схема алгоритма дана на рисунке 2.


Рисунок 2. Циклический алгоритм

Вначале в блоке 2 производится ввод двух переменных N и Z. Первая из них представляет одну ячейку. В нее записывается одна константа – число, равное количеству элементов массива Z. Именно такое количество ячеек объединяет другая переменная – Z.

Следует подчеркнуть, что если бы ввод этих переменных в блоке 2 производился в противоположном порядке, то это привело бы к ошибке. Действительно, невозможно заполнить N ячеек массива Z, когда самое N еще не известно (оно будет введено позже Z). Далее в блоке 3 переменной S присвоено начальное значение 0. Это сделано для того, чтобы приготовить ячейку к дальнейшему накоплению необходимой суммы.

Блоки 4-6 представляет собой сам цикл, в котором накапливается сумма.

Для того чтобы понять, как функционирует не только этот, а и любой другой цикл, обратимся к рисункам 3 и 4. На них показана общая структура цикла и его важнейшие параметры.

Как видно из рисунка 3, цикл состоит из заголовка и тела. Всякий цикл обязательно имеет свой счетчик.


Рисунок 3. Структура цикла

На рисунке 4, где показана структура и параметры заголовка цикла, роль такого счетчика выполняет переменная i.


Рисунок 4. Структура заголовка цикла

Сначала производится вход в цикл. После этого начинается его выполнение.

Внутри заголовка счетчику первоначально присваивается значение i = j. Затем выполняется блоки, образующие тело цикла. Обработка блоков внутри цикла производится по часовой стрелке. В результате после первого выполнения тела цикла управление вновь передается заголовку. Здесь к текущему значению счетчика добавится шаг. Теперь, если новое значение счетчика не вышло за свои пределы (т. е. не стало больше своего конечного значения при положительном шаге или меньше конечного значения – при отрицательном шаге), то снова выполняется тело цикла, вновь после возврата к заголовку к счетчику добавляется шаг. Так цикл будет выполняться до тех пор, пока значение счетчика однажды не выйдет за предписанный предел. Как только такой предел будет преодолен, произойдет выход из цикла и управление будет передано блоку, который следует сразу за циклом.

Вернемся к блок-схеме рис. 2. Заголовок ее цикла представлен блоком 4. Роль счетчика цикла играет переменная i, которая должна в цикле изменяться от 1 до N. Поскольку шаг явно не указан, то по умолчанию он подразумевается равным 1. Тело цикла образуют блоки 5 и 6.

Сразу после входа в цикл переменная i примет начальное значение i = 1. Далее в блоке 5 выполняется проверка положительности первого элемента массива Z (т. к. i = 1). Если этот элемент действительно положителен, то в блоке б он будет добавлен к переменной S, после чего выполняется возврат к заголовку цикла. Если этот элемент не положителен (т. е. нуль или отрицательный), то будет выполнен переход сразу к заголовку цикла, минуя блок суммирования 6.

На втором круге цикла счетчик i в заголовке увеличится на 1 и станет равным 2. Теперь, при новом выполнении тела цикла, в блоке 5 проверяется на положительность второй элемент массива Z и, если он положителен, то добавляется в сумму и т. д. Последний раз тело цикла выполнится при i = N. При этом значении счетчика проверяется последний элемент массива. Наконец, в заголовке цикла i примет значение N+1. Это значение выходит за предписанный предел, следовательно, произойдет выход из цикла и управление перейдет блоку 7. В этом блоке выводится накопленная сумма и алгоритм закончит работу.

Сертификат и скидка на обучение каждому участнику

Елена Бурьевая

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

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

Циклические алгоритмы бывают трёх типов: со счётчиком (с параметром), предусловием, постусловием.
Циклы со счетчиком , в которых какие-то действия выполняются определенное число раз;
Циклы с условием , в которых тело цикла выполняется, в зависимости от какого-либо условия.

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

hello_html_58c9fae0.jpg

В общем случае схема циклического алгоритма со счетчиком будет выглядеть так:

Для счетчика от нач. значения до кон. значения выполнить действие . Часто бывает так, что необходимо повторить тело цикла, но заранее не известно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия. Такие циклы называются циклы с условием. Циклы в которых сначала проверяется условие, а затем, возможно, выполняется тело цикла называют циклы с предусловием. Если условие проверяется после первого выполнения тела цикла, то циклы называются циклы с постусловием.

hello_html_4af42db2.jpg

hello_html_36adc8b2.jpg

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

hello_html_42346397.jpg

hello_html_m255a5a29.jpg

В общем случае схема циклического алгоритма с условием будет выглядеть так:

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

Читайте также: