Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Методические указания



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, внести необходимые исправления в программу.

 

5. На пятом шаге решения задачи необходимо выполнить действия по сохранению программы.

 

Чтобы сохранить проект на носителях нужно выполнить команду

File - Save Project или воспользоваться инструментом Save Project.

 

При сохранении проекта на диск записывается такие файлы:

ü файл проекта (файл с расширением VBP), в котором содержится информация о проекте;

ü файлы форм (файл с расширением FRM) с описанием форм.

 

Чтобы файл программы был готов к выполнению, используется команда меню File - Make <имя проекта>. exe.

Для печати программы нужно выполнить команду File - Print, в окне диалога команды выбрать опцию Current Project (текущий проект), для печати формы включить флажок Form Image, кода - флажок Code.

 

Варианты заданий к теме «Программирование циклических и разветвленных вычислительных процессов»

Задача

Разработать программу по индивидуальному варианту. При разработке программы нужно создать форму, программный код, проверить действие программы. Значение переменной Х выбирать с помощью линейки.

Дальше необходимо сохранить программу, напечатать форму и код программы. Отчет о работе должен содержать: распечатанную форму программы; распечатанный код программы.

Вариант №1 Вариант №2
Вариант №3 Вариант №4
Вариант №5 Вариант №6
Вариант №7 Варіиант №8

 

Вариант №9   Вариант №10
Вариант №11 Вариант №12
Вариант №13 Вариант №14
Вариант №15 Вариант №16

 

3. Контрольные вопросы за модулем «Технологии программирования»

1. Что такое алгоритм? Какие бывают типы алгоритмов.

2. Свойства алгоритма.

3. Какие бывают способы записи алгоритма.

4. Для чего предназначен язык Microsoft Visual Basic.

5. Из каких этапов состоит процесс разработки программ в среде Visual Basic.

6. Какие элементы управления используются для создания визуальной формы.

7. Что такое процедура, программный код?

8. Как от формы перейти к созданию процедуры?

9. Для чего предназначен условный оператор If? Его общая форма.

10. Для чего предназначен оператор For .. Next? Его общая форма.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.