Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по VB. Часть2.doc
Скачиваний:
23
Добавлен:
02.02.2015
Размер:
870.4 Кб
Скачать

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

На капитальный ремонт офиса выделено 250000 грн. Был проведен конкурс, в котором приняли участие две ремонтно-строительные фирмы "Комфорт" и "Щит". В табл. 6.5. приведены суммы планируемых расходов по месяцам, представленные каждой фирмой.

Таблица 6.5.

Планируемые расходы на ремонт офиса

Месяц

"Комфорт"

"Щит"

1

40000

20000

2

60000

20000

3

60000

20000

4

50000

20000

5

55000

20000

6

30000

20000

7

40000

20000

8

60000

20000

9

20000

10

20000

11

20000

12

20000

Для определения лучшего подрядчика было использовано разработанное приложение. Вначале преимущество было дано фирме "Комфорт", т.к. по ее плану ремонт мог быть выполнен за восемь месяцев. Но при вводе данных (были введены суммы планируемых расходов только за пять первых месяцев), оказалось, что выделенных денег не хватит даже на пять месяцев (рис. 6.11а.). После того, как были введены данные фирмы "Щит", оказалось, что по ее проекту ремонт будет выполнен полностью (рис. 6.11б). Поэтому предпочтение было отдано фирме "Щит".

а) фирма "Комфорт" б) фирма "Щит"

Рис. 6.11. Результат решения задачи

6.5. Цикл со счетчиком

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

Цикл со счетчиком имеет следующий вид

For счетчик = начальное значение То конечное значение Step шаг

операторы тела цикла

Next счетчик

Здесь счетчик – числовая переменная, начальное, конечное значение и шаг – выражения того же типа, что и счетчик. Если конструкция Step опущена, то подразумевается значение шага, равное +1.

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

Среди операторов тела цикла может находиться оператор немедленного выхода из цикла Exit For.

Из сказанного выше следует, что оператор со счетчиком в VB выполняется точно так же, как цикл с параметром, который рассматривался при изучении алгоритмов.

6.6. Проектирование приложения с использованием цикла со счетчиком

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

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

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

Общая стоимость товара в магазине определяется по формуле

S = Цена1 * Количество1 + Цена2 * Количество2 + ... + Ценаn * Количествоn,

где n – количество видов товара в магазине (заранее известная величина).

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

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

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

В программе используются те же данные, что и в задаче о покупках (п. 6.3).

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

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

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

товаров при переучете

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

Полученный результат выводится в вогнутую область, которая представлена на форме надписью lblСтоимость.

Решение задачи выполняется с помощью формы (рис. 6.13).

Рис. 6.13. Форма для решения задачи о переучете

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

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

Option Explicit

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

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

Dim curЦена As Currency, _

intКоличество As Integer, _

i As Integer, _

curS As Currency

curS = 0 'Общая стоимость

i = 0 'Номер товара

'Цикл по обработке товаров

For i = 1 To CInt(txtN)

'Ввод цены и количества

curЦена = CCur(InputBox("Введите цену", _

CStr(i) & "-й товар"))

intКоличество = CInt(InputBox("Введите количество", _

CStr(i) & "-й товар"))

'Вычисление общей стоимости

curS = curS + curЦена * intКоличество

Next i 'Конец цикла

'Вывод результата

lblСтомость = Format(curS, "0.00 грн.")

End Sub