Основы программирования на языке Visual Basic, страница 9

Option Explicit

Private Sub cmdВычислить_Click()

'Объявление переменных

Dim sngПроцент As Single,  _

sngОтклонение As Single,  _

strОтклонение As String

'Вычисление процента выполнения плана

sngПроцент = CSng(txtФакт) / CSng(txtПлан) * 100

'Вычисление процента отклонения от плана

If  sngПроцент > 100  Then

sngОтклонение = sngПроцент - 100

strОтклонение = "План перевыполнен на " &  _

Format(sngОтклонение, "0.00") & "%"

ElseIf  sngПроцент < 100  Then

sngОтклонение = 100 - sngПроцент

strОтклонение = "План недовыполнен на " &  _

Format(sngОтклонение, "0.00") & "%"

Else

strОтклонение = "План выполнен на 100%"

End If

'Вывод сообщения

lblРезультат = strОтклонение

End Sub

Реализация проекта

1.  Запустить на выполнение VB для создания нового проекта.

2.  Задать заголовок формы «Отклонение от плана» и ее имя frmОтклонение.

3.  На форме создать надписи и текстовые поля для исходных данных План и Факт.

4.  Создать кнопку «Вычислить».

5.  Под кнопкой «Вычислить» создать надпись для области результата.

6.  Ввести код процедуры, обрабатывающей нажатие кнопки «Вычислить».

7.  Сохранить форму и проект в папке на диске D:.

Анализ проекта

Объявление переменных осуществляется в операторе Dim (явное объявление). Поскольку оператор занимает несколько строк, то для его продолжения на следующей строке использованы символы переноса «пропуск» и «подчеркивание».

Для выполнения вычислений в правой части оператора присваивания используется функция CSng(), преобразующая строковое значение к типу Single.

Для реализации разветвления применяется расширенная форма условного оператора.

При формировании сообщения о результатах вычислений употребляется операция сцепления строк &. Для представления численного значения результата strОтклонение с точностью до двух разрядов в дробной части используется функция Format.

Вывод результата осуществляется путем присвоения надписи lblРезультат значения переменной strОтклонение, которая содержит текст сообщения.

Для вывода результата можно также использовать оператор MsgBox, который в простейшем случае имеет вид:

                    MsgBox <Сообщение>

Выполнение этого оператора приводит к появлению диалогового окна с указанным текстом (рис.4.3). В нашем случае строку в коде

   lblРезультат = strОтклонение

нужно заменить строкой

   MsgBox strОтклонение

Рис. 4.3. Вывод результата с использованием оператора MsgBox

Оператор MsgBox можно также использовать для вывода сообщения об ошибке, если не задан план или он равен нулю (деление на ноль запрещено). Для обработки такой ошибки нужно в коде программы перед вычислением процента вставить следующий фрагмент:

'Обработка ошибки

If (txtПлан = "") Or (txtПлан = "0") Then

MsgBox "Не задан план"

Exit Sub

End If

Здесь использована краткая форма оператора If.

Проверка обоих условий основана на том, что значение текстового поля имеет тип String (константа "" обозначает пустую строку, а «0» – что в поле txtПлан введен ноль).

Условие после слова If выполняется (то есть имеется ошибка), если выполняется хотя бы одно из условий, поэтому два условия связаны логической операцией Or.

В случае обнаружения ошибки выводится сообщение оператором MsgBox, а затем происходит выход из процедуры обработки события нажатия на кнопку «Вычислить» благодаря наличию оператора Exit Sub. Поэтому при обнаружении ошибки вычисления не производятся, но выполнение приложения продолжается. Пользователь имеет возможность ввести значение плана или прекратить выполнение приложения, закрыв его окно.

Выполнение программы и анализ полученных результатов

На рис. 4.4 приведен результат решения задачи при следующих значениях показателя: план равен 10 и факт равен 12. Т. е. план перевыполнен на 20%, что отражено в области вывода результата.

Рис. 4.4. Результат вычисления процента выполнения

производственной программы

Для проверки работоспособности программы по другим ветвям нужно произвести вычисления по данным, когда факт меньше плана, а также равен ему. Исходные данные и соответствующие значения результата приведены в следующей таблице.

Таблица

Данные проверки работоспособности

программы

План

Факт

Результат

10

12

План перевыполнен на 20%

10

9

План недовыполнен на 10%

10

10

План выполнен на 100%

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

Варианты задач

1.  Определить стоимость товара, если известны розничная цена и его количество. При превышении некоторого количества единиц товар продается по оптовой цене (скидки на Р %)

2.  В банке берется кредит на сумму S грн., процент уплаты за кредит зависит от срока. Если срок кредита не превышает 3 месяцев, то процент уплаты составляет Р1 %, 6 месяцев – Р2 %, 1 года – Р3 %, свыше 1 года – Р4 %. Какую сумму надо будет возвратить банку, если берется кредит сроком на М месяцев?

3.  При покупке автомобиля учитывается его базовая цена (Б грн.), повышенная комфортность (К процентов от базовой цены) и надбавка за покраску кузова краской “металик” (М грн.). Определить стоимость автомобиля в зависимости от требований покупателя.

4.  В супермаркете с целью привлечения покупателей по выходным дням (субботу и воскресенье) установлены скидки на 2 %. Определить стоимость покупки товара одного вида, если известны его розничная цена, количество и дата покупки.

5.  В конце дня в магазине подводятся итоги, определяя выручку за день и сравнивая со среднедневной выручкой с начала текущего месяца. Определить, был ли день удачным, если известны текущая дата, общая выручка за предшествующие дни месяца и выручка за текущий день.