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


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

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

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

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

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

 

 


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

 

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

 

 

 


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

 

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

 

 

 

 

 

 


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

 

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

 


Рис. 10.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Кол_зап Количество записей в файле


Дата добавления: 2020-10-14; просмотров: 519;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.