Програмування алгоритмічною мовою VBA

Міністерство освіти і науки України

Полтавський національний технічний університет

імені Юрія Кондратюка

Факультет будівельний

Кафедра будівельної механіки















РОЗРАХУНКОВО-ГРАФІЧНА

РОБОТА

„Програмування алгоритмічною мовою VBA”





Індивідуальний навчальний план №08032

студент гр. 202-БП

Виконав Загородній Я.Ю.

Керівник: Мартьянов В.В.

					

					

					

					

					

					

					

					Полтава 2009

	
Завдання на розрахунково-графічну роботу № 3

„Програмування алгоритмічною мовою VBA”

У розрахунково-графічній роботі необхідно виконати розв’язання задач мовою програмування VBA з використанням алгоритмів лінійної, розгалуженої та ітераційної циклічної структури. При вирішенні кожної задачі необхідно розробити постановку задачі, блок-схему алгоритму, таблицю ідентифікаторів та текст програми мовою VBA. Складену програму необхідно протестувати, використавши контрольний приклад згідно завдання. Вихідні дані для вирішення кожної поставленої задачі потрібно брати згідно номеру варіанту із „Методичних вказівок до виконання лабораторних робіт на тему “Програмування мовою VBA” із дисципліни “Інформатика”. При цьому у відповідних розділах розрахунково-графічної роботи вирішуються наступні задачі:

1) Створення власної панелі інструментів користувача для розташування на ній кнопок виклику програм лінійної, розгалуженої та ітераційної циклічної структури.

2) Розробка алгоритму та програми лінійної структури для розрахунку значень заданих функцій згідно номера варіанта відповідного розділу „Методичних вказівок до виконання лабораторних робіт на тему “Програмування мовою VBA” із дисципліни “Інформатика”.

3) Розробка алгоритму та програми розгалуженої структури для розрахунку значень заданої функції в залежності від значень вхідних даних згідно номера варіанта відповідного розділу „Методичних вказівок до виконання лабораторних робіт на тему “Програмування мовою VBA” із дисципліни “Інформатика”.

4) Розробка алгоритму та програми табуляції функції однієї змінної з використанням ітераційного циклу при розрахунку значень заданої функції згідно номера варіанта відповідного розділу „Методичних вказівок до виконання лабораторних робіт на тему “Програмування мовою VBA” із дисципліни “Інформатика”.

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

За допомогою текстового редактора MS Word створити звіт про виконану розрахунково-графічну роботу, що повинен містити: титульну сторінку; бланк завдання; зміст; вступ, порядок вирішення кожної поставленої задачі, список використаних літературних джерел. Текст звіту оформлюється шрифтом типу Times New Roman розміром 14 кегель з полуторним інтервалом і повинен бути вирівняним по ширині з абзацним відступом 1,25 см. Всі сторінки повинні бути пронумеровані. Титульна сторінка і бланк завдання включаються до нумерації сторінок, але номери на них не проставляються. Звіт повинен бути оформлений у відповідності з вимогами 

ДСТУ Б А. 2. 4 – 4 – 95. Основні вимоги до робочої документації – К.– 1997., і роздрукований на аркушах формату А4. До звіту додається електронна копія звіту підготовленого в текстовому редакторі MS Word із створеними у звіті макросами, що містять розроблені програми.

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

При виконанні роботи необхідно використовувати „Методичні вказівки до виконання лабораторних робіт на тему “Програмування мовою VBA” із дисципліни “Інформатика” (частина 1) для студентів денної форми навчання за напрямом “Будівництво” / Полтава: ПолтНТУ, 2006. - 19 с.


Зміст



Вступ

1. Інструментальне середовище Visual Basic for Application

1.1 Створення панелі інструментів користувача

1.2 Створення макросів

1.3 Винесення кнопок макросів на власну панель користувача

1.4 Змінення малюнка піктографічної кнопки

1.5 Редактор Visual Basic

2. Програмування алгоритмів циклічної структури

2.1 Постановка задачі

2.2 Блок-схема алгоритму

2.3 Таблиця ідентифікаторів

2.4 Текст програми

2.5 Результати роботи програми

2.6 Відносна похибка між результатами підрахунку

3. Програмування алгоритмів ітераційної структури

3.1 Постановка задачі

3.2 Блок-схема алгоритму

3.3 Таблиця ідентифікаторів

3.4 Текст програми

3.5 Результати роботи програми

3.6 Відносна похибка між результатами підрахунку

Висновок

Список використаних літературних джерел


Вступ



1. Етапи розв’язування задач на ЕОМ

Розв’язок будь-яких задач за допомогою ЕОМ, як правило, відбувається в кілька етапів, основними з яких є наступні:

постановка задачі містить у собі визначення складу, типів і кількості вхідних даних; складу та форми представлення результатів рішення; розробку математичної моделі розв’язку;

розроблення алгоритму відбувається на основі обраної математичної моделі і відображає послідовно всі етапи цієї моделі.

Алгоритм – це чітка послідовність дій виконання, які призводять до розв’язку задач.

програмування – це знання алгоритму спеціальною мовою, яка називається мовою програмування;

налагодження програми (тестування) – це процес виявлення і усунення помилок;

експлуатація програми;

2. Властивості і типи алгоритмів

Алгоритм має відповідати певним вимогам, тобто мати властивості. 

Масовість – це властивість одержувати при всіх наборах вхідних даних розв’язок задачі або про його неможливість.

Результативність – це властивість при всіх значеннях вхідних даних за кінцеву кількість кроків розв’язок задачі або про його неможливість.

Залежно від послідовності дій розрізняють наступні типи алгоритмів:

Лінійний алгоритм – це такий алгоритм в якому дії виконуються в порядку їх запису без пропусків від початку до кінця без розгалуження.

Розгалужений – це такий алгоритм в якому послідовність дій може змінюватися залежно від виконання чи невиконання деякої умови розгалуження.

Циклічний – це такий алгоритм в якому деяка група дій виконується багаторазово (має повторювані дії).


1. Інструментальне середовище Visual Basic for Application



Мета роботи  вивчення інструментального середовища програмування Visual Basic for Application, його системи меню, режимів роботи, текстового редактора програм, виконання програм, довідково-інформаційної системи. 

Хід роботи



1.1 Створення панелі інструментів користувача



Меню/Сервис/Настройка

Меню/Вид/Панель инструментов/Настройка.



Рис. 1.1.

Діалогове вікно «Настройка»/вкладка «Панели инструментов»



З’являється діалогове вікно «Настройка». На вкладці панелі інструментів натискаємо на кнопці «Создать». 



Рис. 1.2.

Вікно створення панелі інструментів.


При цьому виникає вікно панелі інструментів користувача. Замість «Настраємая1» вводимо свою назву, нижче обираємо назву власного документу. Натискаємо на створеному об’єкті  з’являється невеличка панель інструментів і після цього закриваємо вікно «Настройка».



1.2 Створення макросів



Виконуємо команду: Меню/Сервис/Макрос/Макроси. З’являється вікно «Макроси».

В цьому вікні в рядку «Макроси из» вибираємо свій файл, а в першому рядку записуємо назву макроса. Назва макроса складається лише з одного слова. Натискаємо на клавіші «ОК».





Рис. 1.3.

Діалогове вікно «Макрос»



1.3 Винесення кнопок макросів на власну панель користувача



Дістаємося діалогового вікна «Настройка». Вибираємо вкладку «Команди». В лівій частині вибираємо пункт макроси, з правого боку буде перелік всіх макросів, які є в вашому документі. Ні в якому разі не вибирати Normal. Лівою клавішею миші перетягуємо макрос на власну панель інструментів.




Рис. 1.4..

Панель інструментів «Захарченко» із створеними піктографічними кнопками



1.4 Змінення малюнка піктографічної кнопки





Рис. 1.5.

Діалогове вікно «Настройка»/ пункт «изменить выделенный объект»



При відкритому діалоговому вікні «Команди» в контекстному меню виконуємо команду «Основной стиль». 

Викликаємо контекстне меню на клавіші і вибираємо «Изменить значок на кнопке». При цьому з’являється діалогове вікно редактора кнопок який дозволяє виконати редагування або створити власний малюнок.




Рис. 1.6.

Вікно редактора піктографічної кнопки



1.5 Редактор Visual Basic



Для запису макросу використовується редактор Visual Basic, котрий містить рядок меню, панелі інструментів, три вікна (Project, Properties і вікно програмного коду).Тексти програм записується у вікні програмного коду. 





Рис. 1.7.

Загальний вигляд редактора VBA



Запуск програми на виконання здійснюється:

Клавіша F5;

Меню/Run;

Натискання на піктограму ;

В Visual Basic for Application є довідково-інформаційна система яка викликається:

Help/Справка: Microsoft Visual Basic;

Клавіша F1

Зберігання документа:

Піктографічна кнопка ;

Меню/File/Save;

	Комбінація клавіш Ctrl+S;

Вихід із системи програмування Visual Basic for Application

Піктографічна кнопка ;

Меню/File/Close and Return to Microsoft Word;

Комбінація клавіш Alt+Q;

Висновок: за допомогою даної роботи я вивчив інструментальне середовище програмування Visual Basic for Application, його системи меню, режимів роботи, текстового редактора програм, виконання програм, довідково-інформаційні системи.


2. Програмування алгоритмів циклічної структури



Мета роботи  оволодіння практичними навичками розроблення та програмування обчислювального процесу циклічної структури і навичками налагодження й тестування програм.

Хід роботи



2.1 Постановка задачі



7



1,5



6

		

2.2 Блок-схема алгоритму

		

		Наведено на рис. 2.1.

		

		

початок

Увести  x, n

Вивести s

кінець



i=1..n



		

		

		

		

		

		

		

		

		

		

		

		

		

		2.3 Таблиця ідентифікаторів

		

Змінна алгоритму

n

s

x

i

Ідентифікатор

n

s

x

i

Тип

integer

single

single

integer

		

		2.4 Текст програми



Sub circl_ind()

'Автор-розробник Захарченко

'виведення назви програми

MsgBox ("index")

'оголошення змінних

Dim n, i As Integer

Dim s, x As Single

'введення данних

n = InputBox("Уведiть n")

x = InputBox("Уведiть x")

s = 1 / x

'обчислення функцій

For i = 1 To n

s = s + ((-1) ^ i) * (1 / ((2 * i + 1) * (x ^ (2 * i + 1))))

Next i

'виведення результатів

MsgBox ("Значення s=" + Str(s))

End Sub



2.5 Результати роботи програми



 


2.6 Відносна похибка між результатами підрахунку



 





		

		



Висновок: за допомогою даної роботі я оволодів практичними навичками розроблення та програмування обчислювального процесу циклічної структури і навичками налагодження й тестування програм. 




3. Програмування алгоритмів ітераційної структури

		

		Мета роботи  оволодіння практичними навичками розроблення та програмування обчислювального процесу ітераційної структури, поліпшення навичок налагодження і тестування програм.

		Хід роботи



3.1 Постановка задачі

		

		Розробити алгоритм та програму знаходження значень функції

7



bx<1

bx=1

bx>1

b=1,5





3.2 Блок-схема алгоритму



Наведено на рис. 3.1.



3.3 Таблиця ідентифікаторів

		

Змінна алгоритму

b

x

Q







Ідентифікатор

b

x

Q

Xo

Xn

dx

Тип

single

single

single

single

single

single

		






початок



Увести значення

a, b, 













так





ні



ні

так



bx<1

	

ні

так

bx=1



		















Вивести значення у











так







ні



кінець






3.4 Текст програми



Sub iterac()

'Автор-розробник Захарченко

'виведення назви програми

MsgBox ("iteraciyna")

'оголошення змінних

Dim Q, x, x0, dx, xn, b As Single

'введення данних

b = CSng(InputBox("Уведiть b"))

x0 = CSng(InputBox("Уведiть x0"))

xn = CSng(InputBox("Уведiть xn"))

dx = CSng(InputBox("Уведiть dx"))

x = x0

'обчислення функцій

While x <= xn

If b * x <= 0 Then

GoTo 1

Else

If b * x < 1 Then

Q = b * x - Log(b * x) / Log(10)

Else

If b * x = 1 Then

Q = 1

Else

Q = b * x + Log(b * x) / Log(10)

End If

End If

End If

'виведення результатів

MsgBox ("Значення Q=" + Str(Q) + " x=" + Str(x))

1

x = x + dx

Wend

End Sub



3.5 Результати роботи програми







3.6 Відносна похибка між результатами підрахунку







		

		
Висновок: за допомогою даної роботи я оволодів практичними навичками розроблення та програмування обчислювального процесу ітераційної структури, поліпшив навички налагодження і тестування програм. 


Висновок



		Під час виконання цієї роботи я:

		познайомився з мовою програмування Visual Basic for Application;

		вивчив інструментальне середовище програмування Visual Basic for Application;

		оволодів практичними навичками розроблення та програмування обчислювального процесу циклічної структури;

		оволодів практичними навичками розроблення та програмування обчислювального процесу ітераційної структури;

		поліпшила навички налагодження і тестування програм.


Список використаних літературних джерел



1. ДСТУ Б А. 2. 4 – 4 – 95. Основні вимоги до робочої документації. – К. – 1997.

2. Бухвалов А.В. и др. Финансовые вычисления для профессионалов.- СПб.: БХВ-Петербург, 2001.-320с. ил.

3. Гарнаев А.Ю. Excel, VBA, Internet в экономике и финансах.- СПб.: БХВ-Петербург, 2001.- 816с.:ил.

4. Евдокимов В.В. и др. Экономическая информатика. Учебник для вузов. Под ред. Д.э.н., проф. В.В.Евдокимова. – СПб.: Питер, 1997. – 592с.

5. Згуровський М.З., Коваленко І.І., Міхайленко В.М. Вступ до комп’ютерних інформаційних технологій: Навч.посіб. – К.: Вид-во Європ. ун-ту (фінанси, інформ. системи, менеджм. і бізнес), 2000.- 265 с.

6. Информатика. Базовый курс/ Симонович С.В. и др.- СПб.: Питер, 2000.- 640с.:ил.

7. Карлберг, Конрад. Бизнес-анализ с помощью Excel.: Пер с англ.- К.: Диалектика, 1997.- 448с.: ил.

8. Лук‘янова В.В. Комп‘ютерний аналіз даних: Посібник. – К.: Видавничий центр „Академія”, 2003. – 344с. (Альма-матер)

9.Камминг, Стив. VBA для "чайников", 3-е издание.: Пер.с англ. – М.: Издательский дом "Вильямc", 2001.— 448c.

10.А. Васильев, А. Андреев. VBA в Office 2000. C.-Пб.: Питер, 2001. – 409c.

11.Демидова Л.А., Пылькин А.Н. Программирование в среде Visual Basic for Application. М.: Телеком 2004.

12.Гетц К., Джилберт М. Программирование в Microsoft Office. К.: Издательская группа BHV, 1999.