
- •§ 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
§ 14. Елементи керування прапорці і перемикачі
У цьому параграфі розглянемо такі елементи керування: прапорці, перемикачі, групи. Ви навчитеся створювати проекти для голосування, опитування, тестування тощо.
1. Призначення прапорців і перемикачів. Відшукайте ці елементи на рис. 1.2 і 1.3 і пригадайте їх призначення.
Елементи
керування класу «прапорці»
використовують для того, щоб користувач
мав змогу вибирати (задавати) на формі
один
чи декілька значень
(опцій, варіантів) з деякого набору
можливих значень (опцій, варіантів).
Елементи
керування класу «перемикачі»
дають змогу вибирати (задавати) на формі
лише
одне значення
(опцію, варіант) з деякого набору можливих
значень (опцій, варіантів).
Ці елементи керування використовують для реалізації проектів тестування, опитування, анкетування, голосування, вибирання різних шляхів виконання завдань тощо.
2. Прапорці та перемикачі у VBA. Елементи керування класу «прапорці» належать до класу з назвою CheckBox. Елементи керування класу «перемикачі» належать до класу OptionButton.
Головна властивість цих елементів — Value — ввімкненість, заданість, вибраність. Вона може набувати значення True (задано, вибрано) або False (не задано, не вибрано).
3. Прапорці та перемикачі у VB. Елементи керування класу «прапорці» належать до класу з назвою CheckBox. Елементи керування класу «перемикачі» належать до класу RadioButton.
Головна властивість цих елементів — Checked — ввімкненість, заданість, вибраність. Вона може набувати значення True (задано, забрано) або False (не задано, не вибрано).
4. Група елементів керування (Frame у VBA або GroupBox у VB). Елементи керування групують за призначенням чи іншою ознакою. Найчастіше групують прапорці і перемикачі. Групування елементів потрібно передбачати заздалегідь, тобто до моменту вставляння їх на форму, оскільки спочатку на форму потрібно вставити елемент керування з класу «група» (Frame у VBA або GroupBox у VB).
Цей елемент має вигляд рамки з підписом . Розміри елемента треба задати так, щоб на ньому помістились всі інші елементи. Головні властивості групи — це тло і підпис, який задає і придумує користувач відповідно до змісту задачі.
5. Проект про голосування та опитування. Потрібно провести електронне голосування, щоб визначити кращого футболіста року рис. 1.16) або вибрати президента компанії чи раду директорів акціонерного товариства. Виберемо тему про футболістів.
Сценарій проекту. Голосувати можна лише за одну особу, вибравши прізвище у групі перемикачів «Голосування» і натиснувши на кнопку «Проголосувати».
Водночас з голосуванням відбувається опитування: «Які футбольні команди Іспанії кращі?» і «Які футболісти кращі у своїх збірних?». В опитуванні голоси можна віддавати за декілька команд чи футболістів. Для участі в опитуванні треба вибрати потрібне значення в двох групах прапорців і натиснути на кнопку «Зарахувати».
Числові результати голосування й опитування відразу відображаються у текстових полях поряд. Кнопка «Результати» має функціонувати так: якщо на неї натиснути, то залишиться фотографія лише найкращого на момент голосування футболіста, інші фотографії зникнуть.
Рис. 1.16. Голосування й опитування
Проектування форми. Для тла форми використайте картинку з файлу. На формі розташуйте три групи елементів. У першу групу «Голосування» помістіть три перемикачі, підписані прізвищами футболістів. У другу групу — чотири прапорці, підписані назвами команд. У третю групу — три прапорці, підписані прізвищами футболістів. У три елементи керування класу «зображення» помістіть! фотографії футболістів з файлів, взятих, наприклад, з мережі. У проекті можна застосувати своє фото і фото друзів.
Для відображення результатів розташуйте на формі десять текстових полів. Нумерація відповідних елементів керування має відповідати перегляду форми зліва направо і зверху вниз.
6. Коди проекту. Глобальні змінні. Опишемо коди кнопок у термінах VBA. Коди для середовища VB будуть такі ж, але назви елементів керування треба замінити за таким правилом: OptionButton — не RadioButton, Image — на PictureBox, а властивість Value — на Checked.
Кількості подій підраховуватимемо за допомогою змінних k1, k2, k3 і n1, n2, …, n7. Ці змінні треба описати як глобальні. Глобальні змінні діють і зберігають значення у всіх процедурах проекту, а не лише в окремій процедурі.
Правило. Глобальні змінні описують командою Dim перед усіма процедурами (у розділі General коду у VBA).
Код кнопки «Проголосувати» у VBA має такий вигляд:
If OptionButtonl .Value Then k1 = k1 + 1
If OptionButton2.Value Then k2 = k2 + 1
If OptionButton3.Value Then k3 = k3 + 1
TextBox1.Text = k1
TextBox2.Text = k2
TextBox3.Text = k3
Код кнопки «Зарахувати» такий:
If CheckBoxI .Value = True Then n1 = n1 + 1
If CheckBox2.Value = True Then n2 = n2 + 1
If CheckBox3.Value = True Then n3 = n3 + 1
If CheckBox4.Value = True Then n4 = n4 + 1
If CheckBox5.Value = True Then n5 = n5 + 1
If CheckBox6.Value = True Then n6 = n6 + 1
If CheckBox7.Value = True Then n7 = n7 + 1
TextBox4.Text = n1
TextBox5.Text = n2
TextBox6.Text = n3
TextBox7.Text = n4
TextBox8.Text = n5
TextBox9.Text = n6
TextBox10.Text = n7
Код кнопки «Результати» такий:
Imagel.Visible = True
Image2.Visible = True
Image3.Visible = True
If k1 > k3 Then lmage3.Visible = False
If k1 > k2 Then lmage2.Visible = False
If k2 > k3 Then lmage3.Visible = False
If k2 > k1 Then Imagel .Visible = False
If k3 > k1 Then Imagel .Visible = False
If k3 > k2 Then lmage2.Visible = False
У цьому коді застосовано властивості числових змінних містити значення «0» за замовчуванням, якщо їм не надано жодного значення. Якщо цією властивістю не користуватись, то потрібно ускладнити проект використанням ще однієї кнопки «Обнулити», в коді якої всім змінним треба присвоїти значення нуль. Цю кнопку :лід натиснути на початку голосування або коли виникне потреба розпочати голосування й опитування спочатку.
Завдання 1. Реалізуйте проект. Створіть форму. Введіть коди. Не забудьте описати глобальні змінні. Виконайте проект і поекспериментуйте з ним.
Завдання 2. Модифікуйте проект, додавши кнопку з підписом «Обнулити» або «Спочатку».
Завдання 3. Модифікуйте проект, щоб числові результати голосування й опитування не висвітлювалися до кінця голосування (до натискання кнопки «Результати»).
Завдання 4*. Модифікуйте проект, щоб натискання на кнопку «Результати» зупиняло процес голосування й опитування, тобто не давало змоги продовжити голосування. Передбачте можливість розблокування процесу голосування.
Завдання 5*. Наведений вище код кнопки «Результати» не оптимальний за кількістю команд If. Створіть кращий код цієї кнопки, використавши меншу кількість команд If.
Завдання 6. Модифікуйте проект, змінивши тему голосування й опитування на власну. Реалізуйте проекти про голосування і пре опитування як два різні проекти.
Вправи
1. Модифікуйте будь-який з обчислювальних проектів з метою надання користувачеві можливості вибору способу (способів) виведення результатів після запуску проекту на виконання. (Ключ: застосуйте на формі групу прапорців «Вивести результати»; передбачте і закодуйте можливість виведення результатів у текстові поля, у вікна повідомлень, у текстовий файл.
2. Створіть фрагмент програми тестування знань з деякого предмета. На формі відобразіть запитання і запропонуйте чотири варіанти відповідей з одною правильною. (Ключ: створіть групу з чотирьох перемикачів; запрограмуйте кнопку «Відповісти» так, щоб у випадку правильної відповіді виводилось повідомлення «Правильно», а у випадку неправильної — «Неправильно», а також щоб підраховувалась кількість спроб).
3*. Розробіть проект «Електронні вибори» за таким технічним завданням:
3.1. На формі з деяким змістовним тлом розташувати фото трьох претендентів, три перемикачі для реалізації голосування і поля з поточними результатами голосування.
3.2. Виборець голосує і натискає на кнопку «Проголосувати». На формі мають відобразитися поточні числові результати голосування і фото претендента (одного з претендентів), який має найбільше голосів на цей момент.
3.3. У Блокноті створити текстовий файл «Список виборців», що містить ідентифікаційні номери чи просто порядкові номерами від 1 до, наприклад, 20; прізвища виборців, особисті «секретні» паролі для голосування. Застосувати цей файл для виконання наступних завдань.
3.4. У двох полях, що стосуються розділу «Зареєструватись», виборець вводить ідентифікаційний номер (чи звичайний номер) і відомий тільки йому пароль. Якщо дані введено правильно (введені дані звіряються з даними у файлі), то на формі має з’явитися прізвище виборця, тоді він може голосувати. Якщо дані введено неправильно, виборець до голосування не допускається (дані треба ввести ще раз).
3.5. Виборець може проголосувати лише один раз.
3.6. Голосування розпочинається о 9 год ранку і закінчується о 20 год певного дня календаря. За результатами голосування на формі о 20 год з’являється фото переможця, кількість поданих за нього голосів, ця ж кількість у відсотках, а також відсоток, що характеризує явку виборців. Опрацювання дат і часу описано в § 27.
3.7. У ще один текстовий файл вивести прізвища осіб, які взяли участь у голосуванні, а в інший — тих, які вибори проігнорували.
3.8. Додайте власні креативні ідеї до сюжету про вибори.