|
Циклическая алгоритмическая конструкцияЦиклической (или циклом) называют алгоритмическую конструкцию, в которой некая, идущая подряд группа действий (шагов) алгоритма может выполняться несколько раз, в зависимости от входных данных или условия задачи. Группа повторяющихся действий на каждом шаге цикла называется телом цикла. Такая организация повторения предписываемых действий позволяет существенно сократить размер алгоритма. Рассмотрим три типа циклических алгоритмов цикл с параметром (или арифметический цикл), цикл с предусловием и цикл с постусловием (или итерационные циклы).
3.3.1. Цикл с параметром (арифметический цикл) В арифметическом цикле число шагов (повторений) однозначно определяется правилом изменения параметра, которое задается с помощью начального значения (N) и конечного значения (K)и шагом изменения (h) параметра цикла. На первом шаге цикла значение параметра равно N, на втором – N + h, на третьем - N +2 h и т.д. На последнем шаге цикла значение параметра не больше или равно К, но такое, что дальнейшее его изменение приведет к значению, большему, чем К. Блок-схема данной конструкции представлена на рис. 9.
Для i от N до K шаг h Нц Действия Кц
Пример 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 Нц Вывод "Привет" Кц Конец
Пример 2. Вычислить значение выражения функции при изменении параметра х от -5 до 5 с шагом 1. Опишем вычисление значения выраженияфункции на псевдокоде и в виде блок-схемы (рис. 11).
Начало Для х от -5 до 5 шаг 1 Нц Вывод x, y Кц Конец
Цикл с предусловием Количество шагов цикла заранее не определено и зависит от входных данных задачи. В данной циклической структуре сначала проверяется значение условного выражения (условие) перед выполнением очередного шага цикла. Если значение условного выражения истинно, исполняется тело цикла. После чего управление вновь передается проверке условия и т.д. Эти действия повторяются до тех пор, пока условное выражение не примет значение ложь. При первом же несоблюдении условия цикл завершается. Блок-схема данной конструкции представлена на рис. 12 двумя способами: с использованием условного блока (а) и с использованием блока границы цикла (б). Алгоритм на псевдокоде:
Нц действия Кц а) б) Рис. 12. Блок-схема цикла с предусловием Особенностью цикла с предусловием является то, что если изначально условное выражение ложно, то тело цикла не выполнится ни разу. Пример. Одним из наиболее распространенных алгоритмов, встречающихся в литературе по информатике, является алгоритм Евклида - алгоритм нахождения наибольшего общего делителя двух натуральных чисел т и п Опишем алгоритм Евклида на псевдокоде и в виде блок-схемы (рис. 13). Алгоритм на псевдокоде: Начало Ввод m, n Пока m ¹ n Нц Если m > n то m = m - n иначе n = n - m Кц Вывод m Конец
Рис. 13. Блок-схема алгоритма Евклида Цикл с постусловием Как и в цикле с предусловием, в циклической конструкции с постусловием заранее не определено число повторений тела цикла, оно зависит от входных данных задачи. В отличие от цикла с предусловием, тело цикла с постусловием всегда будет выполнено хотя бы один раз, после чего проверяется условие. В этой конструкции тело цикла будет выполняться до тех пор, пока значение условного выражения ложно. Как только оно становится истинным, выполнение команды прекращается. Блок-схема данной конструкции представлена на рис. 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 Конец
Рис. 15. Блок-схема алгоритма определения значения k Алгоритм любой задачи может быть представлен как комбинация представленных выше элементарных алгоритмических структур, поэтому данные конструкции: линейную, ветвящуюся и циклическую, называют базовыми. Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|