
- •5. Проектирование разветвляющихся вычислительных процессов
- •5.1. Условный оператор
- •5.2. Проектирование приложения, реализующего разветвляющийся вычислительный процесс
- •Используемые переменные
- •5.2.5. Интерфейс с пользователем
- •5.2.6. Код программы
- •5.2.7. Реализация проекта
- •5.2.8. Анализ проекта
- •5.2.9. Выполнение программы и анализ полученных результатов
- •5.4. Пример использования оператора выбора
- •6. Проектирование приложений с циклами
- •6.1. Назначение операторов цикла
- •6.2. Условные циклы
- •6.3. Проектирование приложения на базе условного цикла с верхним окончанием
- •Используемые переменные
- •6.3.5. Интерфейс с пользователем
- •6.3.6. Код программы
- •6.3.7. Анализ проекта
- •6.3.8. Выполнение программы и анализ полученных результатов
- •6.4. Проектирование приложения с использованием условного цикла с нижним окончанием
- •Используемые переменные
- •6.4.5. Интерфейс с пользователем
- •6.4.6. Код программы
- •6.4.7. Анализ проекта
- •6.4.8. Выполнение программы и анализ полученных результатов
- •Планируемые расходы на ремонт офиса
- •6.5. Цикл со счетчиком
- •6.6. Проектирование приложения с использованием цикла со счетчиком
- •6.6.7. Реализация проекта
- •6.6.8. Анализ проекта
- •6.6.9. Выполнение программы и анализ полученных результатов
- •Остаток товаров на 17.09.01
- •7. Массивы данных
- •7.1. Общие сведения о сложных типах
- •Стоимость товаров
- •7.2. Описание и обращение к массивам
- •7.3. Динамические массивы
- •7.4. Использование массивов при решении экономической задачи
- •Используемые данные
- •7.4.5. Интерфейс с пользователем
- •7.4.6. Код программы
- •7.4.7. Реализация проекта
- •7.4.8. Анализ проекта
- •7.4.9. Выполнение программы и анализ полученных результатов
- •Прайс-лист
- •8. Массивы элементов управления
- •8.1. Назначение и создание массивов элементов управления
- •"Группа переключателей"
- •8.2.4. Структура данных
- •Используемые данные
- •8.2.5. Интерфейс с пользователем
- •8.2.6. Код программы
- •8.2.7. Реализация проекта
- •8.2.8. Анализ проекта
- •8.2.9. Выполнение программы и анализ полученных результатов
- •9. Пользовательский тип данных
- •9.1. Определение и обращение
- •9.2. Оператор присоединения With
- •10. Файлы
- •10.1. Назначение файлов
- •10.2. Операции с файлами
- •10.3. Режимы доступа
- •10.4. Файлы с произвольным доступом
- •10.5. Проектирование приложения с файлами
- •10.5.1. Постановка задачи
- •10.5.2. Экономико-математическая модель
- •10.5.3. Алгоритм решения задачи
- •10.5.4. Структура данных
- •10.5.5. Интерфейс с пользователем
- •10.5.6. Код проекта
- •10.5.7. Реализация проекта
- •10.5.8. Анализ проекта
- •9.5.9. Выполнение программы и анализ полученных результатов
- •Данные по заказу на крепежные изделия
- •11. Процедуры и функции
- •11.1. Назначение процедур и их виды
- •11.2. Описание процедур
- •11.3 Вызов процедуры
- •11.4. Функции
- •11.5. Использование процедур и функций при решении экономической задачи
- •11.5.1. Код проекта
- •11.5.2. Реализация проекта
5.2.6. Код программы
Процедура, которая обрабатывает событие "Щелчок на кнопке Вычислить", представлена ниже.
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
5.2.7. Реализация проекта
Запустить на выполнение VB для создания нового проекта.
Задать заголовок формы «Отклонение от плана» и ее имя frmОтклонение.
На форме создать надписи и текстовые поля для исходных данных План и Факт.
Создать кнопку «Вычислить».
Под кнопкой «Вычислить» создать надпись для области результата.
Ввести код процедуры, обрабатывающей нажатие кнопки «Вычислить».
Сохранить форму и проект в папке на диске D:.
5.2.8. Анализ проекта
Объявление переменных осуществляется в операторе Dim (явное объявление). Поскольку оператор занимает несколько строк, то для его продолжения на следующей строке использованы символы переноса «пробел» и «подчеркивание».
Для выполнения вычислений в правой части оператора присваивания используется функция CSng(), преобразующая строковое значение к типу Single.
Для реализации разветвления применяется расширенная форма условного оператора.
При формировании сообщения о результатах вычислений употребляется операция сцепления строк &. Для представления численного значения результата strОтклонение с точностью до двух разрядов в дробной части используется функция Format.
Вывод результата осуществляется путем присвоения надписи lblРезультат значения переменной strОтклонение, которая содержит текст сообщения.
Для вывода результата можно также использовать оператор MsgBox, который в простейшем случае имеет вид:
MsgBox <Сообщение>
Выполнение этого оператора приводит к появлению диалогового окна с указанным текстом (рис. 5.4). В нашем случае строку в коде
lblРезультат = strОтклонение
нужно заменить строкой
MsgBox strОтклонение
Рис. 5.4. Вывод результата с использованием оператора MsgBox
Оператор MsgBox можно также использовать для вывода сообщения об ошибке, если не задан план или он равен нулю (деление на ноль запрещено). Для обработки такой ошибки нужно в коде программы перед вычислением процента вставить следующий фрагмент:
'Обработка ошибки
If (txtПлан = "") Or (txtПлан = "0") Then
MsgBox "Не задан план"
Exit Sub
End If
Здесь использована краткая форма оператора If.
Проверка обоих условий основана на том, что значение текстового поля имеет тип String (константа "" обозначает пустую строку, а «0» – что в поле txtПлан введен ноль).
Условие после слова If выполняется (то есть имеется ошибка), если выполняется хотя бы одно из условий, поэтому два условия связаны логической операцией Or.
В случае обнаружения ошибки выводится сообщение оператором MsgBox, а затем происходит выход из процедуры обработки события нажатия на кнопку «Вычислить» благодаря наличию оператора Exit Sub. Поэтому при обнаружении ошибки вычисления не производятся, но выполнение приложения продолжается. Пользователь имеет возможность ввести значение плана или прекратить выполнение приложения, закрыв его окно.