Курсовая "Базы данных" на pascal

Автор работы: Пользователь скрыл имя, 29 Мая 2010 в 18:53, Не определен

Описание работы

база данных на pascal с функциями писка, добавления и т.д.

Файлы: 1 файл

содержание.DOC

— 289.00 Кб (Скачать файл)

 

      

     Заключение

 

      Подведем  итог того, что все-таки удалось в данном курсовом проекте:

    • Удалось создать неплохую сортировку, что облегчает работу с элементами, на мой взгляд, эта основа любой БД;
    • Удалось создать достаточно простой и интуитивно понятный интерфейс, без каких либо излишеств;
    • В программе реализованы основные функции работы с БД – удаление, добавление, отчетность, поиск;
    • Показано когда, какая функция доступна;
    • Отражено, в каком разделе осуществляется работа;
    • Достаточно простое управление элементами БД.

      Подводя итог можно сказать, что основная цель, на мой взгляд, все-таки выполнена, эти функции показаны и реализованы.

      Ко  всему прочему можно с уверенностью сказать, что данную программу можно приспособить под большинство справочников. Для этого достаточно открыть файл разделов и создать другие.

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

 

      

     Список  используемой литературы

 
    1. Учебное пособие. «Структуры и алгоритмы обработки  данных в ЭВМ», А. Н. Горитов, г. Томск
    2. Самоучитель. «Программирование в Turbo Pascal», Н. Культин.
    3. Открытие Интернет источники.
 

 

     Приложение 1

      Графическое описание данных 
 

                                            Разделы

                     
 
 
 
      

      Подразделы  у каждого раздела 
  

      

             Элемент у каждого подраздела

        
 

Схема 1 – Общая схема описания хранения данных 
 
 

 

      

     Приложение 2

 

      Представление данных в памяти ЭВМ 

      names:string[10]; - 2 байта;

      namer:string[10]; - 2 байта;

      key:char; - 1 байт;

      kr:char; - 1 байт;

      tek,i,j,izm:integer; - 2 байта;

       exist,vfile,issor:boolean;  - 1 байт;

     st:array[1..12] of string;

     
 
 

 

      

     Приложение 3

      Рисунок списковой структуры 

 
 

 

      

     Приложение 4

      Формат  выходного документа 

     

Рисунок 1 – Разметка экрана 

 

Рисунок 2 – Просмотр элементов 

 

 

Рисунок 4 – Добавление товара 
 

 

      

     Приложение 5

      Схема последовательности обработки данных. 

        

 

 
 

 

 
 
 

 
 
 

 

 
 

 
 
 
 

Схема 1 – Общая схема 
 
 
 
 
 
 
 
 
 
 
 

 

 
 

 

 

 
 

 

 
 
 

Схема 2 – Вывод меню

 

 

 

 

 
 

 
 

 

 
 
 

Схема 3 – вывод разделов и подразделов

 

 

 
 

 
 

 
 

  Вверх 
 
 

                     Вниз 

 
 

 

 

 
 
 

Схема 4 – Перемещение по меню 
 
 
 
 
 
 
 
 
 
 
 

 

      

     Приложение 6

      Листинг программы 

  Текст программы Kurs.pas 

program Delphins;

uses crt,tips;

var names,namer:string[10];

  key,kr:char;

  tek,i,j,izm:integer;

  exist,vfile,issor:boolean;

  nast:pered;

  temr,tt1,tt2,tt3,tt4:cc;

  outf:file of tabl2; 

procedure menus(m:pered;max:byte);  {Вывод меню}

begin

clrscr;

  For i:=1 to max do begin

    if i=1 then begin

     textcolor(1); gotoxy(9,2); write(m.st[i]);

    end

    else begin

      if i=2 then textcolor(9)

      else textcolor(3);

      gotoxy(8,i+3);write(m.st[i]);

    end;

  end;

end; 

procedure krutis;  {Звездочка рядом с активным элементом}

begin

  textcolor(14);

  if kr='/' then kr:='-'

    else if kr='-' then kr:='\'

      else if kr='\' then kr:='|'

        else kr:='/';

  gotoxy(6,tek+3);write(kr);

  textcolor(3);

end; 

procedure ramka(ch:char); {перемещение указателя}

begin

  gotoxy(6,tek+3);Writeln(' ');

  textcolor(3);gotoxy(8,tek+3);write(nast.st[tek]);

  if ch='+' then tek:=tek+1

  else tek:=tek-1;

  if tek=1 then tek:=nast.m

  else if tek=nast.m+1 then tek:=2;

  key:=#0;

  textcolor(9);gotoxy(8,tek+3);write(nast.st[tek]);

  krutis;

end; 

procedure tabl11(t:integer;rab:cc); {Вывод таблицы в файл}

var ooutf:text;

tem:cc;

begin

clrscr;

   writeln('Введите имя файла');

   readln(names);

   assign(ooutf,names);

   rewrite(ooutf);

   writeln(ooutf,menu2.st[t]);

   writeln(ooutf,'+--------------------------------------------------------------------------+');

   writeln(ooutf,'¦',mm[t-1,1]:14,'¦',mm[t-1,2]:14,'¦',mm[t-1,3]:14,'¦',mm[t-1,4]:14,'¦',mm[t-1,5]:14,'¦');

   writeln(ooutf,'+--------------+--------------+--------------+--------------+--------------¦');

   tem:=rab;

   while tem<>nil do

   begin

     writeln(ooutf,'¦',tem^.tabl.t1:14,'¦',tem^.tabl.t2:14,'¦',tem^.tabl.t3:14,'¦',tem^.tabl.t4:14,

     '¦',tem^.tabl.t5:14,'¦');

     tem:=tem^.sled;

   end;

   writeln(ooutf,'+--------------------------------------------------------------------------+');

   close(ooutf);

   nast:=menu1;

   menus(nast,nast.m);

   tek:=2;

end; 
 

procedure tabl1(t:integer;rab:cc;yd:boolean); {Вывод таблицы на экран}

var tem:cc;

begin

clrscr;

   writeln(menu2.st[t]);

   writeln('+--------------------------------------------------------------------------+');

   writeln('¦',mm[t-1,1]:14,'¦',mm[t-1,2]:14,'¦',mm[t-1,3]:14,'¦',mm[t-1,4]:14,'¦',mm[t-1,5]:14,'¦');

   writeln('+--------------+--------------+--------------+--------------+--------------¦');

   tem:=rab;

   while tem<>nil do

   begin

     writeln('¦',tem^.tabl.t1:14,'¦',tem^.tabl.t2:14,'¦',tem^.tabl.t3:14,'¦',tem^.tabl.t4:14,

     '¦',tem^.tabl.t5:14,'¦');

     tem:=tem^.sled;

   end;

   writeln('+--------------------------------------------------------------------------+');

   if not yd then begin

     readln;

     nast:=menu1;

     menus(nast,nast.m);

     tek:=2;

   end;

   yd:=false;

end; 

procedure sort(iz,t:integer; var rab:cc); {Сортировка по полю}

var po:integer;

  te1,te2,tem:cc;

  str1,str2:string;

  ttrtt:tabl2;

begin

  tabl1(tek,rab,true);

  writeln('Введите номер столбца по которому надо отсортировать данные');

  readln(po);

  te1:=rab;

  while te1<>nil do begin

    te2:=te1^.sled;

    while te2<>nil do begin

      case po of

        1:begin str1:=te1^.tabl.t1; str2:=te2^.tabl.t1; end;

Информация о работе Курсовая "Базы данных" на pascal