4) использовать стандартные диалоги OpenDialog и SaveDialog для предоставления пользователю возможности визуального выбора имени и пути типизированного файла для открытия либо для сохранения базы данных. Для вызова диалогов использовать 2 компонента button с соответствующими названиями
5) для «обнуления» данных, т.е. создания новой базы использовать компонент button с подписью «создать базу».
6) для дублирования функций программы и создания дополнительного удобства работы с приложением применить компонент menu с соответствующими подменю и подписями кнопок.
7) математический аппарат представить в виде отдельной процедуры, состоящей из двух уравнений, удовлетворяющих начальному условию, которые являются необходимой частью приложения. Расчет проводить в автоматизированном режиме, без участия пользователя.
8) выполнить сортирование базы данных в автоматизированном режиме. Что исключит лишние действия пользователя по периодическому нажатию кнопки «сортировка». Действие сортировки выполнить уникальным, специально разработанным методом при каждом изменении базы данных.
3. Математическая формулировка задачи и выбор метода обработки информации
В поставленной задаче необходимо выполнить простейшие операции и вычисления. Математический аппарат представлен в виде вычисления двух неизвестных по заранее заданным формулам.
1) из базы данных выделить сведения на каждую запись об остатке на начало года, об остатке на конец года, о плане выпуска, а также стоимость в оптовых ценах единицы продукции.
2) выполнить вычисление объема реализации по формуле, указанной в задании.
3) выполнить вычисление стоимости в оптовых ценах всего объема реализации по формуле, указанной в задании.
Поиск наименования продукции, обладающей наибольшую стоимость всего объема реализации, происходит методом прямого перебора базы данных, сравнивая каждый последующий элемент с предыдущим. При обнаружении последующего элемента большим, чем предыдущий, значение стоимости записывается в одну буферную переменную, а индекс строки записывается во вторую. При окончании перебора в поле MEMO выводится наименование продукции из базы данных, соответствующей записанному ранее индексу, а значение переписывается из буферной переменной.
Элемент автоматической сортировки встроен в систему вывода информации через компонент StringGrid. Для этого используется типизированный массив набора данных. При добавлении новой записи происходит перенос данных из StringGrid-а в типизированный массив и затем происходит прямой перебор базы данных с поиском наиболее большего в текстовом смысле значения наименования продукции с использованием функции CompareText. При определении первого большего элемента добавляемая запись записывается между строк типизированного массива, а затем все «не пустые» записи типизированного массива переносятся в уже очищенный StringGrid. Затем типизированный массив очищается.
Таким образом исключается необходимость участия пользователя в процессе сортировки данных. Ход процесса перестроения базы данных как бы вмонтирован в операции по изменению данных. То есть конечной целью разработчика являлась создание унифицированной процедуры по преобразованию массива данных.Однако, данный метод (ровно как и метод «пузырька») применим только для малых объемов баз данных, так как преобразование большого массива информации потребует значительные ресурсы. Поэтому набор данных намеренно был ограничен 100 записями, что в полной мере удовлетворяет поставленному условию (оперирование с более чем десятью записями).
Дальнейшим возможным развитием программы может быть использование стандартизированных типов баз данных со встроенной системой индексации и поиска, со встроенными функциями сортировки. Также возможно интегрирование типизированных файлов с программами MicrosoftOfficeExcel или Access. Также, при необходимости, возможно доработать программу до клиент/серверного положения, которое будет иметь общую систему защищенных баз данных, удобное управление, а также распределение полномочий по добавлению/изменению/удалению записей.
4. Разработка алгоритма, схема алгоритма и его описание.
На основе вышеизложенной математической формулировки задачи, составляем соответствующие подпрограммы:
1. ????????? ?????????? ???????? ??? ???????? ?????:
FormShow .
Пояснения к алгоритму 1:
Блок 2 – задание имен фиксированным столбцам в StringGrid .
Блок 3 ? ????? ? ????
memo ????????? ? ???????.
2. ????????????????
StringGrid :
CleanSG .
Пояснения к алгоритму 2:
Блок 2 ? ???? ??????????? ?? ???????
StringGrid .
Блок 3 ? ??????? ??????
StringGrid .
3. процедура очистки edit- ов: clearedit .
Пояснения к алгоритму 3:
Блоки 2-6 ? ???????
edi t-??.
4. процедура создания новой базы: button 4 click .
Пояснения к алгоритму 4:
Блок 2 ? ?????? ???????? ????????????? ??????.
Блок 3 – вызов процедуры.
Блок 4 ? ????? ? ????
memo ????????????? ???????? ????.
5. процедура добавления записи: button 1 click .
Пояснения к алгоритму 5:
Блок 2 – проверка edit -ов на не пустые строки.
Блок 3 – попытка присвоить строке целочисленные переменные.
сообщение о необходимости полей 2…5 быть числом.
Блок 4 – задание начального условия цикла.
Блоки 5,6 – цикл очистки типового массива.
Блок 7 – задание начального условия цикла.
К-во Просмотров: 567
Бесплатно скачать Курсовая работа: Программирование в Delphi