- •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. Реализация проекта
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