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

10.5. Проектирование приложения с файлами

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

Машиностроительное предприятие выпускают несколько видов продукции, в которых в основном используется сталь.

Определить вид продукции, по которому потребуется максимальный расход стали, если известны:

  • норма расхода стали на изготовление единицы продукции i-го вида, кг;

  • плановое задание на выпуск i-го вида продукции, шт.

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

Потребность в стали на изделия i-го вида определяется по формуле:

Потребностьі = Нормаі * Количествоі,

где Нормаі – расход стали на изготовление одного изделия i-го вида;

Количествоі – план выпуска изделий i-го вида;

i = 1, 2,…, n;

n – количество видов продукции.

Требуется определить максимальное значение величин Потребностьі, і=1, 2, ..., n.

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

Решение задачи состоит из следующих трех основных этапов

1. Создание файла.

2. Вывод файла.

3. Максимальная потребность.

Укрупненная схема алгоритма представлена на рис. 10.1.

Рис. 10.1.Укрупненная схема алгоритма

На этапе “Создание файла” вводятся данные по каждому виду продукции и сохраняются на диске. Схема алгоритма этого этапапредставлена на рис. 10.2.

Рис. 10.2. Схема алгоритма этапа Создание файла”

На этапе “Вывод файла” осуществляется чтение данных из файла по каждому виду продукции и вывод этих данных на форму. Схема алгоритма этого этапа представлена на рис. 10.3.

Рис. 10.3. Схема алгоритма этапа Вывод файла”

На этапе “Максимальная потребность” производится чтение данных о первом виде продукции из файла, вычисляется потребность стали на этот вид и предполагается, что расход стали на первый вид продукции будет максимальным. Затем это предположение проверяется путем сравнения с потребностями в стали на другие виды продукции. При этом запоминается номер записи в файле (iМах), в которой находятся данные с максимальной потребностью. Эти данные после полного просмотра файла выводятся на пустую форму. Алгоритм поиска построен в предположении, что в файле имеется не менее двух записей. Схема алгоритма этого этапа представлена на рис. 10.4.

Рис. 10.4. Схема алгоритма этапа “Максимальная потребность

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

Для хранения данных о видах продукции на диске в приложении используется файл. Каждый вид продукции характеризуется следующими реквизитами:

  • Наименование – строка символов (максимум 7 символов, имеет имя strНаименование);

  • Норма – дробное число (тип Single, имеет имя sngНорма);

  • Количество – целое число (имеет имя intКоличество);

Эти простые переменные относятся к одному виду продукции, поэтому объединяются в пользовательский тип данных Запись. Для выполнения действий с данными типа Запись в программе используется переменная пользовательского типа udtСведения, которая состоит из перечисленных выше трех полей. Эта переменная используется для записи данных в файл и чтения из него.

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

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

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

Имя файла представляет собой последовательность символов и вводится в текстовом поле, поэтому имеет имя txtИмя_файла.

Для определения количества записей в файле перед началом чтения из него используется переменная intКол_зап. Выбран тип Integer, поскольку предполагается, что в файле не более 32 тыс. записей.

При поиске вида продукции с максимальным расходом стали используется переменная типа sngMaxПотребность и переменная целого типа iMax, в которой хранится номер записи с соответствующими данными.

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

Таблица 10.1

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

Реквизит

Имя

Назначение

Имя файла

txtИмя_файла

Имя файла на диске для хранения данных по всем видам продукции

Запись

Запись

Тип данных, хранящихся в файле

Сведения

udtСведения

Переменная типа Запись

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

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

Наименование вида продукции, поле в пользова-тельском типе Запись

Норма

sngНорма

Норма расхода стали на изделие одного вида, поле в пользовательском типе Запись

Количество

intКоличество

План выпуска изделий одного вида, поле в пользовательском типе Запись

Потребность

sngПотребность

Потребность в стали на один вид продукции

МахПотребность

sngMaxПотребность

Максимальная потребность на один вид продукции

iMax

iMax

Номер записи, в которой хранятся данные по виду продукции с максимальным расходом стали

Кол. зап.

intКол_зап

Количество записей в файле