
- •Содержание
- •Пример решения экономической задачи, которая содержит в себе разветвляющийся вычислительный процесс
- •1. Постановка задачи
- •2. Экономико-математическая модель
- •3. Алгоритм решения задачи
- •4. Структура данных
- •Структура данных проекта
- •5. Интерфейс проекта и пользователя
- •Основные свойства элементов управления на форме
- •6. Код проекта
- •7. Реализация проекта
- •8. Анализ проекта
- •9. Выполнение программы и анализ полученных результатов
- •10.Вывод
6. Код проекта
Для реализации задачи в коде проекта необходимо предусмотреть обработку следующих процедур:
1) загрузка (инициализация) формы;
2) выбор из списка суммы кредита;
3) выбор срока;
4 )выбор типа кредитора;
5) выбор кредитора с хорошей кредитной историей;
6) расчет суммы возврата и вывод результата;
7) подготовка рабочего места к работе.
Тексты соответствующих процедур представлены ниже.
Для реализации задачи в коде проекта необходимо предусмотреть обработку следующих двух событий (процедур):
1) загрузка (инициализация) формы;
2) нажатие кнопки «Расчет».
Ниже предоставлен код программы:
'Колесник Анна. Расчет кредита в банке
Option Explicit
Private Sub UserForm_Initialize()
'Автоматическое заполнение полей значения процентов кредита
TxtPr1.Text = 4
TxtPr2.Text = 7
TxtPr3.Text = 14
TxtPr4.Text = 18
'Автоматическое заполнение полей значения скидки в процентах для частного лица или предпринимателя
TxtПредприниматель.Text = 2
TxtЧастное.Text = 0
'Установка системной даты
Dim DtmData As Date
DtmData = Date
TxtData.Text = FormatDateTime(DtmData, vbShortDate)
'Список сумм кредитов,которые осуществляет банк
CboКредит.AddItem "25000,00"
CboКредит.AddItem "50000,00"
CboКредит.AddItem "100000,00"
CboКредит.AddItem "150000,00"
CboКредит.AddItem "200000,00"
CboКредит.AddItem "250000,00"
CboКредит.AddItem "275000,00"
CboКредит.AddItem "300000,00"
CboКредит.AddItem "500000,00"
CboКредит.AddItem "1000000,00"
End Sub
Private Sub ChkКлиент_Click()
ChkКлиент.ForeColor = vbBlue
End Sub
Private Sub СmdРассчет_Click()
'Объявление переменных
Dim SngPr1 As Single
Dim SngPr2 As Single
Dim SngPr3 As Single
Dim SngPr4 As Single
Dim StrSoob As String
Dim CurOpl As Currency
Dim CurCredit As Currency
Dim Sngbusiness As Single
Dim SngChasnoe As Single
Dim x As String
'Ввод исходных данных
CurCredit = CCur(CboКредит)
'Рассчеты
MsgBox "Внимание!!!Процент от суммы указан уже с учтением того,на какой срок берется кредит."
If (Optмесяц3.Value = True) Then
SngPr1 = CSng(TxtPr1.Text)
ElseIf (Optмесяц6.Value = True) Then
SngPr2 = CSng(TxtPr2.Text)
ElseIf (Optгод.Value = True) Then
SngPr3 = CSng(TxtPr3.Text)
ElseIf (Optсвышегода.Value = True) Then
SngPr4 = CSng(TxtPr4.Text)
End If
If (OptПредприниматель.Value = True) Then
Sngbusiness = CSng(TxtПредприниматель.Text)
ElseIf (OptЧастное.Value = True) Then
SngChasnoe = CSng(TxtЧастное.Text)
End If
Select Case ChkКлиент.Value
Case True
x = 1
MsgBox "Клиент с хорошей кредитной историей имеет льготу.Кредит выдается на 1% ниже"
Case False
x = 0
End Select
'Вывод результата
CurOpl = CurCredit + (CurCredit * ((SngPr1 + SngPr2 + SngPr3 + SngPr4) - Sngbusiness - SngChasnoe - x) / 100)
TxtОплата.Text = Format(CurOpl, "# ##0.00")
StrSoob = "Сумма кредита составляет " & CboКредит & " Процент уплаты за кредит зависит от срока,на какой он берется. Окончательна сумма возвращения банку составляет " & TxtОплата.Text & "."
LblSoob.Caption = StrSoob
End Sub
'Сброс
Private Sub CmdSbros_Click()
CboКредит = ""
TxtОплата = ""
LblSoob = ""
Optмесяц3 = ""
Optмесяц6 = ""
Optгод = ""
Optсвышегода = ""
OptЧастное = ""
OptПредприниматель = ""
ChkКлиент = ""
End Sub
'Выход
Private Sub CmdExit_Click()
Dim strChoose As String
Do
strChoose = InputBox("Вы точно хотите выйти? ")
If strChoose = "Да" Or strChoose = "Нет" Then
Select Case strChoose
Case "Да"
FrmКредит.Hide
Case "Нет"
End Select
Else
MsgBox "Ошибка!"
End If
Loop Until strChoose = "Да" Or strChoose = "Нет"
End Sub