Vba-4 цикли прості

ЦИКЛІЧНІ ОБЧИСЛЮВАЛЬНІ ПРОЦЕСИ

Часто при вирішенні завдань доводиться багаторазово виконувати обчислення за одним і тим же формулам з різними вихідними даними.

Приклад. Скласти програму обчислення значення функції y = sinx пріx = 0; 0,1; 0,2; ... 1. Очевидно, що для визначення всіх значень функцііy необхідно обчислювати і виводити на екран монітора 11 раз значеніеsinx. починаючи СX = 0 і збільшуючи кожен раз аргументx на 0,1. При вирішенні даного завдання доцільно іспользоватьцікліческій алгоритм. реалізований за допомогою спеціальних операторів циклів.

Цикл - це конструкція в програмуванні, яка дозволяє неодноразово виконувати одну і ту ж послідовність операторів всередині програми.

Циклічні алгоритми діляться на арифметичні та ітераційні.

Цикл називається арифметичним. якщо кількість його повторень заздалегідь відомо або може бути легко обчислено (ін. назви арифметичного циклу - з відомим числом повторень, регулярний, рахунковий, з параметром).

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

Для реалізації арифметичних циклів використовують конструкцію

FOR x = xнач TO xкон [STEP Δx] 'Тема циклу (означає. Для x, що змінюється від xнач до xкон з кроком Δx)

... 'Оператори (тіло циклу)

NEXT [x] 'Зациклення (повернення до початку циклу)

x - керуюча змінна (параметр) циклу;

xнач. xкон. Δx - константи, змінні або арифметичні вирази, які задають відповідно початкове значення, кінцеве значення і крок зміни (приріст) параметра циклу.

Кількість повторень циклу n можна обчислити за формулою:

Vba-4 цикли прості

Після того, як x побільшає xкон. управління передається оператору, наступному за NEXT.

Якщо крок Δx = 1, то ключове слово STEP і параметр Δx можна опустити.

Зображення циклу в ДСА розглянемо на прикладі Ц1.

Приклад Ц1: Обчислити значення y = sin x. якщо 0 ≤ x ≤ 1 і Δx = 0,1.

Тут xнач = 0, xкон = 1, крок Δx = 0,1.

Даний приклад є прикладом табулирования функції - обчислення безлічі значень функції при різних значеннях вхідних в неї аргументів.

Складемо ДСА вирішення цього завдання на основі знань, отриманих при вивченні теми «Розгалужуються обчислювальні процеси» (рис. 1).

Vba-4 цикли прості
Vba-4 цикли прості
Мал. 2. ДСА в короткій формі

Мал. 1. ДСА в повній формі

У блоці 2 (див. Рис. 1) задається початкове значення аргументу x. в блоці 3 здійснюється порівняння поточного значення x з кінцевим, потім виконується розрахунок і виведення результату. У блоці 6 значення x нарощується, і весь процес повторюється до тих пір, поки поточне значення x не перевищить кінцеве.

Зазвичай арифметичний цикл в ДСА зображують більш компактно (рис. 2), використовуючи для цього символ модифікації (блок 2 на рис. 2), в якому вказують параметр циклу, його початкове і кінцеве значення і крок зміни. Таким чином, блок 2, який реалізує цикл в короткій формі ДСА, об'єднує в собі блоки 2, 3 і 6 повної ДСА.

При складанні ДСА та програм циклічних процесів потрібно вміти виділяти:

- початкове значення параметра циклу;

- кінцеве значення параметра циклу або умова закінчення циклу;

- закон зміни параметра циклу;

Відповідно до представленої вище ДСА складемо в загальному вигляді програму табулювання функції з висновком результатів на лист Excel.

Vba-4 цикли прості

Зауваження щодо застосування арифметичних циклів

Параметр циклу в операторах FOR і NEXT повинен бути однаковим (можна після NEXT параметр циклу взагалі не вказувати).

Якщо кінцеве значення параметра циклу менше початкового, то крок зміни параметра циклу повинен бути негативним.

Не рекомендується змінювати всередині циклу значення параметра циклу або межі його зміни (x, xнач. Xкон)

Допускається вихід з циклу в будь-який час (наприклад, за допомогою оператора GOTO).

Якщо при організації циклу використовуються дробові числа. то за рахунок похибки їх подання можлива ситуація, коли останнє значення параметра циклу не буде отримано. У цьому випадку замість xкон зазвичай використовують значення xкон + Δx / 10. Наприклад, як в прикладі Ц1.

При виході з циклу зберігається поточне значення параметра циклу, яке зазвичай на крок більше кінцевого значення.