Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Алгоритмы циклической структуры






Циклом называют повторение одних и тех же действий (шагов).

Последовательность действий, которые повторяются в цикле, называют телом цикла. Существует несколько типов алгоритмов циклической структуры. На рис.8 изображен цикл с предусловием, а на рис.9 – цикл с постусловием, которые называют условными циклическими алгоритмами. Нетрудно заметить, что эти циклы взаимозаменяемы и обладают некоторыми отличиями. В цикле с предусловием условие проверяется до тела цикла, в цикле с постусловием – после тела цикла. В цикле с постусловием тело цикла выполняется хотя бы один раз, в цикле с предусловием тело цикла может не выполниться ни разу. В цикле с предусловием проверяется условие продолжения цикла, в цикле с постусловием – условие выхода из цикла.

               
   
     
 
 
   
Рис.9. Алгоритм циклической структуры с постусловием
 
Рис.8. Алгоритм циклической структуры с предусловием
 

 

 

 


При написании условных циклических алгоритмов следует помнить следующее. Во-первых, чтобы цикл имел шанс когда-нибудь закончиться, содержимое его тела должно обязательно влиять на условие цикла. Во-вторых, условие должно состоять из корректных выражений и значений, определенных еще до первого выполнения тела цикла. Кроме того, существует так называемый безусловный циклический алгоритм, который удобно использовать, если известно, сколько раз необходимо выполнить тело цикла. Выполнение безусловного циклического алгоритма начинается с присвоения переменной i стартового значения in. Затем следует проверка, не превосходит ли переменная i конечное значение iк. Если превосходит, то цикл считается завершенным, и управление передается следующему за телом цикла оператору. В противном случае выполняется тело цикла, и переменная i меняет свое значение в соответствии с указанным шагом di. Далее, снова производится проверка значения переменной i и алгоритм повторяется. Понятно, что безусловный циклический алгоритм можно заменить любым условным.

 
 

 


Рис. 10. Условный циклический алгоритм с известным числом повторений

Отметим, что переменную i называют параметром цикла, так как это переменная, которая изменяется внутри цикла по определенному закону и влияет на его окончание. Рассмотрим использование алгоритмов циклической структуры на конкретных примерах.

Пример 1. Найти наибольший общий делитель (НОД) двух натуральных чисел (А, В).

 
 


Рис.11. Блок-схема вычисления наибольшего общего делителя двух чисел

Входные данные: А и В. Выходные данные: А – НОД.

Для решения поставленной задачи воспользуемся алгоритмом Евклида: будем уменьшать каждый раз большее из чисел на величину меньшего до тех пор, пока оба значения не станут равными, так, как показано в блок-схеме на рис.11.

Пройдем алгоритм Евклида в соответствии с блок-схемой для поиска НОД чисел А=25 и В=15.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.