Создание электронной базы данных
Автор работы: Пользователь скрыл имя, 08 Июня 2014 в 19:35, курсовая работа
Краткое описание
Базовыми компонентами система программирования Турбо Паскаль являются компилятор языка Паскаль, средства создания и редактирования исходных текстов программ и средства их отладки (поиска и исправления ошибок). Все эти компоненты объединены в единую интегрированную среду разработчика, с которой работает программист, создавая свои программы.
Запись представляет собой совокупность ограниченного числа логически связанных компонент, принадлежащих к разным типам. Компоненты записи называются полями, каждое из которых определяется именем. Поле записи содержит имя поля, вслед за которым через двоеточие указывается тип этого поля.
Содержание
ВВЕДЕНИЕ 2
НАЗНАЧЕНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ 3
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ 3
2.1. Постановка задачи 3
2.2. Описание программы и алгоритма программы с
описанием функций и составных частей и связей между
ними . Описание входных и выходных данных 3
2.3. Выбор состава технических и программных средств 8
3. ИСТОЧНИКИ, ИСПОЛЬЗОВАННЫЕ ПРИ РАЗРАБОТКЕ 9
РАЗРАБОТКА ПРОГРАММЫ 9
ТЕСТИРОВАНИЕ ПРОГРАММЫ 9
ВНЕДРЕНИЕ 10
ЗАКЛЮЧЕНИЕ 11
СПИСОК ЛИТЕРАТУРЫ 12
Прикрепленные файлы: 1 файл
Курсовая работа-аэропорт-2.doc
— 215.50 Кб (Скачать документ)СОДЕРЖАНИЕ
ВВЕДЕНИЕ 2
- НАЗНАЧЕНИЕ И ОБЛАСТЬ
ПРИМЕНЕНИЯ
3 - ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
3
2.1. Постановка
задачи
2.2. Описание программы и алгоритма программы с
описанием функций и составных частей и связей между
ними . Описание входных
и выходных данных
2.3. Выбор состава технических и программных средств 8
3. ИСТОЧНИКИ, ИСПОЛЬЗОВАННЫЕ
ПРИ РАЗРАБОТКЕ
- РАЗРАБОТКА ПРОГРАММЫ
9 - ТЕСТИРОВАНИЕ ПРОГРАММЫ
9 - ВНЕДРЕНИЕ
10 - ЗАКЛЮЧЕНИЕ 11
- СПИСОК ЛИТЕРАТУРЫ 12
Приложение 1. Листинг программы. 13
Приложение 2. Результат работы. 21
Приложение 3. Схема алгоритма. 22
ВВЕДЕНИЕ
Для решения заданной задачи используется язык Турбо Паскаль. Язык Турбо Паскаль – это один из самых распространенных языков программирования микрокомпьютеров.
Язык Турбо Паскаль очень быстро компилирует программу, объединяет компилятор с интерактивным экранным редактором, предупреждает об ошибках на уровне исходной программы, позволяет рисовать в графическом режиме разные элементы конструкции и т.д.
Базовыми компонентами система программирования Турбо Паскаль являются компилятор языка Паскаль, средства создания и редактирования исходных текстов программ и средства их отладки (поиска и исправления ошибок). Все эти компоненты объединены в единую интегрированную среду разработчика, с которой работает программист, создавая свои программы.
Запись представляет собой совокупность ограниченного числа логически связанных компонент, принадлежащих к разным типам. Компоненты записи называются полями, каждое из которых определяется именем. Поле записи содержит имя поля, вслед за которым через двоеточие указывается тип этого поля. Поля записи могут относиться к любому типу, допустимому в языке Паскаль, за исключением файлового типа.
Описание записи в языке Паскаль осуществляется с помощью служебного слова record, вслед за которым описываются компоненты записи. Завершается описание записи служебным словом end.
Данная курсовая работа представляет собой работу с базами данных (БД) на языке Турбо Паскаль.
1. НАЗНАЧЕНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ
Программа предназначена для облегчения труда рабочего персонала аэропорта.
Программа настроена на работу с вылетом самолета для нескольких рейсов.
В самолете максимальное количество мест равно 20.
2. ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
2. 1. ПОСТАНОВКА ЗАДАЧИ
Разработать алгоритм и построить приложение справочной службы аэропорта. Программа должна обладать следующей функциональностью: добавление, удаление, редактирование, просмотр информации о проданных местах на весь месяц, просмотр информации о количестве свободных мест на заданное число, просмотр информации о проданных местах на заданное число, выход. Программа должна выдавать справки об авиарейсах из Москвы в Санкт-Петербург. Программа должна распределять свободные билеты автоматически на вновь обратившихся пассажиров. Доступен один самолет в одном направлении на 20 мест.
При загрузке программы данные о пассажирах с жесткого диска должны попадать в оперативную память, где над ними производятся вышеперечисленные операции. При закрытии программы, данные должны сохраняться на жестком диске. Среда разработки: Turbo Pascal 7/0.
2.2. Описание программы и алгоритма программы с описанием функций и составных частей и связей между ними. Описание входных и выходных данных.
В программе были использованы следующие константы: RD – означает чтение из файла, WR – запись в файл, Pp – массив строк (наименования пунктов главного меню прогр.), Ai – массив строк (наименования пунктов подменю программы), Max – Максимальное количество мест на самолет.
А также были использованы:
- типы записи: “Dt” – дата вылета самолета (рейса), “Kl” – данные о пассажире, “Reis” – данные рейса.
- глобальные переменные:
- Rs (переменная типа Reis) - хранится информация по текущему рейсу, с которым идет работа.
- F (переменная типа File) – описание файла, где будет храниться информация о рейсе.
- R_d (переменная целого типа) – день рейса.
- R_m (переменная целого типа) – месяц рейса.
- Ss (переменная строкового типа) – путь к текущему каталогу.
При работе в программе с уже созданным рейсом входными данными в программе является массив записей (тип RECORD) – это структура данных, состоящая из фиксированного числа компонент, называемых полями. Полями в массиве записей “Дата рейса” в данной программе являются: d, m, g, где: d – день рейса, m – месяц рейса, g – год рейса.
Полями в массиве записей “Пассажир” в данной программе являются: F, P, M, где: F – фамилия пассажира, P – паспорт пассажира, M – номер места в самолете.
Полями в массиве записей “Рейс” являются: Sv, Ps, K, D, где: Sv – свободные номера в самолете, Ps – массив записей - данные о пассажирах текущего рейса, K – количество пассажиров в самолете, D – дата рейса.
Данные хранятся в переменной “Rs” типа “Reis” в файле в текущей директории и папке, откуда был произведен запуск файла “AIRO_MOS.EXE”. Наименование файла с данными формируется из даты рейса (вылета самолета), которую вводил пользователь. Входные данные можно представить в виде следующей схемы:
Выходными данными является также переменная “Rs” типа “Reis”. С исходными данными в процессе выполнения программы могли быть выполнены следующие действия: добавление данных, удаление, редактирование, просмотр информации по разным параметрам.
Теперь опишем используемые процедуры.
- Procedure Enter; - выполняется в конце процедур - пунктов меню. Выводит на экран сообщение об ожидании нажатия клавиши Enter и ждет нажатие соответствующей клавиши.
- Procedure InfoFile(W_R:integer); - процедура записи/чтения в/из файл(а) информации. Записывает данные из Rs в файл и получает данные из файла в Rs. Входным параметром является W_R. Может принимать значения: RD-чтение и WR-запись, где RD и WR – это константы. Если процедуре был передан параметр RD, то с помощью процедуры reset файл открывается для чтения, SizeOf(Rs) определяет размер блока, который нужно использовать при передаче данных. Параметр F – переменная файлового типа, связанная с внешним файлом (где хранится база данных), с использованием процедуры Assign. Затем процедура BlockRead1 считывает данные из файла в Rs. Если процедуре был передан параметр WR, то с помощью процедуры rewrite создается и открывается новый файл. Процедура BlockWrite записывает данные из Rs в файл. По окончании всех действий процедурой Close закрывается ранее открытый файл.
- Procedure Out; - процедура вывода данных о всех пассажирах текущего рейса на экран. На экране данные отображаются по одному пассажиру. Внизу экрана выводится подсказка, которая говорит, как перейти на предыдущую или следующую информацию о пассажире (управляется с помощью клавиш управления курсором стрелки влево или вправо). Выход из просмотра реализуется с помощью нажатия клавиши ESC. Рассмотрим переменные, используемые в данной процедуре: i: integer; (переменная целого типа) – используется в качестве счетчика пассажиров в массиве, Key: char; (переменная символьного типа) – используется для получения кода нажатой клавиши.
- Procedure Prosmotr(z,z2:integer); - процедура просмотра свободных мест и информации о пассажирах. Если входной параметр z равен 0, то вызывается процедура Out, которая выводит информацию о пассажирах, иначе – выводятся номера всех свободных мест данного рейса. Переменная j используется в качестве счетчика цикла “for”. По окончании всех действий выполняется процедура Enter, назначение которой было рассмотрено выше.
- Procedure Add; - процедура добавления данных о новом пассажире в БД. Если количество пассажиров в БД не равно максимальному количеству Max, то данные можно добавлять в БД, иначе будет выдано соответствующее сообщение на экран, и выход на конец процедуры. Затем вводятся данные о пассажире и с помощью процедуры InfoFile записываются в файл. По окончании всех действий выполняется процедура Enter.
- Procedure Del; - Процедура удаления пассажира из самолета (освобождения места). Сначала проверяется на наличие данных в БД, затем запрашивается у пользователя номер места в самолете, который требуется освободить. Количество пассажиров Rs.K уменьшается на 1, а сами данные сдвигаются снизу вверх, затирая выбранную запись для удаления. Рассмотрим назначения переменных, используемых в данной процедуре: 1) переменная целого типа I – счетчик, который увеличивается с шагом 1, если его значение превысит значение Rs.K, то произойдет выход из цикла for; 2) переменная целого типа j – порядковый номер удаляемого пассажира. После удаления из БД, измененные данные записываются в файл процедурой InfoFile. По окончании всех действий выполняется процедура Enter.
- Procedure Izm; - процедура редактирования выбранного пассажира в БД. Сначала проверяется на наличие данных в БД (if Rs.K=0), затем запрашивается у пользователя номер места. Если номер места найдено в самолете, то на экран выводится текущее значение каждого поля найденной записи и вместо нее вводится другое значение. Рассмотрим назначения переменных: 1) переменная целого типа n – хранит введенный номер места в самолете; 2) переменная целого типа j – счетчик цикла repeat-until, изменяется от 1 до Rs.K (максимальное количество пассажиров данного рейса) с шагом 1; 3) переменная целого типа ff – результат поиска введенного номера места в БД, если такой номер в БД не обнаружен, то переменная ff будет равна false, иначе – true. После редактирования данных в БД измененная информация записывается в файл процедурой InfoFile. По окончании всех действий выполняется процедура Enter.
- Procedure ProsmotrMonth; - процедура просмотра проданных мест за весь месяц. Сначала происходит инициализация исходных данных: массивы M1 и M2, в которых содержится количество дней в каждом месяце и наименование месяцев соответственно. Затем происходит ввод номера месяца, после чего вычисляется соответствующее количество дней в заданном месяце. В цикле “for” на диске ищутся все файлы данного месяца, из них считывается информация о проданных местах и выводится на экран. Переменные I и j используются в качестве счетчиков цикла “for”. Строковая переменная N необходима для формирования имени файла. По окончании всех действий выполняется процедура Enter.
- Procedure PodMenu; - процедура вывода подменю программы на экран. Ожидается нажатие клавиши для дальнейших действий программы (от 1 до 7). Рассмотрим назначения переменных, используемых в данной процедуре: 1) переменная целого типа i – счетчик цикла for; 2) переменная символьного типа key – хранит код нажатой клавиши, может принимать значения от 1 до 7 (номера пунктов меню). Если был выбран седьмой пункт меню или нажата клавиша ESC (код 27), то произойдет выход из процедуры.
- procedure Reisy(z:integer); - процедура создания/поиска рейса. Алгоритм процедуры следующий:
- Сначала вводится месяц рейса. Автоматически после ввода значения справа появляется наименование месяца. Если значение месяца введено верно, то есть лежит в диапазоне от 1 до 12 включительно, то предлагается ввести день рейса, иначе будет выведено на экран соответствующее сообщение.
- После ввода дня рейса проверяется на корректность данных, то есть существует ли такое число текущего года (2006) заданного месяца. Если значение введено неверно, то будет выведено на экран соответствующее сообщение.
- Далее проверяется на корректность введенной даты по условию задания, то есть рейсы должны быть через день, начиная с 1 января.
- Затем формируется наименование файла, в котором будет храниться вся информация о пассажирах и рейсе.
- Если был выбран пункт меню “Создать рейс”, то выполняется инициализация переменных и создается файл. Если был выбран пункт меню “Поиск рейса”, то ищется соответствующий файл по введенной дате рейса. Если файл не найден, то выдается соответствующее сообщение и выход в главное меню программы, иначе – загружается подменю программы.
- Procedure MainMenu; - процедура вывода главного меню программы. Ожидается нажатие клавиши для дальнейших действий программы (1, 2 или 3). Рассмотрим назначения переменных, используемых в данной процедуре: 1) переменная целого типа i – счетчик цикла for; 4) переменная символьного типа key – хранит код нажатой клавиши, может принимать значения 1, 2 или 3. Если был выбран последний пункт меню или нажата клавиша ESC (код 27), то произойдет выход из программы с помощью процедуры halt(0).
- Основная программа. С помощью процедуры GetDir получаем путь текущего каталога, который сохраняется в глобальной переменной ss. Затем выводится главное меню программы. Выход из программы происходит из главного меню по нажатию клавиш Esc или 3.
2.3. Выбор состава технических и программных средств
Технические средства, необходимые для оптимальной работы разработанной программы: Pentium 100MHz/16MB RAM, OS: Windows98,2000,XP, HDD: 100kB свободного места, Наличие файла “AIRO_MOS.EXE”.
Аппаратные средства ЭВМ, используемые при разработке курсовой работы: IBM PC с процессором Intel Pentium III 0,8 GHz; 128МБ ОЗУ; Видеокарта 8МБ ОЗУ int; SVGA (1024 x 768 при 90 Hz) цветной монитор 17" с поддержкой 32 бита на пиксель; 1000 МБ свободного места на диске; Cd-rom, Fdd.
А также: OS: Windows2000, Наличие файлов “ AIRO_MOS.EXE” и “*.BD” в одной директории. Вместо звездочки подразумевается дата рейса, например: 1_1_06.BD или 2_1_06.BD.
3. ИСТОЧНИКИ, ИСПОЛЬЗОВАННЫЕ ПРИ РАЗРАБОТКЕ
При разработке программы информация по процедурам BlockRead и BlockWrite была взята из книги “Дериев И.И., Токарь С.В. Справочник по процедурам и функциям Borland Pascal with Objects 7.0. Киев 1993г.”.
Материал для пункта “Введение” был использован из источника “Белецкий Я. Турбо Паскаль с графикой для персональных компьютеров. Москва 1991г.”.
4. РАЗРАБОТКА ПРОГРАММЫ
- На первом этапе было создано меню.
- На втором этапе – процедура записи и чтение в/из файла.
- На 3-м этапе – процедура ввода данных.
- На 4-м этапе – процедура вывода данных.
- На 5-м этапе – процедура удаления.
- На 6-м этапе – процедура просмотра проданных билетов за месяц.
- На 7-м этапе – процедура просмотра проданных билетов на заданное число.
- На 8-м этапе – процедура просмотра свободных мест на заданное число.
5. ТЕСТИРОВАНИЕ ПРОГРАММЫ
Для проверки правильности работы алгоритма были выполнены следующие действия:
- По номеру пункта должны были выполняться соответствующие процедуры в программе. С помощью пошагового выполнения программы (F8) была произведена проверка.
- Введенные данные должны были записаться в файл.
- Далее была произведена проверка чтения данных из файла. Все ранее введенные данные должны быть отражены на экране компьютера в виде таблицы. Сравнили полученные результаты на компьютере и сделанные вручную. Получили положительный результат.
- Удалили пассажира по номеру места в самолете. Выбрали пункт меню “ 6. Кол-во свободных мест на заданное число”. В списке занятый номер стал свободным.
6. ВНЕДРЕНИЕ
Программа разработана на языке Турбо Паскаль 7.0. Программа предназначена для формирования БД (данных рейсов самолета, вылетавшего в одном направлении из Москвы в Санкт-Петербург, и данных о пассажирах данного рейса). Программа ориентирована на служащих, работающих в аэропорте, которые продают билета на самолет.
Найдите файл “AIRO_MOS.EXE”, установите на него курсор и нажмите Enter. Сначала выводится главное меню программы, где пользователю предлагается создать новый рейс или продолжить работу с уже имеющимся. Пункты меню выбираются по цифровым клавишам: 1, 2, 3. При выборе первого пункта меню пользователь с клавиатуры задает наименование создаваемой новой БД, которой автоматически создается файл на компьютере. Дальше выводится подменю программы, в котором пользователю предлагается сделать выбор из следующих действий:
- 1. Добавить новые данные;
- 2. Удалить данные;
- 3. Изменить данные;
- 4. Проданные места за месяц;
- 5. Проданные места на заданное число;
- 6. Кол-во свободных мест на заданное число;
- 7. Выход в главное меню.
Если был выбран второй пункт главного меню (открыть БД), то дальше предлагается ввести наименование БД для открытия и работы с ней. Если такая БД найдена, то выводится подменю программы. При выборе третьего пункта главного меню программы происходит выход из программы.
Теперь рассмотрим функционал пунктов подменю программы:
- 1. Добавить новые данные – предлагается возможность добавить данные в БД, если есть еще место в БД.
- 2. Удалить данные – вводится номер места, по которому будут найдены данные в БД и удалены, то есть номер в самолете становится свободным.
- 3. Изменить данные - вводится номер места, если запись найдена с таким номером, то пользователь имеет возможность изменить данные этой записи.
- 4. Проданные места за месяц – выводится полная информация о проданных местах за каждый день выбранного месяца.
- 5. Проданные места на заданное число, 6. Кол-во свободных мест на заданное число – осуществляется по двум направлениям: просмотр свободных мест в самолете и просмотр проданных мест в самолете.
- 7. Выход в главное меню - Выход из подменю программы в главное меню.
ЗАКЛЮЧЕНИЕ
В процессе выполнения курсового проекта научилась работать с записями, файлами Турбо Паскаль 7.0. А также научилась реализовывать алгоритмы поиска, добавления, удаления и просмотра информации.