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

Значением функции является введенное пользователем значение. Оно имеет строковый тип. Для преобразования в нужный числовой тип используются функции CСur (для цены – в денежный тип) и CInt (для количества – в целый тип).

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

Программа использовалась при закупке мебели для офиса. Для этих целей было запланировано израсходовать 1 500 грн. Имеющаяся в магазине мебель представлена в таблице “Прайс-лист”, а отобранная для офиса мебель – в таблице “Выбранные товары”, приведенные ниже.

После запуска программы на выполнение были введены данные (цена и количество) из таблицы “Выбранные товары”. Общая стоимость выбранных товаров составляет 1 100.00 грн. (рис. 5.7), что вкладывается в запланированный бюджет. При желании можно увеличить количество отобранных товаров и при этом повторно воспользоваться разработанным приложением.

Таблица

Таблица

Прайс-лист

Наименование

Цена

Диван

850.00

Кресло

300.00

Стол

200.00

Стул

60.00

Тумбочка

80.00

Шкаф

300.00

Выбранные товары

Наименование

Цены

Количество

Кресло

300.00

1

Стол

200.00

1

Стул

60.00

5

Шкаф

300.00

1

Рис. 5.7. Общая стоимость выбранных товаров

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

условного цикла с нижним окончанием

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

В годовом финансовом плане на ремонт помещения выделяется определенная (предельная) сумма денег. При планировании затрат по месяцам необходимо так распределить расходы, чтобы их сумма не превышала установленной предельной величины. Определить общую сумму расходов на весь год. Распределение денег прекратить, если общая сумма расходов по месяцам превышает выделенную предельную сумму или распределение денег по всем 12 месяцам успешно завершено.

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

Пуcть Sпред – предельная сумма денег, выделенных на ремонт в течение года, а Расход1, Расход2,... – суммы, расходуемые соответственно в первом, втором и т.д. месяцах. Тогда общая сумма расходуемых денег за n месяцев определяется по формуле

Sобщ = Расход1 + Расход2 + … + Расходi + … + Расходn,

где Sобщ <= Sпред, n <= 12.

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

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

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

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

Переменные, в которых хранятся значения расхода в текущем месяце, общей и предельной сумм должны быть денежного типа, поэтому в программе им присвоены имена curРасход, curSОбщ и curSПред соответственно.

Номер текущего месяца, по которому вводятся данные, есть целого типа, поэтому в программе соответствующая переменная имеет имя i.

 


Рис. 5.8. Схема алгоритма определения общей суммы расходов за год

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

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

Таблица

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

Реквизит

Имя

Назначение

Расходi

curРасход

Расход денег в текущем месяце, грн.

SОбщ

curSОбщ

Общий расход денег за планируемый период, грн.

SПред

curSПред

Предельная сумма денег, грн.

i

i

Номер текущего месяца

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

Среди исходных данных есть величина, общая для всей задачи – предельная сумма денег. Ее можно ввести с помощью текстового поля txtSПред на форме. Все остальные исходные данные (расходы по месяцам) вводятся с помощью окна ввода. Результат выводится в вогнутую область на форме, которая представляется надписью lblРезультат. Процесс ввода расхода денег по месяцам и вывода результатов начинается после щелчка на кнопке «Вычислить». Таким образом, задача решается с помощью формы, приведенной на рис. 5.9.

В области результата выводится сообщение "За первых i месяцев Вы предполагаете израсходовать SОбщ грн. Это больше предельной суммы на SОбщ - SПред" или сообщение "За год Вы предполагаете израсходовать SОбщ грн.". Здесь вместо i, SОбщ и SПред будут подставлены соответствующие значения.

Ввод данных по расходам за i-ый месяц производится с помощью окна ввода (рис. 5.10).

 

Рис. 5.9. Форма для                         Рис. 5.10. Окно для ввода

решения задачи                                расходов

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

В процедуре обработки события Щелчок на кнопке «Вычислить» используются следующие операторы: