Курсовая

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

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

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

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

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

от 25%

Подписываем

договор

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

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





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

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

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




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

 


Выполнил студент гр. 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. Реферат Оборудование для натяжения и закрепления арматуры
5. Лабораторная работа Ознайомлення з редактором бази каналів програмного комплексу Trace Mode
6. Реферат Измерение человеческого развития. Индекс человеческого развития
7. Реферат Лидер
8. Реферат Государство и право 4
9. Биография Генрих IV король Франции
10. Доклад на тему Стратегия реструктуризации от натуральной диверсификации к специализированной конкурентоспособности