Курсовая

Курсовая База данных Расписание поездов

Работа добавлена на сайт bukvasha.net: 2015-10-25

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 5.2.2025





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

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

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




Дисциплина: Теория и технология программирования
Тема: База данных «Расписание поездов»

 


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

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


                                                                                                        (подпись)

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


                                                                                                       (подпись)

Преподаватель:

к.т.н., доц. Культин Н.Б.



«__» ____________    2008


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

2008

Оглавление


  1. Постановка задачи………………………………………………………………………     2
  2. Структура данных……………………………………………………………………...       3
  3. Алгоритм………………………………………………………………………………..       3
  4. Интерфейс………………………………………………………………………………       6
  5. Процедуры и функции…………………………………………………………………       7
  6. Листинги………………………………………………………………………………...      7
  7. Выводы………………………………………………………………………………….       9
  8. Литература……………………………………………………………………………...     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

                                                                           
                             

                             

                                 

                          com=1                     com=3

                                        com=2

Блок-схема: типовой процесс: showDBБлок-схема: типовой процесс: AddDB


Блок-схема: типовой процесс: Search

      
                             





                                                 

                Нет                               Да

         
Блок-схема: типовой процесс: SaveDB

                                     

                                     

                                     
                                           





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

 

 




                                             




                                                                   

Блок-схема: решение: EOF(F)

                                                                                                       

                                                                                                                             true




                                                                                     




                                                                                             

                                                                                              false

                                                                                             

Параллелограмм: (name[i]);
(adres[i]);
(phone[i]); 
(rayon[i])




    





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

4.    
Интерфейс


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

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

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

         
      Рис. 3.3. Выполнение запроса
5.    
Процедуры и функции

                                                                                            Таблица 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:\tp7\School.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. Литература

1.      Культин Н. Б. «Программирование в Turbo Pascal 7.0 и Delphi»: 3-е изд. – СПб.: БХВ- Петербург, 2007.
2.      Вирт Н. «Алгоритмы и структуры данных»: пер. с англ. – М.: Мир, 1989. 360 с.

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

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

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



1. Реферат Индексы состояния полости рта
2. Реферат Пределы
3. Реферат Организация управления строительной фирмой на примере отдела снабжения
4. Реферат на тему Anne Bradstreet Vs Anne Saxto Essay Research
5. Отчет по практике на тему Вагоно ремонтный завод в Стерлитамаке
6. Доклад на тему Осина - лекарь
7. Реферат Перепись населения США
8. Реферат на тему The Birth Of Jesus Essay Research Paper
9. Курсовая на тему Романо германская правовая система
10. Реферат Маркировка груза