Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Истории о пророках 1 страница




Next

Форма оператору циклу For... Next

Оператор циклу For... Next

End If

If умова Then

End If

Else

Умовний оператор If

Оператор If використовується для розгалужених обчислювальних процесів.

Загальна форма оператора:

 

If <умова> then

<Блок_операторів_1>

<Блок_операторів_2>

“Блок_операторів_1” виконується в тому випадку, якщо умова має значення «так». У тому випадку, якщо логічна умова має значення «ні» виконується “Блок_операторів_2”.

 

Оператор If можна використовувати також у такій формі:

Блок_операторів

Скорочена форма оператору If застосовується тоді, коли блок операторів слід виконувати лише при істинності деякої умови.

 

 

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

Оператор циклу For... Next використовується тоді, коли потрібно виконати групу операторів заздалегідь відоме число раз.

Загальна форма оператора:

For I = Start to Finish Step N

Блок_операторів

Процес виконання оператора For... Next такий:

a. Змінній I присвоюється значення змінної або виразу Start.

b. Значення I порівнюється зі значенням змінної або виразом Finish.

c. Якщо I <= Finish, виконується блок операторів у тілі циклу - чергова ітерація (повторення). Потім змінна I (лічильник циклу) збільшується на N, виконується перехід до п.b. Якщо I > Finish, цикл завершує свою роботу.

Увага!!! Частина початкового рядка циклу Step N може бути пропущена, коли крок зміни перемінної циклу дорівнює одиниці.

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

За допомогою відповідних елементів на панелі: HscrollBar, VscrollBar. можна помістити у форму горизонтальну або вертикальну смуги прокручування.

Переміщення бігунка по смузі призводить до зміни властивості Value елемента управління, що може знаходиться в діапазоні, обумовленому властивостями Max і Min елемента.

Властивість Small Change визначає крок зміни властивості Value при використанні кнопок , або , .

У програмах смуги прокручування використовуються на відміну від вікон, не для переміщення всередині вікна, а для визначення значення у певному діапазоні шляхом переміщення бігунка.

У результаті виконання переміщення бігунка по смузі прокручування відбувається подія Change, тобто події Change відповідає зміна місця розташування бігунка на смузі, подія відбувається після того, як бігунок займе нове місце. Процесу переміщення бігунка відповідає подія Scroll, лише бігунок зрушив з місця – відбулась подія Scroll.

Для перемикачів (OptionButton) в області діалогу, обмеженою рамкою (Frame), у стані «включено» значення властивості Value дорівнює True (Істина), у стані «вимкнено» - False (Неправда). Аналізуючи значення властивості Value кожного перемикача можна виконувати визначені дії.

Елемент прапорець (Check Box) у стані «включено» одержує значення властивості Value - True (1), у стані «вимкнено» - False (0).

Список, що розчиняється можна створити за допомогою елемента ComboBox. Елементи списку визначаються як значення властивості List об’єкта. Після визначення кожного окремого значення слід натискати клавішу Enter, при необхідності розчиняти список і продовжувати визначення властивості. Властивість Text визначає поточне значення, значення, яке обрано зі списку і відображається в полі. Аналізуючи значення властивості Text у коді програми можна виконувати дії в залежності від того, який елемент списку обрано користувачем.

 


18.3 Приклад рішення задачі у середовищі Microsoft Visual Basic

Задача. Розрахувати суму товару, суму знижки та суму товару зі знижкою. Якщо покупець придбав більше 3 вікон, то йому надається знижка у розмірі 5%. Якщо покупець придбав більше 2 дверей, то йому надається знижка у розмірі 10%. Додатково покупець може одержати знижку у розмірі 1% або 2% при наявності картки покупця, відповідно у будній або вихідний день. Спроектувати форму з елементами управління і створити програмний код для рішення задачі.

 

Методичні вказівки.

1. На першому кроці рішення задачі надамо математичне формулювання:

Нехай – ціна (price), – кількість (number), – сума покупки (amount), – сума знижки (discount), – сума зі знижкою (sum). Тоді . Якщо покупець придбав більше 3 вікон , то йому надається знижка у розмірі 5%: . Якщо покупець придбав більше 2 дверей , то йому надається знижка у розмірі 10%: . Якщо умова не виконується, то знижка не надається: . Додатково покупець може одержати знижку у розмірі 1% або 2% при наявності картки покупця, відповідно у будній: або вихідний день: .

 

2. На другому кроці рішення задачі створимо блок-схему

 

 


3. На третьому кроці рішення задачі створимо форму (візуальний етап). Кожному об’єкту форми надамо властивості і значення.

 


 

Об‘єкт Властивість Значення
Форма (Form) (Name) frm_example
BackColor білий
Caption Приклад
BorderStyle 1 – Fixed Single
Етикетка (Label) (Name) lbl_price
AutoSize True
BackStyle 0 – Transparent
Caption Ціна:
Font Tahoma, 12
ForeColor зелений
ToolTipText Ціна
Етикетка (Label) (Name) lbl_number
AutoSize True
BackStyle 0 – Transparent
Caption Кількість:
Font Tahoma, 12
ForeColor зелений
ToolTipText Кількість
Етикетка (Label) (Name) lbl_write_number
Aligment 1 – Right Justify
BackColor білий
BorderStyle 1 – Fixed Single
Caption  
Font Tahoma, 12
ForeColor зелений
ToolTipText Кількість товару
Етикетка (Label) (Name) lbl_amount
Aligment 0 – Left Justify
BackStyle 0 – Transparent
Caption Сума покупки:
Font Tahoma, 12
ForeColor зелений
ToolTipText Сума покупки
Етикетка (Label) (Name) lbl_discount
Aligment 0 – Left Justify
BackStyle 0 – Transparent
Caption Сума знижки:
Font Tahoma, 12
ForeColor зелений
ToolTipText Сума знижки
Етикетка (Label) (Name) lbl_sum
Aligment 0 – Left Justify
BackStyle 0 – Transparent
Caption Сума зі знижкою:
Font Tahoma, 12
ForeColor зелений
ToolTipText Сума зі знижкою
Текстове поле (TextBox) (Name) txt_price
Aligment 1 – Right Justify
BackColor білий
Font Tahoma, 12
ForeColor зелений
Text  
ToolTipText Введіть ціну
Горизонтальна лінійка (HScrollBar) (Name) hsb_number
LargeChange  
Max  
Список (ComboBox) (Name) cmb_day
BackColor білий
Font Tahoma, 12
ForeColor зелений
List буденний день вихідний день
Text  
ToolTipText Виберіть день
Фрейм (Frame) (Name) fr_article
BackColor білий
Caption Товар:
Font Tahoma, 12
ForeColor зелений
ToolTipText Виберіть товар
Перемикач (OptionButton) (Name) opt_window
BackColor білий
Caption Вікно
Font Tahoma, 12
ForeColor зелений
ToolTipText Вікно
Перемикач (OptionButton) (Name) opt_door
BackColor білий
Caption Двері
Font Tahoma, 12
ForeColor зелений
ToolTipText Двері
Прапорець (CheckBox) (Name) chk_card
BackColor білий
Caption Картка покупця
Font Tahoma, 12
ForeColor зелений
ToolTipText Вибрати, якщо є
Командна кнопка (CommandButton) (Name) cmd_calculation
BackColor білий
Caption Розрахунок
Font Tahoma, 12
Style 1 – Graphical
ToolTipText Натисніть для розрахунку
Командна кнопка (CommandButton) (Name) cmd_flush
BackColor білий
Caption Очищення
Font Tahoma, 12
Style 1 – Graphical
ToolTipText Натисніть для очищення
Командна кнопка (CommandButton) (Name) cmd_calculation
BackColor білий
Caption Вихід
Font Tahoma, 12
Style 1 – Graphical
ToolTipText Натисніть для виходу з програми

4. На четвертому кроці рішення задачі створимо програмний код.

 

‘Вимога обов'язкового оголошення змінних

Option Explicit

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

Dim p, a, d, s As Currency, n As Byte

‘Програмна кнопка Розрахунок

Private Sub cmd_calculation_Click()

‘Змінній привласнюється значення текстового поля

p = Val(txt_price.Text)

‘Змінній привласнюється значення горизонтальної лінійки прокрутки

n = hsb_number.Value

‘Перевірка (чи всі дані введені)

‘Якщо хоча б одне поле не заповнене

If txt_price.Text = "" Or hsb_number.Value = 0 Or (opt_window.Value = False And opt_door.Value = False) Or cmb_day.Text = "" Then

‘Вікно з повідомленням про помилку

MsgBox "Помилка! Заповніть усі дані!", vbOKOnly + vbCritical, "Помилка!"

‘Інакше (початок розрахунку)

Else

‘Обчислення суми покупки (ціну помножити на кількість)

a = p * n

‘Виведення значення в етикетку

lbl_amount.Caption = "Сума покупки: " + Str(FormatNumber(a)) + " грн."

‘Початок перевірки (аналіз кількості товарів)

‘Якщо більше трьох вікон

If (opt_window.Value = True And n > 3) Then

‘Тоді обчислення суми знижки (5% від суми покупки)

d = a * 0.05

‘Інакше

‘Якщо більше двох дверей

ElseIf (opt_door.Value = True And n > 2) Then

‘Обчислення суми знижки (10% від суми покупки)

d = a * 0.1

‘Інакше

Else

‘Знижка не надається (сума знижки дорівнює нулю)

d = 0

‘Кінець перевірки (аналіз кількості товарів)

End If

‘Початок перевірки (день та картка покупця)

‘Якщо є картка покупця та буденний день

If (cmb_day.Text = "буденний день" And chk_card.Value = 1) Then

‘До суми знижки додається додатково 1% від суми покупки

d = d + a * 0.01

‘Якщо є картка покупця та вихідний день

ElseIf (cmb_day.Text = "вихідний день" And chk_card.Value = 1) Then

‘До суми знижки додається додатково 2% від суми покупки

d = d + a * 0.02

‘Кінець перевірки (день та картка покупця)

End If

‘Виведення значення в етикетку

lbl_discount.Caption = "Сума знижки: " + Str(FormatNumber(d)) + " грн."

‘Обчислення Суми зі знижкою (сума покупки мінус сума знижки)

s = a - d

‘Виведення значення в етикетку

lbl_sum.Caption = "Сума зі знижкою: " + Str(FormatNumber(s)) + " грн."

‘Кінець перевірки (чи всі дані введені)

End If

‘Кінець розрахунку

End Sub

‘Кнапка Вихід

Private Sub cmd_exit_Click()

‘Вікно з запитанням про вихід з програми

If MsgBox("Ви дійсно бажаєте вийти з програми?", vbYesNo + vbQuestion, "Вихід з програми") = vbYes Then End

End Sub

‘Кнопка Очищення

Private Sub cmd_flush_Click()

‘Очищення текстового поля

txt_price.Text = ""

‘Переміщення повзунка лінійки в початок

hsb_number.Value = 0

‘Очищення етикетки

lbl_write_number.Caption = ""

‘Очищення початкового значення списку

cmb_day.Text = ""

‘Відключення перемикача

opt_window.Value = False

opt_door.Value = False

‘Відключення прапорця

chk_card.Value = 0

‘Приведення етикеток до первинного вигляду

lbl_amount.Caption = "Сума покупки:"

lbl_discount.Caption = "Сума знижки:"

lbl_sum.Caption = "Сума зі знижкою:"

End Sub

‘Зміна повзунка лінійки прокрутки

Private Sub hsb_number_Change()

‘Змінній привласнюється значення повзунка

n = hsb_number.Value

‘Виведення значення в етикетку

lbl_write_number.Caption = Str(n)

End Sub

‘Прокрутка повзунка

Private Sub hsb_number_Scroll()

hsb_number_Change

End Sub

‘Аналіз введення даних

Private Sub txt_price_KeyPress(KeyAscii As Integer)

‘Початок перебору

Select Case KeyAscii

‘Десяткова крапка

Case 46

‘Заборона введення крапки, якщо текстове поле порожнє

If txt_price.Text = "" Then KeyAscii = 0

‘Заборона введення крапки, якщо вже одна крапка була введена

If InStr(1, txt_price.Text, ".") <> 0 Then KeyAscii = 0

‘Цифри від нуля до дев‘яти

Case 48 To 57

‘Заборона введення, якщо перший символ є нулем (можна ввести тільки крапку)

If txt_price.Text = "0" Then KeyAscii = 0

‘Спеціальні клавіши

Case 0, 8

‘Інші випадки

Case Else

‘Заборона введення

KeyAscii = 0

‘Вікно з повідомленням про помилку

MsgBox "Помилка! Введіть ціну!", vbOKOnly + vbCritical, "Помилка!"

‘Кінець перебору

End Select

End Sub

‘Блокування введення в полі списку

Private Sub cmb_day_KeyPress(KeyAscii As Integer)

KeyAscii = 0

End Sub

Для запуску програми на виконання використовується команда меню Run - Start.

У випадку виявлення помилок можна завершити виконання програми командою Run - End, внести необхідні виправлення в програму.




Поделиться с друзьями:


Дата добавления: 2014-11-06; Просмотров: 224; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.112 сек.