Dim xn As Single, xk As Single, x As Single, y As Single, n As _ Integer, h As Single, st As String
ЛАБОРАТОРНА РОБОТА № 1
ПРОГРАМУВАННЯ ЦИКЛІЧНИХ ОБЧИСЛЮВАЛЬНИХ ПРОЦЕСІВ
Мета роботи
Навчитися використовувати оператори циклу For – Next ,оператори циклу с передумовою та післяумовою Do – Loop , For – Each , умови While та Until для реалізації арифметичних та ітераційних циклічних обчислювальних алгоритмів.
1.2 Загальні теоретичні відомості
Відомо, що цикл – це група дій(операцій), які виконуються багаторазово. Змінна, від якої залежить кількість повторень циклу називається параметром циклу.
Розрізняють два види циклів:
· арифметичний – число повторень якого можна апріорі визначити.
Синтаксис оператора:
For лічильник = початкове значення To кінцеве значення Step крок зміни
[Оператори – тіло циклу]
Next лічильник .
Оператор повторює виконання тіла циклу, змінюючи значення змінної лічильника від початкового значення до кінцевого значення із заданим кроком зміни. Кількість повторень підраховується за формулою:
n = + 1;
· ітераційний – цикл із невідомим числом повторень.
Синтаксис операторів з передумовою:
або .
Синтаксис операторів з післяумовою:
або .
Причому, While – забезпечує багатократне виконання тіла циклу доти, поки умова виконується, Until – забезпечує багатократне виконання тіла циклу доти, поки умова не виконується.
Додатково є оператор циклу по сімейству об’єктів.
Синтаксис оператора:
For Each змінна in сімейство
[Оператори – тіло циклу]
Next змінна .
Оператор повторює виконання тіла циклу, поки змінна перебирає всі об’єкти із сімейства обєктів.
Задачі, у розв’язку яких використовують арифметичний цикл – це табулювання функції на заданому проміжку із заданим кроком.
Задачі ітераційного циклу – це задачі на визначення наближеного значення функції з заданою точністю та підрахунки за рекурентними формулами.
В мові VBA є також декілька спеціальних операторів для організації таких циклів.
1.3 Приклади розв’язання завдання та програмування циклічних обчислювальних процесів
Розглянемо типові алгоритми циклічних процесів.
Приклад 1.3.1 Обчислити значення функції ,
де , n=10 – кількість розподілу інтервалу.
Дані розмістити у вигляді таблиці.
Для наданої задачі розглянемо три способи рішення.
Спосіб 1
Початкові значення х введемо за допомогою вбудованого вікна вводу InputBox , а результати підрахунків виведемо у діалогове вікно виводу MsgBox . Додамо про проекту модуль за ім’ям “Приклад1_1”.
Запишемо код цього модуля у відповідному вікні.
Код програми:
Sub tab1()
Dim xn As Single, xk As Single, x As Single, y As Single, n As _ Integer, h As Single, st As String
st = “”' розраховану таблицю значень оформлюємо за допомогою рядкової змінної st
xn = InputBox("Ввести початкове х=")
xk = InputBox("Ввести кінцеве х=")
n = InputBox("Ввести кількість розподілу інтервалу n=")
h = (xk - xn) / n
For x = xn To xk Step h
y = (Sin(x) - 2.7) / (Abs(x) + Sqr(x ^ 4 + 1))
st = st & "x=" & x & vbTab & "y=" & y & vbCrLf
Next x
MsgBox st , , “Результати розрахунків”
End Sub
Результати роботи програми наведені на рис. 1.1 :
Рисунок 1.1 – Результати роботи програми
Спосіб 2
Для відображення початкових значень х та розрахункових значень y використовуємо “Лист1” EXCEL , як показано на рис. 1.2.
Результати обчислень виведемо починаючи з клітин А5 , В5 .
Розмістимо на цьому ж листі CommandButton1 , для якої змінимо властивості: Caption – «Табулювання» ; Font – «жирный» , 14.
Рисунок 1.2 – Інтерфейс “Лист1”
Код програми: