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

28.   Обязательно ли писать комментарии в коде программы?

Лабораторная работа №4

Тема. Проектирование приложения, которое реализует вычислительный разветвляющийся процесс.

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

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

Общие рекомендации

Условный оператор используется для представления разветвленного вычислительного процесса в коде программы на языке Visual Basic.

В VB имеются две формы условных операторов – однострочная и блочная. Однострочная форма используется в простейших случаях, когда в каждой ветви имеется не более одного оператора, и имеет вид:

If <Условие> Then <Оператор1> [Else <Оператор2>]

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

If <Условие> Then

<Операторы1>

Else

<Операторы2>

End If

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

Расширенная модификация имеет вид:

If <Условие1> Then

<Операторы1>

ElseIf <Условие2> Then

<Операторы2>

...

[Else

<ОператорыN>]

End If

Многоточие после конструкции ElseIf обозначают, что эта конструкция может повторяться несколько раз.

Разветвляющийся вычислительный процесс можно реализовать в VB также с помощью оператора выбора, который имеет вид:

Select Case <Выражение>

[Case <Список_сравнения1>

<Операторы1>]

...

[Case Else

<ОператорыN>]

End Select

где <Выражение> может быть выражением любого типа (целого, вещественного, строкового и т.п.).

<Список_сравнения> состоит из элементов сравнения, разделенных запятой.

Элемент сравнения можно записать в одном из трех видов:

1)  выражение, представляющее одно значение для проверки на совпадение (например, 3, х + 7);

2)  конструкция <Выражение1> To <Выражение2> представляет интервал значений для проверки попадания в диапазон (например, 1 To 5);

3)  конструкция Is <Операция сравнения> <Выражение> представляет значения, удовлетворяющие условию, задаваемому сравнением (например, Is > 32).

Пример решения задачи

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

Построить приложение для определения процента отклонения фактического выполнения производственной программы от плана.

Экономико-математическая модель

Процент отклонения (Отклонение) фактического выполнения (Факт) производственной программы от плана (План) определяется по формуле:

 

где Процент = Факт / План * 100

Если Процент = 100, то вывести сообщение «План выполнен на 100%».

Алгоритм решения задачи

Решение задачи осуществляется в соответствии с алгоритмом, который приведен на рис. 4.1.

Структура данных

При решении задачи используются следующие данные: План, Факт, Процент и Отклонение. Все значения данных – дробные числа.

Данные План и Факт являются исходными и вводятся с клавиатуры в текстовые поля, поэтому в программе им присваиваются имена txtПлан и txtФакт соответственно.

Вычисляемая с помощью формулы величина Процент является промежуточной. Она участвует в определении результата Отклонение. Поэтому в программе Процент представлен переменной дробного типа с именем sngПроцент и описывается как переменная типа Single.

 


Рис. 4.1. Схема алгоритма определения отклонения от плана

Результат решения задачи выводится с соответствующим пояснительным текстом («План перевыполнен на <Отклонение> %» или «План недовыполнен на <Отклонение> %»), т. е. он не выводится только в виде числового значения. Поэтому в программе величина Отклонение описана как промежуточная переменная sngОтклонение типа Single.

Все сообщение об отклонении фактического значения от плана формируется в переменной strОтклонение, которая в программе объявляется как строковая переменная (тип String).

Используемые в задаче переменные представлены в следующей таблице.

Таблица

Используемые переменные

Реквизит

Имя

Назначение

План

Факт

Процент

Отклонение

Результат

tхtПлан

tхtФакт

sngПроцент

sngОтклонение

strОтклонение

Значение планового показателя, грн.

Значение фактического показателя, грн.

Процент выполнения плана

Отклонение от плана в процентах

Сообщение об отклонении фактического значения от плана

Интерфейс с пользователем

Решение задачи производится с помощью формы, приведенной на рис. 4.2.

Рис. 4.2. Проект формы для решения задачи

На форме слова «План» и «Факт» представляются надписями. Соответствующие исходные данные вводятся в текстовые поля. Вычисления производятся при нажатии кнопки «Вычислить». Результат помещается в вогнутую область под кнопкой. В зависимости от результата вычисления переменная sngОтклонение может принимать одно из следующих значений:

1)  План перевыполнен на "0,00" %;

2)  План недовыполнен на "0,00" %;

3)  План выполнен на 100 % .

Здесь принято условное обозначение "0,00", которое означает, что результат sngОтклонение выводится с двумя разрядами в дробной части.

Область результата представляется надписью lblРезультат.

Код программы

Процедура, которая обрабатывает событие "Щелчок на кнопке Вычислить", представлена ниже.