КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
До розд. 6.3) Програмування вибору альтернативи
Додаткові відомості (До розд. 6.1) Короткі зведення про алгебру логіки (булеву алгебру) У математиці є розділ, що називається алгеброю логіки. Іноді на честь її засновника, англійського математика Джорджа Буля (1815—1864), цю алгебру називають булевою алгеброю. На відміну від знайомої зі школи звичайної алгебри, у якій ми маємо справу з арифметичними операціями додавання, множення й іншими, в алгебрі логіки розглядаються операції логічного додавання, логічного множення й інші. Як і в звичайній алгебрі, в алгебрі логіки діють свої строгі закони. Їх досить багато, і ми не будемо їх усі розглядати. Приведемо лише приклади. Від перестановки логічних додатків (чи співмножників) логічна сума (чи логічний добуток) не міняється. Це можна записати так: A Or В = В Or A, Є і такі правила: (А Оr В) And (A Or С) = A Or (В And С) (A And В) Or (A And С) = A And (В Or C) (Їх називають правилами винесення загального доданка чи співмножника за дужки) Правила розкриття дужок: Not (Not A) = А (Останні два правила називаються правилами де Моргана.) Є і таке правило (старшинства логічних операцій): Насамперед виконується операція заперечення, потім — операція логічного множення, і тільки потім — операція логічного додавання. Наприклад, у виразі:
насамперед обчислюється значення логічного заперечення Not X >= Z, потім — значення логічного множення: X = 0 And Y < 0 і тільки після цього значення X > 5 логічно складається з отриманими результатами! Щоб не заплутатися, можна скористатися дужками і переписати вираз (6.1) так:
Чи не правда, вираз (6.2) більш зрозумілий, ніж вираз (6.1)?
Часто доводиться програмувати вибір однієї з декількох взаємовиключних можливостей, що називаються альтернативами. Приклад 6.11. Нехай Ви хочете зобразити в графічному вікні одну з трьох фігур (окружність, квадрат чи трикутник) одним з чотирьох кольорів (червоним, зеленим, жовтим чи чорним). Тут Ви маєте справу з 12 альтернативами, з яких Вам треба вибрати тільки одну. Можна запропонувати наступну програму для такого вибору (код 6.12):
Програма складається з двох частин: у першій частині вибирається колір, а в другій — вибирається фігура, що зображується обраним кольором. При цьому передбачається, що дві змінні — Колір і Фігура, — вже одержали потрібні значення. (Ці значення користувач міг, наприклад, внести в текстові поля чи ввести за допомогою вікон введення.) Як Ви бачите, програма дуже проста — у ній всього 7 умовних операторів, що виконуються послідовно, один за одним. Ці оператори не містять слова Else — за допомогою кожного з них здійснюється не подвійний, а одинарний умовний перехід. Може здатися, що це і є ідеальне вирішення проблеми вибору альтернативи. Однак, Ви можете побачити в цій програмі (і не без підстави) один недолік: у своїй роботі вона буде робити зайві перевірки умов. Дійсно, якщо, наприклад, за допомогою першого оператора обраний червоний колір, то немає сенсу виконувати 3 оператори, що залишились і у яких вибираються інші кольори. Але ці оператори все-таки будуть виконуватися послідовно! Одним зі способів усунення цього недоліку є включення до умовних операторів слова Else, наприклад, так:
Але читати (а тим більше, писати) такі програми не дуже приємно — Ви самі бачите, чому. На щастя, у мові Visual Basic є більш простий спосіб запису програми, що покликана вибирати альтернативу. Цей спосіб застосовується в тому випадку, коли умова в умовних операторах наступна: Змінна = Значення. Він полягає у використанні оператора Select Case.
Розглянемо спрощений синтаксис цього оператора (детальніше оператор Select Case буде розглянутий у другій частині посібника, присвяченій перевірці складних умов).
Вважається, що ціле число N (кількість альтернатив) не менше двох — інакше і вибір не треба було б робити. З використанням оператора Select Case код 6.13 буде мати більш «приємний» вигляд:
Для програмування вибору альтернативи в наборі Toolbox середовища Visual Basic є дуже зручний інструмент — Option Button (Кнопка-перемикач). — піктограма цього інструмента. З його допомогою на екранній формі створюються особливі об'єкти керування — кнопки-перемикачі, що обов'язково поєднуються у групи (кнопок повинно бути не менше двох в одній групі). Для об'єднання кнопок у групу найкраще помістити їх на особливий об'єкт, що називається Рамкою (Frame). Об'єкти класу Рамка створюються за допомогою інструмента Frame з набору Toolbox середовища Visual Basic. — піктограма цього інструмента. Об'єднані в групу, кнопки-перемикачі одержують цікаву особливість — якщо одна з них буде «натиснута», то інші автоматично стають «вимкненими». При цьому значення властивості Value y «натиснутої» кнопки буде дорівнює True, а у «вимкненій» — False. Використовуючи цю властивість, за допомогою кнопок-перемикачів можна легко запрограмувати введення і вибір різного роду альтернатив. Приклад 6.12. На мал. 6.7 зображено вікно додатка, за допомогою якого в графічному вікні малюються кола різного кольору. Колір вибирає користувач за допомогою кнопок-перемикачів, поміщених на об'єкт Рамка з написом «Колір кола» на бордюрі (напис на бордюрі об'єкта Рамка — це значення властивості Caption цього об'єкта).
Об'єкт класу Рамка має особливу властивість, завдяки якій його називають об'єктом-контейнером (контейнерами є також об'єкти класів Екранна форма і Графічне вікно) — сховищем інших об'єктів, що знаходяться всередині (щоб помістити об'єкт всередину рамки, потрібно спочатку цю рамку створити і тільки потім помістити всередину її цей об'єкт (але не навпаки!)) рамки. Ця властивість така: переміщаючи рамку, Ви разом з нею переміщаєте і всі об'єкти, що знаходяться всередині; знищуючи рамку, Ви знищуєте і всі об'єкти, що знаходяться в ній; роблячи рамку невидимою (Об'єкт невидимий, якщо значенням його властивості Visible є False), Ви робите невидимими і всі об'єкти, що знаходяться в ній.
Нові поняття: алгебра логіки (булева алгебра), альтернатива, оператор вибору альтернативи Select Case, об'єкт Рамка, об'єкт Кнопка-перемикач, об'єкт-контейнер.
Дата добавления: 2014-12-23; Просмотров: 463; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |