Глава 1. Понятие алгоритма, базовые алгоритмические констркуции - 1.4.4. Итерационные циклы

E-mail Печать PDF
Рейтинг пользователей: / 17
ХудшийЛучший 
Индекс материала
Глава 1. Понятие алгоритма, базовые алгоритмические констркуции
1.2. Свойства алгоритма
1.3. Способы записи алгоритмов
1.4. Базовые алгоритмические конструкции
1.4.1. Линейные алгоритмы
1.4.2. Разветвляющиеся алгоритмы
1.4.3. Циклические алгоритмы
1.4.4. Итерационные циклы
1.4.5. Вложенные циклы
1.4.6. Использование рекуррентной формулы
1.5. Тестирование алгоритма
Все страницы

1.4.4. Итерационные циклы

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

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

В итерационных алгоритмах выход из тела цикла происходит при выполнении некоторого условия. Если блок проверки этого условия располагается до тела цикла, такие алгоритмы называются циклом с предусловием. Если блок проверки условия выхода из цикла располагается после тела цикла, такие алгоритмы называются циклом с постусловием.

Рассмотрим блок-схемы итерационных циклов на примерах.

Пример 1.9. Составить алгоритм проверки, является ли произвольное целое число степенью числа три или нет.

Задачу можно решить с использованием как цикла с предусловием, так и цикла с постусловием.

Построим блок-схему цикла с предусловием. Решение задачи с использованием цикла с постусловием предлагаем выполнить самостоятельно.

Пусть numb - произвольное число. В цикле будем вычислять значение вспомогательной переменной k, формируя в ней степень числа три. Как только для значения переменной k выполнится неравенство k ? numb, выйдем из цикла. Тогда если k = numb, то numb степень числа 3.

1.Ввести проверяемое число.

 

2.Вспомогательной переменной k присвоить значение 1.

 

3.Пока k < number выполнять цикл.

4.Формировать степень числа. 3. Переменной k присвоить значение, равное предыдущему, умноженному на 3.

5.По выходе из цикла проверить равенство значения k и введенного числа. Если значения равны, то number является степенью числа 3. Печатаем слово «Да» (блок 7). В противном случае печатаем слово «Нет» (блок 6).

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

Введем следующие обозначения: number - вводимые числа, sum - искомая сумма.

Построим блок-схему алгоритма, используя цикл  с предусловием.

До цикла начальное значение суммы равно нулю (sum = 0). Параметром цикла является вводимое число number, первое значение этого числа вводится до цикла. Операторы вычисления суммы и ввода нового значения number выполняются в цикле до тех пор, пока не будет введено значение number = 0. На этом выполнение цикла заканчивается и выводится вычисленное значение sum. Заранее нам неизвестно, сколько раз выполнится цикл (это зависит от того, когда будет введено нулевое значение), поэтому используем итерационный цикл.

Для вычисления суммы используется формула сумма = сумма + очередное слагаемое. Такая запись означает, что к значению суммы, вычисленному на предыдущем шаге исполнения алгоритма, добавляется новое слагаемое. Вычисленное значение суммы хранится в той же ячейке памяти, что и предыдущее значение. Это позволяет постепенно накапливать сумму. Начальное значение суммы равно нулю.

Присвоить переменной sum нулевое значение.

 

Ввести число.

 

Если введенное число не равно нулю, то выполнить цикл. Если число равно нулю, то закончить цикл.

 

В теле цикла вычислить значение суммы.

 

Вывести полученное значение суммы.



 

Добавьтe Ваш комментарий

Ваше имя (псевдоним):
Ваш адрес почты:
Заголовок:
Комментарий:

Комментарии

Интересное




Похожие материалы

Партнёры