Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторна робота № 3. Реалізація проектів, що містять обчислювальні процеси з розгалуженнямиСодержание книги
Поиск на нашем сайте
Мета: Навчитись використовувати засоби VB для розробки проектів, що реалізують обчислювальні процеси з розгалуженнями.
Розглянемо конструкції Visual Basic, які дозволяють керувати послідовністю виконання дій у програмі. Ці конструкції називають операторами управління. З алгоритмічної точки зору оператори управління поділяються на ” оператори розгалуження ” та ” оператори циклу ”. Застосування операторів розгалуження дозволяє виконувати певні дії в залежності від умов, що виникають у програмі. За допомогою циклів можна виконувати дії, що повторюються. Зазвичай, конструкції виконуються в тій послідовності, в якій вони записані в програмі. Однак досить часто виникає необхідність змінити порядок виконання команд залежно від результату виконання деякої умови. У Visual Basic існують оператори, призначені для управління порядком виконання команд. До основних операторів управління належать: умовний оператор (If) та оператор вибору (Select Case). В свою чергу, оператори If бувають двох видів: If…Then та If…Then…Else. Конструкція If…Then застосовується тоді, коли необхідно виконати певні дії залежно від деякої умови. Конструкція If…Then…Else використовується у тому випадку, коли необхідно виконати різні дії залежно від умови.
Логічні вирази та їх використання
Основою для прийняття рішень у конструкціях управління є логічні вирази. Вони повертають одне з двох значень: True (істинне) або False (хибне). В логічних виразах застосовують оператори порівняння (табл. 3.1) Таблиця 3.1 Оператори порівняння VB
Розглянемо приклади використання операторів порівняння. Приклад 1. Логічний вираз 2.9994 < 2.9995 має значення True;
Розглянемо деякі логічні операції. Логічне множення And (і) – повертає значення True, якщо всі вирази, які беруть участь в конструкції, мають значення True, в інших випадках повертається значення False. Операцію логічного множення можна запам'ятати за допомогою такої фрази: ” Значення логічного добутку істинне тільки тоді, коли значення всіх логічних співмножників істинні”. Результати логічного множення наведені в таблиці 3.2. Таблиця 3.2 Таблиця істинності логічного множення
Логічне додавання Or (або) – повертає значення True, якщо хоч один з виразів, які беруть участь у конструкції, має значення True. У випадку, коли всі вирази мають значення False, повертається значення False. Операцію логічного додавання можна запам'ятати за допомогою фрази: ”Значеннялогічної суми хибне тільки тоді, коли значення всіх логічних доданків хибні”. Результати логічного додавання наведені в таблиці 3.3. Таблиця 3.3 Таблиця істинності логічного додавання
Логічне заперечення Not (ні) – повертає протилежне значення до значення заданого виразу. Операцію логічного заперечення можна запам’ятати так: ”Значеннялогічного заперечення хибне, якщо значення виразу істинне і навпаки”. Результати логічного заперечення наведені в таблиці 3.4. Таблиця 3.4 Таблиця істинності логічного заперечення
Приклад 2. Логічний вираз (X^2 > 0) Or (X^2 = 0) має значення True; Логічний вираз (Y^2>= 0) And (Abs (Z) >= 0) має значення True (передбачається, що змінні X, Y і Z мають числовий тип); Логічний вираз Not (Len (” abc ”) > 0) має значення False; Логічний вираз (Len (” abc ”) < 3) Or (Len (” abc ”) > 3) має значення False; Логічний вираз (Len (S1+ S2) >= Len (S1)) And (Len (S1 + S2) >= Len (S2)) має значення True (передбачається, що змінні S1 і S2 мають тип String).
Приклад 3. Розглянемо спрощене юридичне правило: ”Громадянину (громадянці) призначається пенсія, якщо це чоловік і йому більше 60 років або якщо це жінка і їй більше 55 років, або якщо стаж роботи на шкідливому виробництві перевищив 25 років”. Зведемо це правило до логічного виразу, істинність якого означає, що дана особа пенсійного віку. Визначимо наступні змінні:
Використання логічного виразу для наведеного вище юридичного правила можна записати так:
Пенсіонер =(Стать$ = ” чоловік ” And Вік! >= 60) _ Or (Стать$ = ” жінка ” And Вік! >= 55) _ Or СтажЗаВислугою! >= 25 Умовний оператор
Умовний оператор може бути записаний в однорядковому чи багаторядковому вигляді. Однорядковий оператор має такий синтаксис:
If <Логічний вираз> Then <Оператор1> [ Else <Onepaтop2> ]
В цій конструкції після ключових слів Then та Else записується лише один оператор. Якщо результатом обчислення логічного виразу є значення True, то виконується <Оператор1>,якийзаписаний заключовим словом Then. Якщо логічний вираз набуває значення False, то виконується <Onepaтop2>, записаний заключовим словом Else, або наступний за If оператор, якщо елемент конструкції Else <Onepaтop2> відсутній. Синтаксис багаторядкового оператора наступний: If <Логічний вираз> Then <ПослідовністьОператорів1> [ Else <ПослідовністьОператорів2>] End If Запис ПослідовнісОператорів1 та ПослідовностьОператорів2 строго позиційований: Ö в рядку за ключовим словом Then не можна записувати жодного оператора; Ö в рядку за ключовим словом Else можна записати інший оператор, але йому повинна передувати двокрапка. Ключові слова End If означають кінець багаторядкового оператора. Їх наявність у цьому випадку обов’язкова. Якщо результатом обчислення логічного виразу є значення True, то виконується < ПослідовністьОператорів1 >, які записані за ключовим словом Then, а якщо логічний вираз набуває значення False, то – < ПослідовністьОператорів2 >, записаних за ключовим словом Else, або наступний за If…End If оператор, якщо елемент конструкції Else < ПослідовністьОператорів2 > відсутній. В операторі If перевіряється на істинність тільки одна умова. Якщо ж є потреба виконання операторів чи послідовності операторів залежно від результатів перевірки декількох умов, то це можна зробити за допомогою наступної конструкції: If <Логічний вираз1> Then <ПослідовністьОператорів1> [ ElseIf <Логічний вираз2> Then <ПослідовністьОператорів2> …] [ Else <ПослідовністьОператорівN> ] End If
Приклад 4. Приклад алгоритму обчислення максимального з двох чисел (Число 1 Число 2) з використанням конструкції If … Then:
Приклад 5. Розглянемо попередній приклад з використаннямконструкції If … Then … Else …:
Приклад 6. Розглянемо юридичне правило визначення пенсійного стажу: ”Громадянину (громадянці) призначається пенсія, якщо це чоловік і йому більше 60 років або якщо це жінка і їй більше 55 років, або якщо стаж роботи на шкідливому виробництві перевищив 25 років”. Наприклад, якщо жінці 58 років, з яких вона 37 років проробила на шкідливому виробництві, то пенсійний стаж буде визначатися як максимальне з двох чисел 58-55=3 і 37-25=12 і буде дорівнювати 12 рокам. Якщо жінці 70 років, з яких вона 10 років проробила на шкідливому виробництві, то її пенсійний стаж за віком (70-55=15) буде перевищувати її пенсійний стаж за вислугою років (10<=25, стаж роботи на шкідливому виробництві не перевищує 25 років, пенсія не призначається) і дорівнюватиме 15 рокам. Програмний код можна записати наступним чином:
Private Sub Command1_Click() Dim Stat, Penciya As String, _ Vik, Stag_vusluga As Single, _ P_stag, P_stag_vik, P_stag_vusluga As Integer Stat = Text1.Text Vik = Val(Text2.Text) Stag_vusluga = Val(Text3.Text) If (Stat = ”Чоловік”) And (Vik >= 60) Or _ (Stat = ”Жінка” And Vik >= 55) Or _ (Stag_vusluga >= 25) Then Penciya = ”Призначається” Else Penciya = ” Не призначається” End If Text4.Text = Penciya If (Vik >= 60 And Stat = ”Чоловік”) Or _ (Stag_vusluga >= 25) Then P_stag_vik = Vik - 60 P_stag_vusluga = Stag_vusluga - 25 End If If (Vik >= 55 And Stat = ”Жінка”) Or _ (Stag_vusluga >= 25) Then P_stag_vik = Vik - 55 P_stag_vusluga = Stag_vusluga - 25 End If P_stag = P_stag_vik If P_stag_vusluga > P_stag Then P_stag = P_stag_vusluga Text5.Text = Str(P_stag) End Sub
Результат виконання програмного коду показано на рисунку 3.1.
Рис. 3.1. Визначення пенсійного стажу У мові Visual Basic є оператор вибору, який дозволяє опрацьовувати в програмі декілька умов. Синтаксис оператора вибору: Select Case <Вираз> Case <ДіапазонЗначень1> <ПослідовністьОператорів1> [ Case <ДіапазонЗначень2> <ПослідовністьОператорів2> ...] [ Case Else <ПослідовністьОператорівN>] End Select Працює ця конструкція так. Спочатку обчислюється значення заданого виразу, потім виконується послідовність операторів, приписаних тому оператору Case, в діапазон значень якого потрапляє значення виразу. Діапазоном значень може бути одне значення виразу, перелік значень розділених комою, діапазон значень. Якщо значення не належить жодному діапазону, то виконується послідовність операторів, записаних після слів Case Else (якщо цей елемент присутній). Після завершення виконання конструкції керування буде передане операторам, що розміщені після ключових слів End Select. Зауважимо, що конструкція Select Case може виконати не більше ніж одну з послідовностей операторів, які містяться в ній. Після того, як одне із значень перевірки збігається із значенням виразу, буде виконано відповідну послідовність команд і оператор закінчить свою роботу. Решта умов перевірятися не буде. Завдання для виконання лабораторної роботи № 3
І. Завантажити середовище візуального програмування Visual Basic. ІІ. Розглянути зразки побудови алгоритму, форми та програмного коду (кнопка Результат) для обчислення значення функції: Розмістити об’єкти на формі згідно зразка (рис. 3.2).
Рис. 3.2. Зразок розташування об’єктів на формі Приклад побудови алгоритму розв’язку показано на рис. 3.3.
Рис. 3.3. Блок-схема алгоритму
Програмний код для обчислення значень функції з використанням умовного оператора може мати такий вигляд:
Private Sub Command1_Click() X = Val(Text1.Text) If X = -10 Then Y = -100 + X If X = 10 Then Y = 100 + X If X = 0 Then Y= Exp(X) / 2 / (X + 0.45) Text2.Text = Str(Y) End Sub
ІІІ. Використовуючи наведені вище зразки, виконати модифікацію форми та коду обробки події для командної кнопки відповідно до завдання свого варіанту: 1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
ІV. Зберегти проект у папці Lab3_z1.
V. Продемонструвати створений проект викладачеві. Записати в зошит отримані результати.
VІ. Розглянути зразок форми та програмного коду (команда Результат) для визначення належності точки М(х,у) фігурі (рис. 3.4).
Рис. 3.4. Задана геометрична фігура
На рисунку 3.5 показано розташування об’єктів на формі.
Рис. 3.5. Зразок розташування об’єктів на формі
Програмний код для визначення належності точки геометричній фігурі можна записати так: Private Sub Command1_Click() Const r1 = 1 Const r2 = 2 x = Val(Text1.Text) y = Val(Text2.Text) If (x^2 +y^2<=r2^2) And (x^2+y^2>=r1^2) Then Text3.Text = "т. M належить фігурі" Else Text3.Text = "т. M не належить фігурі" End If End Sub
VІІ. Використовуючи наведені вище зразки форми та програмного коду задачі про визначення належності точки М(x,y) фігурі Ф, виконати модифікацію форми та коду обробки події для командної кнопки відповідно до завдання свого варіанту. Координати точки М(x,y) та вид фігури Ф обрати з таблиці 3.5. Таблиця 3.5 Координати точки М(x,y) та вид фігури Ф
VІІІ. Зберегти проект у папці Lab3_z2. Продемонструвати створений проект викладачеві. Записати отримані результати.
ІХ. Розглянути зразок форми (рис. 3.6) та програмного коду (команда Обчислити) для визначення суми виплат при заданому розмірі початкового вкладу V, заданому терміні вкладу T і річній відсотковій ставці P, що обчислюється за формулою: ,
Рис. 3.6. Зразок розташування об’єктів на формі Програмний код для визначення суми виплат можна записати так:
Private Sub Command1_Click() Dim P, T, V As Single Dim S As Currency V = Val(Text2.Text) T = Val(Text3.Text) If V >= 4000 Then Р = 13 Else Р = 12 S = V * (1 + Р / 100) ^ T Text4.Text = Str(S) End Sub
Х. Використовуючи наведені вище зразки, розробити форму із заголовком ”Обчислювальні процеси з розгалуженнями”, записати алгоритм та ввести програмний код для розв’язування наступних задач:
1. Обчислити вартість товару та вартість товару із врахуванням торгової надбавки, якщо задано кількість товару (шт.), торгову надбавку (%), а ціна одиниці товару (грн.) визначається наступним чином:
2. Обчислити залишок на банківському рахунку після проведення банківської операції, якщо відомо залишок на рахунку до операції, зняття коштів з рахунку, а надходження визначається наступним чином:
3. Обчислити суму оплати виконаних будівельних робіт, якщо відомо відсоток виконання запланованого обсягу робіт та вартість запланованого обсягу робіт, а штрафні санкції визначаються наступним чином:
4. Обчислити вартість товару та вартість товару із врахуванням торгової надбавки, якщо задано кількість товару (шт.), ціну одиниці товару (грн.), а торгова надбавка (%) визначається наступним чином:
5. Обчислити вартість товару та вартість товару із врахуванням торгової знижки, якщо задано кількість товару (шт.) та ціну одиниці товару (грн.), а торгова знижка (%) визначається наступним чином:
6. Обчислити кількість мешканців населеного пункту на кінець року, якщо відомо кількість прибулих, вибулих, народжених, померлих та кількість мешканців на початку року, що визначається наступним чином:
7. Обчислити рівень виконання навчального навантаження (у відсотках) працівником школи, якщо відомо фактично виконану кількість годин та заплановану, що визначається наступним чином:
8. Обчислити вартість партії товару, якщо задано ціну одиниці товару (грн.) та кількість товару (шт.), що визначається наступним чином:
9. Обчислити вартість товару та вартість товару із врахуванням торгової знижки, якщо задано торгову знижку (%), кількість товару (шт.) та ціну одиниці товару (грн.), що визначається наступним чином:
10. Обчислити суму для оплати комунальних послуг навчальним закладом, якщо задано кількість місяців, за які потрібно провести розрахунок та місячну вартість комунальних послуг, що визначається наступним чином:
11. Обчислити урожайність (ц/га) зернових фермерського господарства, якщо задано валовий збір (т) та площу посівів (га), що визначається наступним чином:
12. Обчислити суму оплати за водопостачання за звітний період, якщо задано початкові та поточні покази лічильника та вартість 1 м3 води, що визначається наступним чином:
13. Обчислити суму оплати за електроенергію за звітний період, якщо задано початкові та поточні покази лічильника та вартість 100 кВт-год, що визначається наступним чином:
14. Обчислити вартість пального (грн), якщо задано об’єм закупленого пального (л) та ціну 1 л (грн), що визначається наступним чином:
15. Обчислити, суму оплати за опалення, якщо задано вартість опалення 1 м2 та опалювальна площа, що визначається наступним чином:
ХІ.Зберегти проект у папці Lab3_z3. Продемонструвати створений проект викладачеві. ХІІ. Записати отримані результати. ХІІІ. Захистити виконану роботу. Контрольні запитання 1. Які мовні конструкції для реалізації розгалужень використовують у Visual Basic? 2. Які операції відношення Ви знаєте? 3. Дати визначення простого і складного логічного виразу. 4. Логічне додавання. Правило логічного додавання. 5. Логічне множення. Правило логічного множення. 6. Логічне заперечення. Правило логічного заперечення. 7. Різновиди однорядкової форми умовного оператора та їх використання. 8. Різновиди багаторядкової форми умовного оператора та їх використання. 9. Конструкція Select Case та її використання.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-12; просмотров: 202; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.108.24 (0.011 с.) |