РефератыИнформатикаБаБаза данных Расписание поездов

База данных Расписание поездов

Санкт-Петербургский государственный политехнический университет


Факультет инноватики


Курсовая работа


Дисциплина: Теория и технология программирования


Тема: База данных «Расписание поездов»










Выполнил студент гр. 2221/1

Керсанова Л.В ________________


(подпись)


Селиванова С.В ________________


(подпись)


Преподаватель: к.т.н., доц. Культин Н.Б.
«__» ____________ 2008

Санкт-Петербург


2008


Оглавление


Постановка задачи……………………………………………………………………… 2
Структура данных……………………………………………………………………... 3
Алгоритм……………………………………………………………………………….. 3
Интерфейс……………………………………………………………………………… 6
Процедуры и функции………………………………………………………………… 7
Листинги………………………………………………………………………………... 7
Выводы…………………………………………………………………………………. 9
Литература……………………………………………………………………………... 10

1.
Постановка задачи


Написать программу работы с базой данных «Расписание поездов» (рис. 1).














































Адрес Телефон Район
ДМШ № 19 Рижский пр. д.8 2596342 Адмиралтейский
ДМШ № 31 Наб. Обводного канала д. 123-б 3161201 Адмиралтейский
ДМШ им. Ляховильцкой Садовая ул. д. 32 3100456 Адмиралтейский
Вдохновение 4-я линия д.29 3237377 Василеостровский
ДМШ № 38 ул. Симонова д. 8 5154003 Выборгский
ДМШ им. Бородина пр. Просвещения д. 82 5944645 Калининский
ДМШ № 9 ул. Гладкова д. 3 7865058 Кировский
ДМШ № 41 ул. Косыгина д. 28 5241562 Красногвардейский

Рис. 1.
База данных, представленная в виде таблицы


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


- Подготовку файла данных;


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


- Поиск информации в базе данных;


- Добавление записей в базу данных;


- Взаимодействие с пользователем через меню.


Запрос в базе данных выполняется по району, в котором расположена музыкальная школа. Результатом является вывод на экран полной информации о школах запрашиваемого района (название школы, адрес, телефон).


2. Структура данных


На диске компьютера база данных представляет собой текстовый файл. (Листинг 1).


Листинг 1. Файл данных:


ДМШ № 19


Рижский пр. д.8


2596342


Адмиралтейский


ДМШ № 31


Наб. Обводного канала д. 123-б


3161201


Адмиралтейский


ДМШ им. Ляховильцкой


Садовая ул. д. 32


3100456


Адмиралтейский


Вдохновение


4-я линия д.29


3237377


Василеостровский


ДМШ № 38


ул. Симонова д. 8


5154003


Выборгский


ДМШ им. Бородина


пр. Просвещения д. 82


5944645


В оперативной памяти база данных представлена в виде совокупности массивов:


name:array [1..HB] of string[25];


adres: array [1..HB] of string[60];


phone: array [1..HB] of string[10];


rayon: array [1..HB] of string[20];


3. Алгоритм


Алгоритм программы приведен на рис. 2.












com=1 com=3


com=2






Нет Да







Рис. 2.1.
Алгоритм программы











true








false










Рис. 2.2.
Алгоритм загрузки БД


4.
Интерфейс


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


(Рис. 3.1 – Рис. 3.3)



Рис. 3.1.
Главное меню




Рис. 3.2.
Диалоги ввода информации



Рис. 3.3.
Выполнение запроса


5.
Процедуры и функции


Таблица 1. Процедуры и функции.


































Процедура (функция) Описание Разработчик
FunctionMenu Меню базы данных Керсанова Л.В.
ProcedureLoadDB Загрузка БД из файла Керсанова Л.В
ProcedureShowDB Просмотр информации Керсанова Л.В
ProcedureSearchDB Поиск в БД Селиванова С.В
ProcedureAddDB Добавление данных в БД Керосанова Л.В
ProcedureSave Сохранение БД

СелтвановаС.В


Оформительская работа Оформление отчета Селиванова С.В

6. Листинги


В листингах приведены процедуры загрузки БД из файла, просмотра информации, поиска в БД и добавления информации в БД.


Листинг 6.1.
Процедура загрузки БД из файла


procedure LoadDB;{Процедура загрузки данных из файла}


var


f:text;


begin


assign(f,'c:tp7School.txt');{Указание пути к файлу}


reset(f); {открыть файл для чтения}


nRec:=0; {количество записей}


while not EOF(f) do{пока не будет достигнут конец файла выполняется цикл}


begin


nRec:= nRec+1;


readln(f,name[nRec]);


readln(f,adres[nRec]);


readln(f,phone[nRec]);


readln(f,rayon[nRec]);


end;


close(f);{Закрытие файла}


clrscr;{Очистка экрана}


end;


Листинг 6.2
.
Процедура просмотра информации


procedureShowDB;{Процедура вывода на экран}


var


i:integer;


Begin


writeln ('Nazvanie_____________|Adres___________________________|Phone____|Rayon_______________');


for i:=1 to nRec do {Вывод всех записей-цикл выполняется столько


раз сколько было найдено записей в базе данных}


begin


write (name[i]:20,' | ');


write (adres[i]:30,' | ');


write (phone[i]:7,' | ');


writeln (rayon[i]:15);


end;


readln;


end;


Листинг 6.3.
Процедура поиска в БД


procedureSearch;{Процедура поиска}


var


Words:string;{Переменная для поиска слова}


i:INTEGER;


found:boolean;


begin


found:=FALSE;


Writeln('Поиск по району');


Write('Введите район:_');


readln(Words);


For i:=1 to nRec do


if rayon[i]=Words{Если элемент массива year совподет


со значением поискового слова то выполнится действие вывода на


экран а переменная found примит значение TRUE}


then


Begin


Writeln('В базе данных найдены сведения ') ;


writeln(name[i],' | ',adres[i],' | ',phone[i],' | ',rayon[i]);


writeln;


found:=True;


i:=i+1;


end;


readln;


if found=False then{Если переменная found не была изенена на


значение TRUE (то есть поиск закончился неудачей , то будет


выведено сообщение что такого элемента найдено не было}


begin


Writeln('В базе данных не найдено сведений об этом районе');


readln;


end;


end;


Листинг 6.4.
Процедура добавления информации в БД


ProcedureAddDB;{Процедура добавления в базу данных}


var


f:text;


begin


nRec:=nRec+1;{Увеличиваем значение записей на единицу}


Write('Введите назване: ');


Readln(name[nRec]);


Write('Введите адрес: ');


Readln(adres[nRec]);


Write('Введите телефон: ');


Readln(phone[nRec]);


Write('Введите район: ');


Readln(rayon[nRec]);


end;


7. Выводы


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


8. Литература


1. Культин Н. Б. «
Программирование в Turbo Pascal 7.0 и Delphi»: 3-е изд. – СПб.: БХВ- Петербург, 2007.


2. Вирт Н. «Алгоритмы и структуры данных»: пер. с англ. – М.: Мир, 1989. 360 с.


3. Гринзоу Лу. «Философия программирования для Windows 95/NT»: пер. с англ. — СПб.: Символ-Плюс, 1997. — 640 с.


4. Зелковиц М., Шоу А, Гэннон Дж. «Принципы разработки программного обеспечения»: пер. с англ. – М.: Мир, 1982. 368 с.


5. Фокс Дж. «Программное обеспечение и его разработка»: пер. с англ. – М.: Мир, 1985. 368 с.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: База данных Расписание поездов

Слов:1034
Символов:11473
Размер:22.41 Кб.