- •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. Реализация проекта
8.2.4. Структура данных
Поскольку количество исходных данных (Требуется и Планi) не изменяется (изменяются только значения) и их сравнительно не очень много (8=1+7), то все они могут быть представлены в виде текстовых полей на форме (План – массив текстовых полей, а Требуется – простое текстовое поле)
Рис. 8. 2. Схема алгоритма выполнения второго этапа
Результаты вычислений «Итого» и «Отклонение» выводятся на форму в виде надписей, поэтому будут иметь имена lblИтого и lblОтклонение.
Величины Итого и Требуется часто используются в вычислениях. Чтобы каждый раз не преобразовывать значения txtТребуется и lblИтого из строкового к числовому типу данных, наряду с элементами управления в коде используются переменные sngТребуется и sngИтого типа Single.
Для организации вычисления суммы плановых показателей по дням недели будет использоваться целая переменная i типа байт (выбран самый короткий целый тип, так как известно, что 1 ≤ i ≤ 7).
Используемые в приложении данные представлены в табл. 8.1.
Таблица 8.1
Используемые данные
Реквизит |
Имя |
Назначение |
Требуется
Требуется
Планi
i Итого
Итого
Отклонение
Отклонение |
txtТребуется
sngТребуется
txtПлан(i)
i lblИтого
sngИтого
lblОтклонение
txtОтклонение |
Требуемое значение показателя (элемент на форме) Требуемое значение показателя (переменная в коде) Плановое значение показателя на i-й день (массив элементов на форме) Номер дня недели Сумма плановых значений по дням (элемент на форме) Сумма плановых значений по дням (переменная в коде) Текстовая информация о результах сравнения (“Перевыполнение”, “Недовыполнение”, “Норма”) Числовая информация о результатах сравнения |
8.2.5. Интерфейс с пользователем
Решение задачи осуществляется с помощью формы, на которой имеется одно простое текстовое поле txtТребуется и массив текстовых полей txtПлан (рис. 8.3). В эти текстовые поля вводятся соответствующие исходные данные. Результаты расчетов выводятся в области надписей lblИтого (сумма плановых значений по дням недели) и lblОтклонение (текстовая информация о результатах сравнения величин «Требуется» и «Итого»), а соответствующее числовое значение – в текстовое поле txtОтклонение.
Рис. 8.3. Форма для решения задачи планирования
Поскольку на форме нет командных кнопок, то процесс вычисления и вывода результата запускается событиями в полях ввода исходных данных – выходом из текстового поля txtТребуется после ввода исходных данных (событие потеря фокуса – LostFоcus) и изменения в плановых данных по любому дню недели (событие – Change).
В последнем случае выбрано событие Change, поскольку в самом начале планирования, когда исходные данные по дням недели еще не введены (плановые значения считаются равными нулю) и по мере планирования они изменяются. Приложение реагирует на каждое изменение плановых показателей, выводя соответствующие значения их суммы и отклонения от требуемого значения.
Численное значение отклонения дает представление о том, какую величину показателя нужно еще распределить или наоборот – на какую уменьшить
Для большей выразительности предусматривается выводить качественную характеристику состояния процесса планирования (слова “Перевыполнение”, “Недовыполнение” и “Норма”) на соответствующем фоне (желтом, красном или зеленом).