- •Visual Basic for Applications
- •1. Основы языка программирования Visual Basic 5
- •1. Основы языка программированияVisualBasic
- •1.1. Общие сведения оVisualBasic
- •1.2. Среда vb, инструментальные средства. Разработка проектов
- •1.3. Типы данных. Константы и переменные
- •1.4. Операции
- •1.5. Ввод и вывод данных
- •1.6. Управляющие операторы
- •1.7. Массивы
- •1.8. Примеры программ работы с числами
- •1.9. Обработка строк. Примеры
- •1.10. Математические вычисления. Другие операторы и функции
- •1.11. Процедуры и функции. Примеры
- •1.12. Работа с файлами
- •2. ОсновыVba
- •3. Практические задания
- •3.1. Практическое задание №1. Знакомство сVba
- •3.2. Практическое задание №2. Линейное программирование
- •3.3. Практическое занятие №3. Программирование ветвлений
- •3.4. Практическая работа №4. Программирование повторений
- •3.5. Практическая работа №5. Работа с массивами
- •3.6. Практическая работа №6. Процедуры и функции
- •3.7. Практическое занятие №7. Файлы. Последовательный доступ
- •3.8. Практическое занятие №8. Файлы с произвольным доступом
- •Задания самостоятельной работы
- •4.1. Линейное программирование
- •4.2. Программирование ветвлений
- •4.3 Программирования циклов
- •4.4. Массивы
- •4.5. Файлы
- •5. Задания для контрольной работы
- •5.1. Для студентов очной формы обучения
- •5.1.1. Линейное программирование
- •5.1.2. Программирование ветвлений
- •5.1.3. Программирование циклов
- •5.1.4. Массивы
- •5.2. Для студентов заочной формы обучения
- •Список литературы
3.3. Практическое занятие №3. Программирование ветвлений
Задача.
Брокер получает процент от суммы сделки. Для сделок, сумма которых составляет меньше 150т.р. вознаграждение брокера составит 5%, если сумма договора составляет от 150 т.р. до 500 т.р. – 4,5%, а для сделок, сумма которых составляет больше 500 т.р. – 3,5%. Составить программу для расчёта вознаграждения брокера. |
С помощью линейных алгоритмов решаются самые примитивные задачи. Более сложные и серьезные задачи решаются с помощью более сложных алгоритмов, в которых последовательность выполнения команд зависит от выполнения или не выполнения некоторых условий. Такого рода задачи называются нелинейными. Алгоритмы в данных задачах называются алгоритмами ветвления.
Прежде чем рассматривать алгоритмы ветвления, объясним понятие логического выражения. Это выражения неарифметического типа, такие выражения называют также условными.
Рассмотрим операции сравнения:
-
Операция
Описания операции
>
Больше
> =
Больше или равно
<
Меньше
< =
Меньше или равно
< >
Не равно
=
Равенство
Наиболее простым шагом в рассмотрении нелинейных алгоритмов является оператор условного перехода. Данный оператор имеет две формы синтаксиса: упрощённая однострочная форма и более сложная ступенчатая или многострочная.
Однострочная формаимеет следующий синтаксис:
If УсловноеВыражениеThen Оператор1 [ElseОператор2]
Многострочная формасинтаксиса более сложная:
If УсловноеВыражениеThen
ПоследовательностьОператоров1
[Else
ПоследовательностьОператоров2]
End if
На схеме показаны основные конструкции условного перехода.
Часто на практике приходится решать задачи, когда нужно проверить несколько условий. Тогда условные переходы получаются вложенными друг в друга. На блок–схеме это выглядит следующим образом
Такая ступенчатая схема в программном коде выглядит так:
IfУсловие1Then
СписокОператоров1
ElseifУсловие2Then
СписокОператоров2
ElseifУсловие3Then
СписокОператоров3
……………………..
End if
В такой многоступенчатой схеме было применено ключевое слово Elseif, которое переводится какИначеЕсли. Заметим, что вся эта многоступенчатая схема заканчивается только однимEnd if.
Составим блок-схему для нашей задачи:
Откройте приложение MS Excel.
Выполните команду СервисàМакросРедактор Visual Basicили нажмите <Alt+F11>.
Добавьте форму (команда Insert UserForm)
Для изменения размеров формы используйте указатель мыши помещённый в правый нижний угол окна Формы(UserForm)
Разработайте пользовательский интерфейс, расположив на форме с помощью панели инструментов управления (ViewToolBox), следующие объекты управления:Label(Метка),TextBox(Текстовое поле),CommandButton(Командная кнопка).
В окне Properties(Свойства) для каждого объекта управления установить свойства, приведённые в таблице 2.
Таблица 2.
Элемент управления |
Свойства |
Значения |
UserForm |
Caption |
Программирование ветвлений |
Label1 |
Caption |
Вычисление вознаграждения брокера |
Label2 |
Caption |
Сумма сделки |
Label3 |
Caption |
Вознаграждение |
TextBox1 |
Name |
txtSummaSdelki |
TextBox2 |
Name |
txtNagrada |
CommadButton1 |
Name |
cmdRun |
Caption |
Расчёт | |
CommadButton2 |
Name |
cmdClear |
Caption |
Очистка |
Примерный интерфейс программы может выглядеть так:
Код программы:
Private Sub cmdRun_Click()
Dim S As Single
Dim P As Single
S=Val(txtSummaSdelki.Text)
If S<= 150000 Then
P=S*0.05
ElseIf S>= 500000 Then
P=S*0.03
Else
P=S*0.04
End If
txtNagrada.Text = Str(P)
End Sub
Сделайте расчёты для трёх случаев.
Удалите текстовое поле с именем «txtSummaSdelki» и в коде программы строку «S=Val(txtSummaSdelki.Text)»
На место удалённого объекта вставьте метку и именем «lblSummaSdelki» (обратите внимание, впереди стоит латинская буква «L» малая, а не «1 (единица)»)
На место удалённой строки в коде программы вставьте следующую запись:
S=InputBox(“Введите значение суммы сделки”)
lblSummaSdelki=Str(S)
В приведённой выше части кода программы использовалась функция InputBox. Данная функция предназначена для ввода данных в программу. Она имеет следующий синтаксис:
InputBox (Запрос [, Заголовок] [, По_умолчанию] [, Xpos] [Ypos] [, Справка, Раздел])
Сохраните файл под именем «Брокерское вознаграждение»