Учебная работа. Курсовая работа: База данных Расписание поездов
Факультет инноватики
Курсовая работа
Дисциплина: Теория и разработка программирования
Тема: база данных «Расписание поездов»
Выполнил студент гр. 2221/1
Керсанова Л.В ________________
(подпись)
Селиванова С.В ________________
(подпись)
Педагог:
к.т.н., доц. Культин Н.Б.
«__» ____________ 2008
Санкт-Петербург
2008
Оглавление
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.
Процедуры и функции
Процедура (функция)
Описание
Разраб
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 примит
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 не была изенена на
выведено сообщение что такового элемента найдено не было}
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 с.
]]>