Студопедия

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

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

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






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






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

Из циклических алгоритмов выделяют два типа:

1) с заданным количеством циклов или со счётчиком циклов;

2) количество циклов неизвестно.

Пример: В цикле вычислить значение функции z=x*y при условии, что одна из переменных x меняется в каждом цикле на единицу, а другая переменная у не меняется и может быть любым целым числом. В результате выполнения цикла при начальном значении переменной х=1 можно получить таблицу умножения. Количество циклов может быть любым. Составить блок-схему решения задачи.

Решение: В примере количество циклов задаётся. Соответственно выбирается алгоритм циклов первого типа. Алгоритм этой задачи приводится на рис. 11.

Во втором блоке вводятся количество циклов n и любые целые числа х, y.

В блок-схеме появился новый блок 3, в котором переменная i считает количество циклов, после каждого цикла увеличиваясь на единицу, пока счётчик не будет равен i=n. При i=n будет выполнен последний цикл.

В третьем блоке указывается диапазон изменения счётчика цикла (от i =1 до i=n).

В четвёртом блоке изменяются значения переменных: z, x.

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

 
 
 
 
 
 

Рис.11. Циклический алгоритм со счётчиком циклов

Этот тип циклических алгоритмов предпочтителен, если дано количеством циклов.

Если количество циклов неизвестно, то блок-схемы циклических алгоритмов могут быть представлены в виде рисунков 12, 13.

Пример: Вычислить у=у-x пока y> x, если y=30, x=4. Подсчитать количество выполненных циклов, конечное значение переменной у. В цикле вывести значение переменной у, количество выполненных циклов. Составить блок-схему решения задачи.

Решение: В примере количество циклов неизвестно. Соответственно выбирается алгоритм циклов второго типа. Алгоритм этой задачи приводится на рис. 12.

Условие проверяется на входе в цикл. В теле цикла выполняется два блока:

1) у=у-х; i=i+1;

2) вывод значений переменных i, y.

Цикл выполняется до тех пор, пока выполняется условие y> x. При условии равенства этих переменных у=х или y< x цикл заканчивается.

Алгоритм, представленный на рис.12, называется циклический алгоритм с предусловием, так как условие проверяется в начале цикла или на входе в цикл.

 
 
 
 
 
 
 

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

Во втором блоке вводятся y=30, x=4.

В третьем блоке проверяется условие y> x на входе в цикл. Если условие выполняется, то переход к блоку 4, иначе на блок 6.

В четвёртом блоке вычисляется значение переменной у, подсчитывается количество выполненных циклов i=i+1.

В пятом блоке выводится результат:

· значение переменной у,

· количество выполненных циклов i.

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

Решение: В этом случае проверяется условие на выход из цикла: y< =x. При этом условии цикл не выполняется. Условие в блок-схеме следует перенести в конец цикла, после вывода на печать. Цикл выполняется до тех пор, пока выполняется условие y> x.

Алгоритм, если условие перенести в конец цикла, называется алгоритмом цикла с постусловием. Алгоритм этой задачи приводится на рис. 13.

Во втором блоке вводятся y=30, x=4.

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

В четвёртом блоке выводится результат:

· значение переменной у,

· количество выполненных циклов i.

В пятом блоке проверяется условие y< =x на выход из цикла. Если условие выполняется, то переход к блоку 6, иначе на блок 3 и цикл повторяется.

 

 
 
 
 
 
 

Рис.13. Алгоритм цикла с постусловием

Контрольные вопросы

1. Понятие алгоритма.

2. Виды алгоритмов.

3. Основные алгоритмические структуры.

4. Основные блоки графического алгоритма.

5. Линейная алгоритмическая структура. Пример.

6. Ветвление. Пример.

7. Циклические алгоритмические структуры. Пример.

 






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