Циклические алгоритмы.
Программирование на vba в ms excel
Из приведенных блок-схем очевидно основное различие этих циклов: цикл с постусловием выполняется гарантированно хотя бы раз, а цикл с предусловием может ни разу не выполняться. Для определения количества повторений некоторой последовательности действий цикл содержит условие. Требуемые вычисления производятся в основном блоке цикла — теле цикла. Введем следующие обозначения: — интервал изменения… Читать ещё >
Циклические алгоритмы. Программирование на vba в ms excel (реферат, курсовая, диплом, контрольная)
Алгоритм называется циклическим (или циклом), если содержит многократно исполняющийся участок (тело цикла). При каждом исполнении цикла переменные его тела изменяются, но одним и гем же законам и получают новые значения.
Для определения количества повторений некоторой последовательности действий цикл содержит условие. Требуемые вычисления производятся в основном блоке цикла — теле цикла.
Циклы по способу организации делятся на два основных вида:
- • классические у или циклы с параметром (циклы с заранее известным числом повторений);
- • итерационные, или беспараметрические (циклы с неизвестным числом повторений).
Цикл с параметром. Классический цикл использует специальную переменную, которая управляет его работой и называется параметром цикла. Это числовая переменная, которая изменяется, но закону арифметической прогрессии, что обусловливает необходимое количество повторений цикла. Поэтому заранее для параметра цикла устанавливаются:
- • начальное значение (обозначим его ?нач);
- • конечное значение (?кон);
- • шаг изменения (АО-
По известным значениям этих величин можно вычислить количество повторений цикла по формуле.
Квадратные скобки в формуле обозначают выделение целой части частного без его округления, так как тело цикла повторяется целое количество раз.
На рис. 1.8 представлена типовая схема цикла с параметром. Тело цикла выполняется несколько раз в зависимости от величины параметра цикла (Пц). Параметр цикла изначально принимает значение, равное величине, называемой начальным значением (Нз). После выполнения тела цикла параметр цикла наращивается на величину, равную шагу (Ш).
Цикл заканчивается, если параметр цикла принимает значение, большее величины, называемой конечным значением (Кз).
Рис. 1.8. Типовая схема алгоритма цикла с параметром Для обозначения циклического процесса можно использовать специальный блок «подготовка». В блоке указываются характеристики параметра цикла (начальное, конечное значения и шаг изменения в формате t = ?нач, ?кон, At). Тело цикла на схеме располагается, как правило, ниже блока «подготовка».
На рис. 1.9 приведена типовая схема одиночного цикла с блоком «подготовка».
Рис. 1.9. Типовая схема алгоритма классического цикла с помощью блока «подготовка».
Пример 1.3.
Вычислить значения функции у = sin (.r) при изменении аргументах на заданном интервале с постоянным шагом.
Решение
Введем следующие обозначения: [хп, xk] — интервал изменения х; h — шаг изменения аргумента функции. На рис. 1.10 приведен циклический алгоритм решения задачи примера 1.3.
Рис. 1.10. Схема алгоритма классического цикла примера 1.3.
Беспараметрический цикл. Итерационный (беспараметрический) цикл является циклом с неизвестным числом повторений и отличается от классического другой организацией. Выход из итерационного цикла осуществляется при выполнении условия, связанного с проверкой значения монотонно изменяющейся в цикле величины (точности вычисления).
От взаимного расположения частей (тела и условия) цикла зависит вид его типовой схемы: с предусловием или с постусловием.
В беспараметрическом цикле с предусловием сначала проверяется условие, затем, в зависимости от его значения (истинно или ложно), выполняется тело цикла или осуществляется переход к следующему за телом цикла оператору. Управление снова передается на проверку условия после завершения тела цикла. Важным требованием реализации цикла является необходимость обеспечения в теле цикла изменения входящих в условие переменных. В противном случае может произойти зацикливание алгоритма, и программа «зависнет».
Для беспараметрического цикла с постусловием вначале выполняется тело цикла, а затем проверяется условие. В зависимости от его значения тело цикла повторно выполняется или же происходит переход к следующему за телом цикла оператору. Все сказанное выше о возможном зацикливании справедливо и для данного цикла.
На рис. 1.11 представлены типовые блок-схемы беспараметрических циклов с предусловием и постусловием.
Из приведенных блок-схем очевидно основное различие этих циклов: цикл с постусловием выполняется гарантированно хотя бы раз, а цикл с предусловием может ни разу не выполняться.
Рис. 1.11. Типовые блок-схемы алгоритма беспараметрического цикла.
Пример 1.4 * 1
Для заданного целого положительного числа п вычислить его факториал («!). Определение факториала следующее:
Решение.
Введем следующие обозначения: п — аргумент; i — промежуточная переменная; F — результат. На рис. 1.12 приведена блок-схема алгоритма решения задачи примера 1.4.
Рис. 1.12. Схема алгоритма беспараметрического цикла примера 1.4.