Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mv_basic.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.88 Mб
Скачать
    1. Пример программы с элементами управления для принятия решений

      1. Постановка задачи

Разработать программу для вычисления:

  • величины амортизации фондов линейным методом;

  • величины годовой амортизации фондов за определенный период.

Предусмотреть возможность изменения внешнего вида надписей и проверку корректности ввода данных.

      1. Реализация задачи средствами Visual Basic

Приступая к реализации проекта на VB, необходимо представить алгоритм решения задачи:

во-первых, необходимо определиться, какими средствами можно реализовать данную задачу;

во-вторых, какие входные данные для этого необходимо иметь;

в-третьих, представить себе внешний вид пользовательского интерфейса.

Величина амортизации фондов линейным методом вычисляется по формуле:

А= .

Величина годовой амортизации за определенный период вычисляется по формуле:

А= .

В VB для решения данной задачи существуют две соответствующие встроенные функции:

SLN (Стоимость, Ликвидная_стоимость, Жизнь);

SYD (Стоимость, Ликвидная_стоимость, Жизнь, Период),

где величине Остаточная_Стоимость соответствует аргумент Ликвидная_Стоимость, а величине Время_Эксплуатации соответствует переменная Жизнь.

Перед выполнением вычислений необходимо проверить, являются ли числовыми входные данные, т.е. значения для величин Стоимости, Ликвидной_Стоимости, Жизни, а при вычислении величины годовой амортизации за определенный период – для величины Период. Для соблюдения корректности вычислений необходимо также выполнение следующих условий:

  1. Стоимость не может быть меньше Ликвидной_Стоимости;

  2. Период не может быть больше Жизни.

При помощи элемента Метка на форме размещаются необходимые комментарии. Для ввода необходимых данных используются элементы управления типа Текстовое поле. При помощи элементов Переключатели осуществляется выбор соответствующего метода вычисления величины амортизации. Флажки с именами "Жирный" и "Курсив" используются для изменения внешнего вида надписей. Флажки и переключатели помещаются в соответствующие элементы управления Рамка. Для реализации описанных выше функций необходимо в форму поместить элементы управления, представленные в таблице 5.2.

Вид пользовательского интерфейса проекта представлен на рис. 5.5.

Таблица 5.2.

Элементы управления программы «Расчет амортизации фондов» и значения их свойств

Элемент

Свойство

Значение

Форма

Caption

Вычисление величины амортизации

Текстовое поле

для переменой Stoim

Name

TextSt

Text

Enabled

True

Текстовое поле

для переменной Ostoim

Name

TextOst

Text

Enabled

True

Текстовое поле

для переменной TiE

Name

TextT

Text

Enabled

True

Текстовое поле

для переменной Per

Name

TextPer

Text

Enabled

True

Текстовое поле

для переменной Amort

Name

TextAm

Text

Enabled

False

Метка

для Стоимость

Name

LabelSt

Caption

Стоимость

Метка для Остаточная стоимость

Name

LabelOst

Caption

Остаточная стоимость

Метка для Время эксплуатации

Name

LabelT

Caption

Время эксплуатации

Метка для Период

Name

LabelPer

Caption

Период

Метка для Величина амортизации

Name

LabelAm

Caption

Величина амортизации

Кнопка для вычисления

Name

CmdCalc

Caption

Вычислить

Кнопка для выхода

Name

CmdExit

Caption

Выход

Рамка

Caption

Выбор метода расчета

Переключатель

Name

OptLin

Caption

Амортизация, расчитанная линейным методом

Value

True

Переключатель

Name

OptGod

Caption

Годовая амортизация за период

Value

False

Рамка

Caption

Выбор свойств шрифта

Флажок

Name

ChB

Caption

Жирный

Флажок

Name

ChI

Caption

Курсив

Рис. 5.5. Окно программы «Расчет амортизации фондов»

Полный текст программного кода приведен на рис.5.6.

Для проверки правильности работы программы на рис 5.5. представлены результаты расчета для годовой амортизации за определенный период. Для амортизации, рассчитанной линейным методом при тех же входных данных, величина амортизации должна быть равна 21666,67.

Описание переменных:

Dim Stoim, OStoim, TiE, Per, Amort As Double

Обработчик события кнопки «Вычислить»:

Private Sub CmdCalc_Click()

If Not IsNumeric(TextSt.Text) Then ‘ Проверка корректности входных

данных Стоимость при помощи встроенной функции IsNumeric

Beep ‘Генерация звукового сигнала

MsgBox "В поле Cтоимость не число !", vbOKOnly ‘Вывод

окна сообщения

Exit Sub ‘Выход из процедуры

End If

Сохранение в переменной Stoim Стоимости:

Stoim = Val(TextSt.Text)

Проверка входных данных Остаточная стоимость:

If Not IsNumeric(TextOst.Text) Then

Beep

MsgBox "В поле Остаточная стоимость не число !", vbOKOnly

Exit Sub

End If

Сохранение в переменной OStoim Остаточной Стоимости:

OStoim = Val(TextOst.Text)

Проверка ограничений на входные данные:

If Stoim < OStoim Then

Beep

MsgBox "Стоимость не может быть меньше Остаточной стоимости !", _

vbOKOnly, "Error"

Exit Sub

End If

Проверка входных данных Время эксплуатации:

If Not IsNumeric(TextT.Text) Then

Beep

MsgBox "В поле Время эксплуатации не число !", vbOKOnly, "Error"

Exit Sub

End If

Сохранение в переменной TiE значения для Время эксплуатации:

TiE = Val(TextT.Text)

If OptLin.Value = True Then Проверка выбора метода расчета

Amort = SLN(Stoim, OStoim, TiE) Вычисление амортизации линейным

методом

Else

If Not IsNumeric(TextPer.Text) Then Проверка входных данных Период

Beep

MsgBox "В поле Период не число !", vbOKOnly, "Error"

Exit Sub

End If

Per = Val(TextPer.Text) ‘Сохранение в переменной Per значения Период

If TiE < Per Then ‘Проверка ограничений на входные данные

Beep

MsgBox "Время эксплуатации не может быть меньше Периода!", _

vbOKOnly, "Error"

Exit Sub

End If

Amort = SYD(Stoim, OStoim, TiE, Per)Вычисление годовой амортизации

'за определенный период

End If

TextAm.Text = Str(round(Amort,2)) ‘Отображение вычисленного значения амортиз-и

Проверка выбора свойств шрифта:

If ChB.Value = 0 Then

LabelSt.Font.Bold = False : LabelOst.Font.Bold = False

LabelT.Font.Bold = False : LabelPer.Font.Bold = False

Else

LabelSt.Font.Bold = True : LabelOst.Font.Bold = True

LabelT.Font.Bold = True : LabelPer.Font.Bold = True

End If

If ChI.Value = 0 Then

LabelSt.Font.Italic = False

LabelOst.Font.Italic = False

LabelT.Font.Italic = False

LabelPer.Font.Italic = False

Else

LabelSt.Font.Italic = True

LabelOst.Font.Italic = True

LabelT.Font.Italic = True

LabelPer.Font.Italic = True

End If

End Sub

Обработчик события кнопки «Выход»:

Private Sub CmdExit_Click()

End

End Sub

Обработчик события переключателя «Аморт-я за определенный период»

Private Sub OptGod_Click()

LabelPer.Visible = True ‘Включение видимости для элемента LabelPer

TextPer.Visible = True ‘Включение видимости для элемента TextPer

If OptGod.Value = True Then OptLin.Value = False

End Sub

Обработчик события переключателя «Линейная амортизация»

Private Sub OptLin_Click()

LabelPer.Visible = False ‘Отключение видимости для элемента LabelPer

TextPer.Visible = False ‘Отключение видимости для элемента TextPer

If OptLin.Value Then OptGod.Value = False

End Sub

Обработчик события инициализации формы

Private Sub Form_Load()

LabelPer.Visible = False

TextPer.Visible = False

End Sub

Рис. 5.6. Листинг программы «Вычисление величины амортизации»

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]