бесплано рефераты

Разделы

рефераты   Главная
рефераты   Искусство и культура
рефераты   Кибернетика
рефераты   Метрология
рефераты   Микроэкономика
рефераты   Мировая экономика МЭО
рефераты   РЦБ ценные бумаги
рефераты   САПР
рефераты   ТГП
рефераты   Теория вероятностей
рефераты   ТММ
рефераты   Автомобиль и дорога
рефераты   Компьютерные сети
рефераты   Конституционное право
      зарубежныйх стран
рефераты   Конституционное право
      России
рефераты   Краткое содержание
      произведений
рефераты   Криминалистика и
      криминология
рефераты   Военное дело и
      гражданская оборона
рефераты   География и экономическая
      география
рефераты   Геология гидрология и
      геодезия
рефераты   Спорт и туризм
рефераты   Рефераты Физика
рефераты   Физкультура и спорт
рефераты   Философия
рефераты   Финансы
рефераты   Фотография
рефераты   Музыка
рефераты   Авиация и космонавтика
рефераты   Наука и техника
рефераты   Кулинария
рефераты   Культурология
рефераты   Краеведение и этнография
рефераты   Религия и мифология
рефераты   Медицина
рефераты   Сексология
рефераты   Информатика
      программирование
 
 
 

Создание справочника "Парфюмерный магазин" при помощи программы Turbo Pascal

Создание справочника "Парфюмерный магазин" при помощи программы Turbo Pascal

Содержание

1.  Введение

2.  Содержательная постановка и описание задачи

3.  Атрибуты объекта и предоставление данных в программ

4.  Описание программы создания набора данных

5.  Описание программы формирование выходного документа

6.  Описание программы формирование списковой структуры

7.  Технология обработки данных

8.  Заключение

9.  Список литературы

Приложение 1 - Графическое описание данных      

Приложение 2 - Представление данных в памяти ЭВМ

Приложение Рисунок списковой структуры

Приложение 4 – Формат выходного документа     

Приложение 5 – Схема последовательности обработки данных

Приложение 6 Листинг программы


1.  Введение

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

Действительно при помощи Turbo Pascal достаточно не просто создать программу, которая бы демонстрировала работу с базами данных (далее БД). Для этого в настоящий момент существует огромное количество специализированных программ. Но все-таки основу и саму сущность формирования БД при помощи Turbo Pascal, реализовать, возможно.

К сожалению темы курсовых работ, были не произвольными, а выбирались по общим правилам. В связи с этим моей темой стал Справочник «Парфюмерный магазин». Я, конечно, слабовато знаю данную область, но с другой стороны в дальнейшей работе, придется создавать такие программы, предметной области которых я могу не знать совсем. Поэтому я постарался изучить данную предметную область и реализовать ее в программном продукте.


2.  Содержательная постановка и описание задачи

Парфюмерный магазин – это магазин с конкретно ориентированными товарами, предназначенными, в первую очередь, для личной гигиены и уходом за телом.

Программа должна обладать следующими функциями:

–  Удобная справочная система и система подсказок;

–  Возможность добавление в БД нового товара;

–  Возможность поиска по выбранным критериям;

–  Возможность удобной сортировки товаров;

–  Возможность создания отчетности;

–  Возможность удаления ненужного товара.

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

Сортировки товаров в любой БД необходимо уделять особое внимание. Связано это в первую очередь с необходимостью оперативного доступа к требуемой информации из БД.


3.  Атрибуты объекта и предоставление данных в программе

Определим необходимый набор атрибутов. Условно их можно разделить на 3 части:

–  Сортировка – деление на разделы и подразделы;

–  Интерфейс – создание удобного и функционального интерфейса;

–  Функции программы – добавление и удаления товара, поиск и отчетность.

3.1 Сортировка.

Наиболее сложной задачей при создании программы – справочника «Парфюмерный магазин» является создание сортировки товаров.

В настоящий момент существует бесчисленное множество различных Интернет – магазинов. Каждый подобный сайт применяет собственную систему сортировки и навигации. Мы возьмем концептуальную основу деления товаров из различных Интернет источников и попробуем создать свою уникальную систему.

Условно все товары парфюмерного (косметического) магазина, можно разделить на 9 разделов:

–  Уход за лицом;

–  Уход за кожей;

–  Детские товары;

–  Маникюр;

–  Парфюмерия;

–  Уход за телом;

–  Товары для мужчин;

–  Уход за волосами;

–  Другие товары.

3.1.1 Уход за лицом;

В данном разделе представляются товары, предназначенные непосредственно для ухода за лицом. Условно данный раздел можно разделить на 13 подразделов:

–  Гель;

–  Лосьоны и пена;

–  Молочко;

–  Бальзам;

–  Крем;

–  Масло;

–  Маска, скраб;

–  Подводка, карандаш;

–  Румяна, тушь

–  Тени пудра;

–  Помада, маска;

–  Блеск;

–  Другие товары.

3.1.2 Уход за кожей;

В данном разделе представляются товары, предназначенные непосредственно для ухода за кожей. Условно данный раздел можно разделить на 8 подразделов:

–  Гель;

–  Лосьоны и пена;

–  Молочко;

–  Бальзам;

–  Крем;

–  Масло;

–  Другие товары.

3.1.3 Детские товары;

В данном разделе представляются товары, предназначенные непосредственно для детей. На самом деле детям не рекомендуется пользоваться косметикой, по этому подразделов в данном разделе будет всего 3:

–  Ароматы;

–  Крема и мази;

–  Другие товары.

3.1.4 Маникюр;

В данном разделе представляются товары, предназначенные непосредственно для ухода за ногтями. Условно данный раздел можно разделить на 4 подраздела:

–  Крем;

–  Лак;

–  Масло;

–  Другие товары.

3.1.5 Парфюмерия;

В данном разделе представляются парфюмерные товары:

–  Туалетная вода;

–  Духи;

–  Дезодорант;

–  Одеколон;

–  Другие товары.

3.1.6 Уход за телом;

В данном разделе представляются товары, предназначенные непосредственно для ухода за телом. Условно данный раздел можно разделить на 8 подразделов:

–  Гель;

–  Лосьоны и пена;

–  Молочко;

–  Мыло;

–  Бальзам;

–  Крем;

–  Масло;

–  Другие товары

3.1.7 Товары для мужчин;

В данном разделе представляются товары, предназначенные непосредственно для мужчин. Условно данный раздел можно разделить на 8 подразделов:

–  Дезодорант;

–  Одеколон;

–  Гель;

–  Лосьоны и пена;

–  Шампунь;

–  Бальзам;

–  Крем;

–  Другие товары.

3.1.8 Уход за волосами;

В данном разделе представляются товары, предназначенные непосредственно для ухода за волосами. Условно данный раздел можно разделить на 9 подразделов:

–  Гель;

–  Мыло;

–  Шампунь;

–  Кондиционер;

–  Бальзам;

–  Спрей;

–  Лак;

–  Блеск;

–  Другие товары.

3.1.9 Другие товары.

Всех товаров не учтешь, особенно с современным, довольно бурным развитием сферой парфюмерии и косметики. В связи с этим необходим раздел, в котором можно добавлять, то новое, что может появиться со временем. Но даже в данном разделе было создано 3 подраздела:

–  Бижутерия;

–  Технические средства;

–  Другие товары.

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

В итоге сортировка предусматривает деление на разделы и подразделы. Каждый товар должен находиться только в одном определенном разделе и соответственно подразделе. Когда пользователю появится необходимость найти нужный ему товар не обязательно прибегать к поиску, т.к. условия поиска не всегда удобно записать, достаточно определится к какому разделу, относится товар, который необходимо найти. Очень важную роль при этом необходимо отвести к заполнению БД. Товары должны быть грамотно занесены в БД и тогда проблем при поиске нужного товара, недолжно возникать.


3.2 Интерфейс

При создании вышеуказанной сортировки необходимо создать интерфейс пользователя, обладающий следующими свойствами:

-  Удобство;

-  Простота;

-  Интуитивно понятная навигация;

-  Отсутствие «захламленности».

    Поставленную задачу можно решить следующим образом:

-  Создание разметки экрана – линии, которые должны разделять экран, для его целесообразного размещения;

-  Создание кнопок управления – как у большинства подобных справочников внизу экрана отображаются кнопки управления, доступные в определенный момент;

-  Создание меню разделов и подразделов, при чем так чтоб пользователь при помощи курсора мог осуществить навигацию по разделам и подразделам, а не нажимать цифры меню;

-  Создание справочной системы и системы подсказок;

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

3.3 Функции программы

Данная программа – справочник должна обладать следующими функциями (помимо сортировки и навигации, которые  описаны ранее):

-  Добавление нового товара в БД;

-  Поиск нужного товара по заданным критериям;

-  Создание отчетности по заданным критериям;

-  Удаление ненужного товара;


3.4 Поля объекта

Основным объектом в данной программе является товар, все остальные объекты в программе так или иначе связаны с товаром.

Как показало изучение предметной области, критерии товаров должны быть следующими:

-  Код товара – целое число, которое должно быть уникальное для каждого товара, т.е. не повторятся;

-  Раздел – целое число, которое свидетельствует о принадлежности к определенному разделу, каждое из которых имеет свой уникальный номер;

-  Подраздел - целое число, которое свидетельствует о принадлежности к определенному подразделу, каждое из которых имеет свой уникальный номер;

-  Название – строковое данное, характеризует общее название товара;

-  Серия – это строковое данное, характеризует принадлежность товара к определенной серии;

-  Производитель - строковое данное, описывает название производителя;

-  Описание - строковое данное, которое описывает товар более подробно;

-  Цена товара – это строковое данное указывает цену товара. Цена товара будет именно строковым данным, сделано это для того, чтоб не указывать валюту (рубли, У.Е., евро, доллар США и т.д.) и деление на рубли и копейки.


4.  Описание программы создания набора данных

В данной программе записью будет являться товар, а полями записи будет информация о товаре. Поля товаров описаны в п. 3.4.

4.1 Программная организация записи

Программная организация записи описывается следующим образом:

Baza:record

    FKod:integer;

    FRazdel;

    FPodRazdel;

    FName:string;

    FSeria:string;

    FProizvod:string;

    FOpisan:string;

    FMany:string;

    FSim:string; - символ разделитель в БД

End;

4.2 Файлы данных

Файлов данных работающих с программой можно разделить на основные и вспомогательные.

К основным относятся:

-  bd.dat;

-  Razdel.dat.

К вспомогательным относятся:

-  Kod.dat;

-  help.dat;

-  BDVR.DAT.

4.2.1 bd.dat – это основной файл БД. В данном файле хранится информация о товарах. Каждая позиция товаров хранится в отдельной строке, и товары разделены символом «*».

Пример хранение информации о товаре:

1 – код товара;

1 – раздел «Уход за лицом»;

1 – подраздел «Гель»;

Гель для лица – название товара;

Власть над временем – Серия товара;

Oriflame – производитель;

Гель для лица, замедляющий процесс старения кожи. Почувствуйте моментальный эффект лифтинга. – Описание товара;

200.25 – цена товара;

* - символ разделитель.

4.2.2 Razdel.dat – это файл, хранящий разделы и подразделы. В первой строке стоит код раздела и подраздела, а за ней стоит название раздела и подраздела и т.д.

Пример:

7

Дезодорант

Это запись означает, что в седьмом разделе есть подраздел «Дезодорант»

4.2.3 Kod.dat – это файл, хранящий коды товара. При создании нового товара программа считывает последний код, увеличивает на единицу и сохраняет в файле. Таким образом, код каждого товара уникален.

4.2.4 help.dat – файл справки.

4.2.5 BDVR.DAT – это файл временной БД. Этот файл необходим при удалении товара, когда товары переносятся во временный файл. За исключением удаленного товара, а затем основной файл БД перезаписывается.


5.  Описание программы формирование выходного документа

К выходным документам относятся:

-  Вывод информации на экран;

-  Вывод информации в файл.

5.1 Вывод информации на экран

Пример формирования выходного документа на экран см. в приложении 4 рис. 2

Экран в данной программе состоит из пяти частей:

–  Заголовок. Заголовок находится в верхней части экрана и показывает, в каком разделе пользователь находится в настоящий момент. Так же при выборе пользователем подраздела в правой части заголовка выводится количество позиций (товаров) в данном подразделе.

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

–  Подсказка. Подсказки находятся в левой части экрана под Меню. Здесь отображается клавиши управления для навигации по программе.

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

1)  Помощь F1;

2)  Новый F2;

3)  Поиск F3;

4)  Отчет F4;

5)  Удалить F5;

6)  Назад PageUp;

7)  Далее PageDown;

8)  Выход F10.

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

5.2 Вывод информации в файл

Информация в файл выводится при создании файла отчета. Отчет создается по двум критериям:

–  По текущему товару;

–  По текущему подразделу.

Данная опция доступна только при условии, что пользователь находится в режиме работы с товарами. Т.е. пользователь выбрал требуемый подраздел и нажал ввод.

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

Пример формирования выходного документа в файл см. в приложении 4 рис. 7.


6 Описание программы формирование списковой структуры

6.1 Область применения списковой структуры

Списковая структура применяется для передвижения по товарам внутри подраздела. Когда пользователь входит в подраздел формируется запрос, результатом которого будут товары, найденные в БД, каждый из которых, будет соответствовать выбранным пользователем раздела и подраздела. Причиной необходимости использования динамической структуры явилось то, что при программировании не известно какое количество товаров будет в выбранном разделе и подразделе. По этому, когда находится очередной товар, удовлетворяющий выбранному пользователем разделом и подразделом, код этого товара просто добавляется в список. А на экран выводится  товар, код которого последний в списке.

6.2 Принцип работы

В данной программе работу с динамическим списком можно охарактеризовать в виде стека. Общий принцип работы следующий:

–  Когда пользователь выбирает нужный ему подраздел, программа ищет в файле БД первый товар, если таковой вообще существует, который удовлетворяет выбранному пользователем разделу и подразделу и код этого товара добавляется в динамический список – стек.

–  Далее программа выводит на экран информацию о товаре, код которого находится в вершине стека.

–  При нажатии пользователем клавиши PageDown, вновь осуществляется поиск товара в БД, который соответствует выбранному пользователем разделу и подразделу, но уже программа проверяет, не находится ли код этого товара уже в стеке. Если нет, то код товара добавляется в стек и на экран выводится товар, код которого находится в вершине стека, т.е. зашедший в стек последний. При повторном нажатии на PageDown, проделывается все то же самое.

–  Если нажата клавиша  PageUp, то код товара, который является вершиной стека, просто удаляется и вершиной стека становится, уже предыдущий код товара, если, конечно же, это был не первый товар. А далее, как и в случае с PageDown выводится товар, код которого находится в вершине стека.

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

6.3 Процедуры, используемые при работе со списком.

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

При работе со списком используются следующие функции:

–  Чтение элемента из списка;

–  Добавление элемента в список;

–  Поиск элемента в списке;

–  Удаление элемент из списка.

6.3.1 Описание списка

Type

    Integ=^integer;

    Int:integer; {код товара}

    Next:integ; {ссылка на следующий элемент}

end;

6.3.2 Чтение элемента из списка

В данном разделе указатель перемещается на последний элемент и считывается хранящийся там код товара. Далее, с этим кодом товара происходит либо, какое то сравнение, условие, либо присваивается некоторой переменной, либо удаляется код из списка.

6.3.3 Добавление элемента в список

Добавление кода товара в список происходит в процедуре AddSpisok, алгоритм которой заключается в следующем (Приложение 5, схема 12):

–  Создается новый элемент;

–  Записывается код товара из файла в список;

–  Устанавливается указатель для поддержания целостности списка;

6.3.4 Поиск элемента в списке

Поиск осуществляется в процедуре PoiskFPR. Алгоритм поиска заключается в следующем:

–  Переход на последний элемент списка – вершину стека;

–  До тех пор пока не конец стека делать;

–  Если текущий код товара из файла БД равен коду товара из списка, то условие выполнено, если нет, то считывается следующий элемент из списка и т.д.

6.3.5 Удаление элемента из списка.

Удаления кода товара из списка происходит в процедуре DelSpisok, в данной процедуре удаляется только последний элемент, который являлся вершиной стека, алгоритм данной процедуры  заключается в следующем:

–  Переход на последний элемент списка – вершина стека;

–  Создание связи, со следующим элементом;

–  Удаление элемента;

–  Присваивание нового последнего элемента.


7 Технология обработки данных

Последовательность операций с данными заключается в следующем (приложение 5 схема 1):

–  Создания разметки экрана (Приложение 4, рисунок 1);

–  Создания и управление разделами и подразделами;

–  Выбор режима работы;

–  Вывод на экран товаров соответствующих разделу и подразделу;

–  Операции над товарами;

7.1 Разметка экрана.

Разметка экрана реализуется при помощи процедуры Shapka. В данной процедуре реализуется следующее (приложение 5, схема 2):

–  Создаются линии, которые разделяют экран;

–  Создаются копки управления – кнопки управления с доступными функциями. Если на определенном этапе работы кнопка имеет серый цвет, то данная функция недоступна;

–  Создается заголовок – раздел экрана, в котором выводится название раздела, в котором пользователь работает в настоящий момент;

–  Создаются окно подсказки – в данном окне выводятся подсказки для пользователя, необходимые для работы в определенный момент.

7.2 Управление разделами и подразделами.

Управление разделами и подразделами реализовано в процедуре Perem, следующим образом:

–  Вывод на экран разделов или подразделов;

–  Перемещение внутри раздела или подраздела;

–  Выбор режима работы.

7.2.1 Вывод на экран разделов или подразделов.

Данный раздел осуществляется при помощи процедуры PodRazdel. Реализация в данной процедуре происходит следующим образом (приложение 5, схема 3):

–  Открытие файла razdel.dat для чтения. В данном файле содержится название всех разделов и подразделов и специальные коды для распознавания (структуру файла см. п. 4.2.2).  Например, если стоит код 0, то данная позиция относится к разделу, и будет выводиться только, в случае отображение разделов. Если стоит единица, то это означает, что данный подраздел соответствует первому разделу и т.д.

–  Программа, считывает доступные разделы и подразделы из файла, который находится в корневой папке с программой и добавляет их в массив PodRaz. Если программа только запущенна, то выводятся разделы из файла имеющие код 0, если, к примеру, выбран раздел «детские товары», то из файла разделов считываются подразделы, которым соответствует код 3.

–  Закрытие файла.

–  Вывод элементов меню. Вывод элементов меню осуществляется из массива PodRaz и каждый элемент массива закрашивается определенным цветом. Первоначально первый пункт белым цветом, а остальные зеленым.

7.2.2 Перемещение внутри раздела или подраздела.

Операции по перемещению заключаются в следующем (приложение 5, схема 4):

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

–  Пользователю предлагается ввести при помощи курсора направления перемещения.

–  Если, пользователь выбрал направление вниз, то текущий элемент меню становится зеленым, а элемент стоящий внизу, становится белым, и программа запоминает новую текущую строку. Если вверх, то соответственно, текущий становится зеленым, а верхний белым, при условии что это не первый пункт меню.

–  При работе с разделами и подразделами  у пользователя есть еще три допустимых операций: помощь, поиск и вход (см. п. 7.3).

7.3 Выбор режима работы.

Во время перемещения по позициям меню пользователю доступны три операции (Приложение 5, схема 5):

–  Помощь;

–  Поиск;

–  Вход.

7.3.1 Помощь.

Вход в режим справки осуществляется по нажатию клавиши F1 (Приложение 4, рисунок 3).

Данная операция реализована в процедуре Help, следующим образом (приложение 5, схема 8):

–  Открывается файл help.dat для чтения. Данный файл содержит справочную информацию о работе с программой.

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

–  По завершению работы с файлом справки, он закрывается и на экран выводится разметка,  разделы или подразделы, для дальнейшего выбора пользователем.

7.3.2  Поиск.

В ход в режим поиска осуществляется по нажатию клавиши F3 (Приложение 4, рисунок 5).

Данная операция реализована в процедуре Poisk, следующим образом (приложение 5, схема 7):

–  Пользователю предлагается выбрать, по каким условиям будет осуществлен поиск: по серии товара, по производителю, или по названию.

–  Далее пользователю предлагается ввести текст для поиска.

–  После ввода текста поиска, программа открывает файл BD.dat для чтения.

–  Далее происходит считывание каждой позиции из БД и сравнение с введенным текстом.

–  Если очередная позиция товара соответствует условию поиска, то алгоритм приостанавливается и данный товар выводится на экран при помощи процедуры Tablo (см. п. 7.4.4), и поиск дальнейших товаров продолжается лишь, после того как будет нажата клавиша Page Down (Далее);

–  После завершения поиска файл БД закрывается и на экран выводится сообщение, что больше совпадений не найдено.

–  Далее на экран выводится разметка и элементы меню для дальнейшей работы.

7.3.3 Вход.

Вход в данный режим осуществляется, после того как пользователь перешел на нужный раздел и подраздел и нажал клавишу Enter.

Обработка действий при нажатии клавиши Enter, осуществляется в процедуре Vhod. Алгоритм данной процедуры заключается в следующем (приложение 5, схема 6):

–  Проверяется, если открыт подраздел, а не раздел, то выводится на экран товары данного подраздела. Данный пункт осуществляется при помощи процедуры Vivod (см. п. 7.4);

–  Если открыт, радел, то программа считывает, какой раздел был выбран и в зависимости от выбора раздела программа определяет подразделы, которые соответствуют выбранному пользователем разделу. Реализуется данная операция при помощи процедуры Podrazdel (п. 7.2.1);

–  Если открыт режим подразделов и нажата клавиша Backspace, то на экран выводятся разделы.

7.4 Вывод на экран товаров соответствующих разделу и подразделу.

Вывод товаров на экран осуществляется, после того как пользователь нажмет клавишу Enter на нужном подразделе (Приложение 4, рисунок 2). Данная операция реализована в процедуре Viviod, алгоритм которой заключается в следующем (приложение 5, схема 9):

–  Считывается количество товаров в данном подразделе. Данная операция осуществляется в процедуре Schet (см. п. 7.4.1);

–  Считывается первый товар из подраздела и код первого товара добавляется в список (см. в п. 6.3.3). Данная операция реализована в процедуре PR (см. п. 7.4.2);

–  Вывод на экран товара соответствующего последнему, коду товара из списка, реализуется данная операция в процедуре WriteSpisok (см. в п. 7.4.4). Таким образом, на экране выводится первый товар из БД, соответствующий разделу и подразделу.

–  Далее пользователю предлагается выбрать дальнейшие действия, которые можно разделить на передвижение и операции. Об операциях над товарами более подробно будет описано в п. 7.5, а передвижение, в случае, если товаров более одного, осуществляется при помощи клавиш Page Up (назад), Page Down (вперед);

–  Если нажата клавиша Page Down, то программа ищет в БД следующий товар, который соответствует, разделу и подразделу (если они вообще существуют), но с условием, что ранее показанные товары отображаться не будут, т.е. те товары, коды которых находятся в списке. Данная операция реализована в процедуре PoiskFPR (см. п. 7.4.3, поиск в списке см. п. 6.3.4);

–  После того как найден очередной товар, соответствующий разделу и подразделу и он ранее не был отображен, то код этого товара добавляется в список. Реализовано данная операция в процедуре AddSpisok (см. в п. 6.3.3);

–  Далее на экран выводится товар с кодом товара, записанным последним в список. Реализована данная операция при помощи процедуры WriteSpisok (см. п. 7.4.4);

–  Если нажата клавиша PageUp, то проверяется, не первый ли это товар, в данном разделе и подразделе.  Если нет, то удаляется последний элемент из списка  (процедура DelSpisok, см. в п. 6.3.5) и выводится товар, с кодом товара, который теперь уже стал первым (процедура WriteSpisok, см. п. 7.4.4);

–  По мимо передвижения доступны и другие функции, которые будут описаны в п. 7.5.

7.4.1 Процедура Schet.

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

–  Обнуляется счетчик;

–  Открываем файл БД для чтения;

–  Считывается очередной товар;

–  Если раздел и подраздел очередного товара, соответствуют выбранному пользователем разделу и подразделу, то счетчик увеличивается на единицу;

–  Закрываем файл БД

7.4.2 Процедура PR.

Данная процедура добавляет код первого товара в список. Реализовывается данная процедура следующим образом (приложение 5, схема 11):

–  Открывается файл для чтения;

–  Считывается очередной товар;

–  Если раздел и подраздел очередного товара, соответствуют выбранному пользователем разделу и подразделу, то добавляем код товара в список, используя процедуру AddSpisok (см. в п. 6.3.3).

7.4.3 Процедура PoiskFPR.

Данная процедура ищет товар, соответствующий разделу и подразделу, выбранным пользователем, с условием, что код этого товара не занесен в список, т.е. уже был выведен на экран. Реализуется данная процедура следующим образом (приложение 5, схема 13):

–  Открывается файл БД;

–  Считывается очередной товар;

–  Если раздел и подраздел очередного товара, соответствуют выбранному пользователем разделу и подразделу, то проверяется, является ли код данного товара в списке, т.е. осуществляется поиск в списке (см.п. 6.3.4).

–  Если код текущего товара из БД отсутствует в списке, то процедура прерывается. И затем код этого товара добавляется в список (процедура AddSpisok п. 6.3.3).

7.4.4 Процедура WriteSpisok.

Данная процедура выводит товар на экран. Реализована она следующим образом (приложение 5, схема 9):

–  Выводит в верхнюю часть экрана общее количество товаров в подразделе;

–  Открывается файл БД для чтения;

–  Считывается последний код товара из списка;

–  Поиск в БД и вывод на экран, товара с кодом из списка.  Вывод на экран осуществляется при помощи процедуры Tablo. В данной процедуре отсутствуют, какие либо циклы или условия, там лишь вывод в необходимую координату экрана текста из БД, по этому останавливаться на данной процедуре нет смысла.

–  Закрытие файла БД.

7.5 Операции над товарами.

При работе с товарами доступны следующие операции:

–  Новый товар в текущий раздел и подраздел;

–  Отчет;

–  Удалить товар.

7.5.1 Новый товар в текущий раздел и подраздел.

Данная операция вносит информацию о новом товаре в текущий раздел и подраздел (Приложение 4, рисунок 4). Реализована данная операция при помощи процедуры NewTovar, алгоритм которой заключается в следующем (приложение 5, схема 4):

–  На экране появляется форма для заполнения информации о товаре;

–  После ввода информации у пользователя спрашивают, сохранить или нет.

–  Если нажата, кнопка сохранить, то открывается файл для чтения kod.dat.

–  Из выше указанного файла считывается последний внесенный код товара.

–  Файл kod.dat, находящийся в режиме чтения, закрывается;

–  Файл kod.dat открывается в режиме добавления;

–  Последний считанный код товара увеличивается на единицу и последний сохраняется в файл;

–  Файл kod.dat закрывается;

–  Открывается файл БД в режиме добавления и в конец файла добавляется новый товар;

–  Закрывается файл БД;

–  На экран выводится разметка и подразделы.

7.5.2 Отчет.

Описание создание отчетов описано в п. 5.2. Реализована  функция создания отчетов в процедуре PrintF, алгоритм которой заключается в следующем (приложение 5, схема 16):

–  Выбор критерий отчета: по текущему товару или по текущему подразделу (Приложение 4, рисунок 6);

–  Пользователю предлагается ввести имя файла, в который будет сохранен отчет (Файл будет сохранен в корневой каталог с программой, и будет иметь расширение txt);

–  Создание файла с вышеуказанным именем и расширением;

–  Если выбрана по текущему подразделу, то все товары того подраздела, в котором пользователь находится в настоящий момент, будут сохранены в файл отчета, если текущий товар, то в файл отчета будет сохранен только товар, открытый в настоящий момент;

–  По окончании выводится последний, просматриваемый товар.

7.5.3 Удалить товар.

Реализована  функция удаления товара в процедуре Del, алгоритм которой заключается в следующем (приложение 5, схема 15):

–  У пользователя уточняется, действительно ли он хочет удалить товар;

–  Если да то открывается файл БД для чтения и открывается временный файл в режиме перезаписи;

–  Каждый элемент из БД копируется во временный файл, за исключением того которого, хотят удалить, т.е. того код, которого находится в вершине списка;

–  Закрываются оба файла;

–  Открытие файла БД в режиме перезаписи и временного файла в режиме чтения;

–  Вся информация из временного файла, целиком копируется в файл БД;

–  Файлы закрываются;

–  Выводится сообщение, что запись удалена;

–  Обновление информации на экране.


Заключение

Подведем итог того, что все-таки удалось в данном курсовом проекте:

–  Удалось создать неплохую сортировку, что облегчает работу с товарами, на мой взгляд, эта основа любой БД;

–  Удалось создать достаточно простой и интуитивно понятный интерфейс, без каких либо излишеств;

–  В программе реализованы основные функции работы с БД – удаление, добавление, отчетность, поиск;

–  Показано когда, какая функция доступна;

–  Отражено, в каком разделе осуществляется работа, т.к. некоторые разделы содержат одинаковые подразделы и можно запутаться;

–  Существует справочная система и система подсказок. Хотя над справкой можно было еще поработать;

–  Достаточно простое управление товарами;

Конечно, можно было еще поработать над справкой, отчетами и поиском. Действительно отчет всего по двум критериям, для БД конечно маловато, и достаточно примитивный поиск. Но, подводя итог можно сказать, что основная цель, на мой взгляд, все-таки выполнена, эти функции показаны и реализованы.

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

В итоге конечная цель все-таки достигнута. Была создана универсальная БД со всем набором необходимых функций. Конечно же, в Turbo Pascal достаточно сложно создавать БД и БД получаются достаточно примитивные, но принцип создания БД, описан очень хорошо.


Список литературы

9.1 Учебное пособие. «Структуры и алгоритмы обработки данных в ЭВМ», А. Н. Горитов, г. Томск

9.2 Самоучитель. «Программирование в Turbo Pascal», Н. Культин.

9.3 Открытие Интернет источники.


Приложение 1 - Графическое описание данных

                                                 Разделы

                  

Подразделы у каждого раздела
  


                                                Товара у каждого подраздела


Схема 1 – Общая схема описания хранения данных

Каждый раздел имеет иерархическою структуру представленную на схеме 2

Раздел

 
                                     


Схема 2 – структура раздела


Приложение 2 - Представление данных в памяти ЭВМ

nomer:integer; - 2 байта;

i:integer; - 2 байта;

ch:char; - 1 байт;

Rozd:string; - 2 байта;

nabor:integer; - 2 байта;

men:array[1..16] of integer; - 2х16 - 32 байта;

strok:integer; - 2 байта;

lom:integer; - 2 байта;

vof:boolean; - 1 байт;

Razdel:integer; - 2 байта;

PodRazd:integer; - 2 байта;

MRazdel:integer; - 2 байта;

ScetRP:integer; - 2 байта;

hod:integer; - 2 байта;

kolvo:integer; - 2 байта;

Text1:string[19]; - 2 байта;

Text2:string[19]; - 2 байта;

Text3:string[19]; - 2 байта;

Text4:string[19]; - 2 байта;

f1:integer; - 2 байта;

f2:integer; - 2 байта;

f3:integer; - 2 байта;

f4:integer; - 2 байта;

f8:integer; - 2 байта;

pd:integer; - 2 байта;

pu:integer; - 2 байта;

f10:integer; - 2 байта;

Prin:boolean; - 1 байт;

Fsim:string; - 2 байта;

FKod:integer; - 2 байта;

FRazdel:integer; - 2 байта;

FPodRazdel:integer; - 2 байта;

FName:String; - 2 байта;

FSeria:string; - 2 байта;

FProizvod:string; - 2 байта;

FOpisan:string; - 2 байта;

FMany:string; - 2 байта;

MainName:string; - 2 байта;

PodRaz:array[1..16] of string; - 2 х 16 – 32 байта;

z:integer; - 2 байта;

d:string; - 2 байта;

opis1:string; - 2 байта;

opis2:string; - 2 байта;

opis3:string; - 2 байта;

Good,Nal:boolean; - 1 байт;

zed:integer; - 2 байта;

fname1:string; - 2 байта;

fname2:string; - 2 байта;

fname3:string; - 2 байта;

kod:integer; - 2 байта;

hod:integer; - 2 байта;

punkt:integer; - 2 байта;

NSP:string; - 2 байта;

fol:integer; - 2 байта;

k:string; - 2 байта;

n:integer; - 2 байта;

В итоге 168 байт.


Приложение 3 - Рисунок списковой структуры

Страницы: 1, 2


© 2010 САЙТ РЕФЕРАТОВ