Реферат: База данных Расписание поездов - Refy.ru - Сайт рефератов, докладов, сочинений, дипломных и курсовых работ

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

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

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

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


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

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


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


Выполнил студент гр. 2221/1 Керсанова Л.В ________________

(подпись)

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

(подпись)

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

«__» ____________ 2008


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

2008

Оглавление


Постановка задачи……………………………………………………………………… 2

Структура данных……………………………………………………………………... 3

Алгоритм……………………………………………………………………………….. 3

Интерфейс……………………………………………………………………………… 6

Процедуры и функции………………………………………………………………… 7

Листинги………………………………………………………………………………... 7

Выводы…………………………………………………………………………………. 9

Литература……………………………………………………………………………... 10


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

Написать программу работы с базой данных «Расписание поездов» (рис. 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. Алгоритм загрузки БД

Интерфейс

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

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



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




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



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


Процедуры и функции
Таблица 1. Процедуры и функции.
Процедура (функция) Описание Разработчик
Function Menu Меню базы данных Керсанова Л.В.
Procedure LoadDB Загрузка БД из файла Керсанова Л.В
Procedure ShowDB Просмотр информации Керсанова Л.В
Procedure SearchDB Поиск в БД Селиванова С.В
Procedure AddDB Добавление данных в БД Керосанова Л.В
Procedure Save Сохранение БД

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

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

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. Процедура просмотра информации


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

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. Процедура поиска в БД


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

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. Процедура добавления информации в БД


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

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. Литература


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


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

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

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

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