Курсовая работа: Программирование в Delphi

4) использовать стандартные диалоги OpenDialog и SaveDialog для предоставления пользователю возможности визуального выбора имени и пути типизированного файла для открытия либо для сохранения базы данных. Для вызова диалогов использовать 2 компонента button с соответствующими названиями

5) для «обнуления» данных, т.е. создания новой базы использовать компонент button с подписью «создать базу».

6) для дублирования функций программы и создания дополнительного удобства работы с приложением применить компонент menu с соответствующими подменю и подписями кнопок.

7) математический аппарат представить в виде отдельной процедуры, состоящей из двух уравнений, удовлетворяющих начальному условию, которые являются необходимой частью приложения. Расчет проводить в автоматизированном режиме, без участия пользователя.

8) выполнить сортирование базы данных в автоматизированном режиме. Что исключит лишние действия пользователя по периодическому нажатию кнопки «сортировка». Действие сортировки выполнить уникальным, специально разработанным методом при каждом изменении базы данных.


3. Математическая формулировка задачи и выбор метода обработки информации

В поставленной задаче необходимо выполнить простейшие операции и вычисления. Математический аппарат представлен в виде вычисления двух неизвестных по заранее заданным формулам.

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

2) выполнить вычисление объема реализации по формуле, указанной в задании.

3) выполнить вычисление стоимости в оптовых ценах всего объема реализации по формуле, указанной в задании.

Поиск наименования продукции, обладающей наибольшую стоимость всего объема реализации, происходит методом прямого перебора базы данных, сравнивая каждый последующий элемент с предыдущим. При обнаружении последующего элемента большим, чем предыдущий, значение стоимости записывается в одну буферную переменную, а индекс строки записывается во вторую. При окончании перебора в поле MEMO выводится наименование продукции из базы данных, соответствующей записанному ранее индексу, а значение переписывается из буферной переменной.

Элемент автоматической сортировки встроен в систему вывода информации через компонент StringGrid. Для этого используется типизированный массив набора данных. При добавлении новой записи происходит перенос данных из StringGrid-а в типизированный массив и затем происходит прямой перебор базы данных с поиском наиболее большего в текстовом смысле значения наименования продукции с использованием функции CompareText. При определении первого большего элемента добавляемая запись записывается между строк типизированного массива, а затем все «не пустые» записи типизированного массива переносятся в уже очищенный StringGrid. Затем типизированный массив очищается.

Таким образом исключается необходимость участия пользователя в процессе сортировки данных. Ход процесса перестроения базы данных как бы вмонтирован в операции по изменению данных. То есть конечной целью разработчика являлась создание унифицированной процедуры по преобразованию массива данных.Однако, данный метод (ровно как и метод «пузырька») применим только для малых объемов баз данных, так как преобразование большого массива информации потребует значительные ресурсы. Поэтому набор данных намеренно был ограничен 100 записями, что в полной мере удовлетворяет поставленному условию (оперирование с более чем десятью записями).

Дальнейшим возможным развитием программы может быть использование стандартизированных типов баз данных со встроенной системой индексации и поиска, со встроенными функциями сортировки. Также возможно интегрирование типизированных файлов с программами MicrosoftOfficeExcel или Access. Также, при необходимости, возможно доработать программу до клиент/серверного положения, которое будет иметь общую систему защищенных баз данных, удобное управление, а также распределение полномочий по добавлению/изменению/удалению записей.

4. Разработка алгоритма, схема алгоритма и его описание.

На основе вышеизложенной математической формулировки задачи, составляем соответствующие подпрограммы:

Sg1.cells
2
Начало
1
1. ????????? ?????????? ???????? ??? ???????? ?????: FormShow .

Пояснения к алгоритму 1:

Блок 2 – задание имен фиксированным столбцам в StringGrid .

3
memo1.Lines
Блок 3 ? ????? ? ???? memo ????????? ? ???????.

Начало
1
2. ????????????????StringGrid : CleanSG .

n2=1, Sg1.Rowcount,1
2
Пояснения к алгоритму 2:

Sg1.rows[n2].clear

Блок 2 ? ???? ??????????? ?? ??????? StringGrid .
3
Блок 3 ? ??????? ?????? StringGrid .

3. процедура очистки edit- ов: clearedit .


2
Пояснения к алгоритму 3:

edit1.clear
Блоки 2-6 ? ??????? edi t-??.
4
6


4. процедура создания новой базы: button 4 click .


Пояснения к алгоритму 4:

Нет
Да
2
messagedlg
Блок 2 ? ?????? ???????? ????????????? ??????.

Блок 3 – вызов процедуры.

cleansg
3
Блок 4 ? ????? ? ???? memo ????????????? ???????? ????.

5. процедура добавления записи: button 1 click .

Пояснения к алгоритму 5:

Блок 2 – проверка edit -ов на не пустые строки.

Блок 3 – попытка присвоить строке целочисленные переменные.

сообщение о необходимости полей 2…5 быть числом.

Блок 4 – задание начального условия цикла.

Блоки 5,6 – цикл очистки типового массива.

Блок 7 – задание начального условия цикла.

К-во Просмотров: 565
Бесплатно скачать Курсовая работа: Программирование в Delphi