Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Циклическая алгоритмическая конструкция





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

Такая организация повторения предписываемых действий позволяет существенно сократить размер алгоритма.

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

 

3.3.1. Цикл с параметром (арифметический цикл)

В арифметическом цикле число шагов (повторений) однозначно определяется правилом изменения параметра, которое задается с помощью начального значения (N) и конечного значения (Kшагом изменения (h) параметра цикла. На первом шаге цикла значение параметра равно N, на втором – N + h, на третьем - N +2 h и т.д. На последнем шаге цикла значение параметра не больше или равно К, но такое, что дальнейшее его изменение приведет к значению, большему, чем К. Блок-схема данной конструкции представлена на рис. 9.

Тело цикла
i=N, K, h
Алгоритм на псевдокоде:

Для i от N до K шаг h

Нц

Действия

Кц

 

 

Рис. 9. Арифметический цикл

 

 


Пример 1.

Вывести 10 раз слово «Привет».

Параметр цикла обозначим i, он будет отвечать за количество выведенных слов. При i =1 будет выведено первое слово, при i =2 будет выведено второе слова и т.д. Так как требуется вывести 10 слов, то последнее значение параметра i =10. Составим алгоритм, используя арифметический цикл, в котором правило изменения параметра i = 1, 10, 1. То есть начальное значение параметра i =1; конечное значение i =10; шаг изменения h =1. Алгоритм решения данной задачи представлены на псевдокоде и в виде блок-схемы (рис. 10).

Алгоритм на псевдокоде:

i= 1, 10, 1
"Привет "
Начало
Конец
Начало

Для i от 1 до 10 шаг 1

Нц

Вывод "Привет"

Кц

Конец

Рис. 10. Блок-схема к примеру


Пример 2.

Вычислить значение выражения функции при изменении параметра х от -5 до 5 с шагом 1. Опишем вычисление значения выраженияфункции на псевдокоде и в виде блок-схемы (рис. 11).

 

х= -5, 5, 1
Вывод х, y
Начало
Конец
y = x3 -4 x +1
Алгоритм на псевдокоде:

Начало

Для х от -5 до 5 шаг 1

Нц

Вывод x, y

Кц

Конец

 

Рис. 11. Блок схема алгоритма вычисления значений функции  

 

 


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

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

Блок-схема данной конструкции представлена на рис. 12 двумя способами: с использованием условного блока (а) и с использованием блока границы цикла (б).

Алгоритм на псевдокоде:

Тело цикла
Да
Нет
Условие
Условие
Тело цикла
Пока условие

Нц

действия

Кц

а) б)

Рис. 12. Блок-схема цикла с предусловием

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

Пример.

Одним из наиболее распространенных алгоритмов, встречающихся в литературе по информатике, является алгоритм Евклида - алгоритм нахождения наибольшего общего делителя двух натуральных чисел т и п Опишем алгоритм Евклида на псевдокоде и в виде блок-схемы (рис. 13).

Алгоритм на псевдокоде:

Начало

Ввод m, n

Пока m ¹ n

Нц

Если m > n

то m = m - n

иначе n = n - m

Кц

Вывод m

Конец

 

Нет
Да
Да
Нет
Начало
Конец
Ввод m, n
Вывод m
m = m - n
n = n - m
m > n
m ¹ n

 

Рис. 13. Блок-схема алгоритма Евклида


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

Как и в цикле с предусловием, в циклической конструкции с постусловием заранее не определено число повторений тела цикла, оно зависит от входных данных задачи. В отличие от цикла с предусловием, тело цикла с постусловием всегда будет выполнено хотя бы один раз, после чего проверяется условие. В этой конструкции тело цикла будет выполняться до тех пор, пока значение условного выражения ложно. Как только оно становится истинным, выполнение команды прекращается. Блок-схема данной конструкции представлена на рис. 14 двумя способами: с исполь-зованием условного блока (а) и с использованием блока управления (б).

Алгоритм на псевдокоде:

Условие
Тело цикла
Тело цикла
Да
Нет
Условие
Нц

действия

Кц

До условие

 

а) б)

Рис. 14. Блок-схема цикла с постусловием  


Пример.

Вычислить значения функции y =2sin x +1 на отрезке [ a, b ] с шагом h. Опишем алгоритм определения значения функции на псевдокоде и в виде блок-схемы (рис. 15).

Алгоритм на псевдокоде:

Начало

Ввод a, b

Ввод h

x = a

Нц

y =2 × sin(x)+1

Вывод x, y

x = x + h

Кц

До x³b

Конец

 

 

Да
x = a
Нет
Ввод a, b, h
Начало
Конец
Вывод x, y
x³b
y = 2×sin (x) +1
x = x + h

 

 

Рис. 15. Блок-схема алгоритма определения значения k

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







Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.