- •§ 1. Поняття про інформаційне моделювання
- •Опорний конспект
- •§ 2. Етапи розв’язання задач на комп’ютері
- •§ 3. Середовища розробки проектів
- •§ 4. Властивості елементів керування
- •§ 1. Поняття про інформаційне моделювання 2
- •Контрольна робота № 1
- •§ 5. Створення проектів
- •§ 6. Основні поняття мови програмування
- •9. Процедура кнопки «Обчислити» для задачі про калькулятор.
- •§ 7. Алгоритм та його властивості
- •Запитання
- •§ 8. Різновиди алгоритмів
- •Запитання
- •§ 9. Типи даних
- •§ 10. Лінійні програми
- •Запитання та вправи
- •Контрольна робота № 2
- •§11. Введення даних і виведення результатів
- •§ 12. Текстові файли даних
- •§ 13. Програми з розгалуженням
- •§ 1. Поняття про інформаційне моделювання 2
- •Запитання
- •§ 14. Елементи керування прапорці і перемикачі
- •§ 15. Алгоритмічна конструкція вибір
- •Контрольна робота № 3
- •§ 16*. Списки
- •§ 17. Підпрограми. Функції користувача
- •§ 18. Підпрограми. Процедури користувача
- •§ 19. Цикли. Цикл з параметром
- •§ 20. Задачі пошуку даних. Цикл «доки»
- •§ 21. Застосування циклів
- •Контрольна робота № 4
- •Розділ 2. Складені структури даних
- •§ 22. Одновимірні масиви. Створення масивів
- •§ 23. Пошук даних в одновимірному масиві
- •1. Пошук даних у масиві за заданим критерієм.
- •5. Проект «На метеостанції». Застосування масивів і процедур користувача у vb.
- •§ 24. Впорядкування одновимірного масиву
- •§ 1. Поняття про інформаційне моделювання 2
- •4. Моделювання предметних областей за допомогою масивів.
- •§ 25. Двовимірні масиви. Створення масивів
- •§ 26*. Опрацювання двовимірних масивів
- •1. Елементи керування DataGridView (vb) та DataGrid (vba).
- •Контрольна робота № 5
- •§ 27. Опрацювання текстових даних
- •§ 28. Структури даних (записи)
- •§ 1. Поняття про інформаційне моделювання 2
- •§ 29. Файли даних прямого доступу
- •5. Vb. Команди для роботи з файлами даних прямого доступу.
- •§ 30. Застосування файлів даних послідовного доступу
- •§ 31. Графіка у vb
- •§ 32. Поняття про об’єктно-орієнтоване програмування
- •Розділ 3. Задачі
- •Складніші задачі*
- •Розділ 4. Vba у програмах пакету ms office
- •§ 33. Застосування vba у ms word
- •§ 34. Vba у програмі ms excell
- •§ 35. Задача про облік товарів на складі
- •§ 36. Розв’язування математичних задач
- •§ 37. Робота 3 базами даних
- •Список літератури
- •§ 1. Поняття про інформаційне моделювання 2
§ 23. Пошук даних в одновимірному масиві
У цьому параграфі розглянемо, як в масиві відшукати дані за заданим критерієм, як визначити найбільший та найменший елементи масиву і номери цих елементів, а також застосування функцій і процедур користувача в задачах опрацювання масивів.
1. Пошук даних у масиві за заданим критерієм.
Задача 1. Нехай дохід деякого підприємства за п = 12 місяців [псується 12 цілими числами. Додатне число означає, що підприємство мало прибуток, від’ємне — збиток. Визначити суму прибутків.
Розв'язування. Для зручності змоделюємо дохід підприємства формулою аi ?= 100000sini, і=1,2, ..., п. Складемо такий код:
Dim а(12) As Long, s As Long, і As Integer, n As Integer
s = 0 ’s - сума прибутків
n = 12
For і = 1 To n
a(i)= 100000 * sin(i)
If a(i) > 0 Then s = s + a(i)
Next
<вивести s>
Розробіть відповідний проект і модифікуйте код, щоб виконати завдання 1-5. Виведіть повідомлення, якщо зазначених у завданнях подій не було.
Завдання 1. Визначіть суму збитків або виведіть повідомлення, що збитків не було.
Завдання 2. У яких місяцях дохід був більший, ніж 30000?
Завдання 3. Скільки протягом року було збиткових місяців?
Завдання 4. Який номер першого збиткового місяця, якщо такий був.
Завдання 5*. Який номер другого збиткового місяця, якщо такий був.
2. Найбільші та найменші значення в масиві та їхні номери. Максимальний (найбільший) елемент масиву і його номер визначаються так само, як і в задачах про послідовність чисел і табулювання функції.
Задача 2. Який найбільший прибуток мало підприємство і в якому місяці це було?
Розв’язування. Вважаємо, що масив доходів протягом 12 місяці; уже є і він доступний. Наступний код дає розв’язок задачі:
Dim А(12) As Long
Dim max As Long, month As Integer, і As Integer
<ввести чи створити масив А>
max = а(1)
month = 1
For і = 2 То 12
If а(і) > max Then max = a(i): month = і
Next і
If max>0 Then «вивести month, max> _
Else «вивести "прибутків не було">
Завдання 1. Який найбільший збиток підприємства і в якому місяці це було? Вивести повідомлення, якщо збитків не було. Ключ найбільший збиток — це мінімальний елемент серед від’ємних.
Завдання 2. Визначіть різницю між максимальним і мінімальним прибутками.
Завдання 3*. Чи були два чи більше місяців, коли дохід буї однаковий?
3. Застосування процедур і функцій користувача під час опрацювання масивів. Розглянемо попередню задачу 1. Виокремимо в дій задачі окремі підзадачі і реалізуємо їх за допомогою підпрограм користувача. В окремі підзадачі виокремимо такі завдання:
створення масиву і виведення його на екран (stvoryty);
пошук даних у масиві (znaity).
Крім цього, оскільки формула для визначення доходу може помінятися, її оформимо у вигляді функції користувача (dohid).
Рис. 2.2. Використання процедур і функції користувача
Розгляньте на рис. 2.2 код розв’язування задачі в консольному режимі VBA. Переробіть його, якщо потрібно, для VB. Код складається з таких частин: глобальних описів змінних, головної процедури, підпрограми-функції та двох допоміжних підпрограм-процедур.
Інший спосіб застосування підпрограм полягає у використанні формальних і фактичних параметрів для передавання даних між підпрограмами. Глобальних змінних (а це перші два рядки коду) у цьому випадку не оголошуємо. Команди викликів процедур матимуть такий вигляд:
Call stvoryty(n, А) ’передаємо n у процедуру stvoryty, отримуємо А
Call znaity(n, A, s) 'передаємо n та А у процедуру znaity, отримуємо s
Заголовки процедур переробимо так:
Sub stvoryty(ByVal n As Integer, ByRef A() As Long)
Sub znaity (ByVal n As Integer, ByVal A() As Long, ByRef s As Long)
Зверніть увагу, масиви у списках формальних параметрів описують як динамічні, тобто без зазначення розміру, а в командах викликів процедур назви масивів записують без дужок.
Завдання 1. Переробіть заголовки процедур і команди викликів на випадок застосування формальних і фактичних параметрів.
Завдання 2. Процедуру stvoryty розділіть на дві процедури: в одній створіть масив, а в другій виведіть його на екран чи у файл тощо.
Завдання 3. Процедуру znaity переробіть так, щоб у ній значення суми лише обчислювалось і поверталося в головний код, де воно виводитиметься на екран.
Висновок. Виконавши декомпозицію задачі, створення підпрограм можна доручити різним виконавцям. З таких підпрограм керівник проекту може зібрати код для розв’язування головної задачі, не. вникаючи у зміст кодів окремих підпрограм.
4
.
VB.
Створення
меню проекту.
Якщо, наприклад, на формі потрібно
розташувати багато кнопок, то замість
них варто створити головне меню
проекту і його командам призначити
ті дії, які мали виконувати кнопки. Щоб
створити головне меню, на форму вставляють
елемент керування MenuStrip,
піктограма
якого розташується під формою, а на
формі з’явиться смуга головного меню.
Достатньо заповнити смугу командами,
як показано на рисунку поряд, і меню
готове. Групу команд «Масив» складають
три команди: «Створити», «Вивести»,
«Знайти». Групу команд Проект можуть
складати такі команди: «Про проект»,
«Про автора», «Кінець роботи» тощо. За
допомогою вікна властивостей різним
елементам меню можна задати кольори,
шрифти, картинки, комбінації гарячих
клавіш тощо.
Меню потрібно запрограмувати. Для програмування меню двічі клацають у конструкторі на назві команди і отриману заготовку заповнюють тілом відповідної процедури. Аналогічно створюють контекстні меню об’єктів (елемент керування ContextMenuStrip), а також панелі інструментів користувача (ToolStrip).
Зауваження. У VBA немає візуальних елементів для створення меню.
