Информатика, программирование: База даних по приватних підприємствах регіону, Курсовая работа

Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій  Кафедра інформаційних систем і технологій в діяльності ОВС

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

з дисципліни «Основи програмування та алгоритмічні мови»

на тему: «База даних по приватних підприємствах регіону»

Харків


Зміст

Вступ

1. Основна частина

1.1 Неформальна постановка задачі

1.2 Формальна постановка задачі

1.3 Структура зберігаючих даних:

2. Алгоритми

2.1 Алгоритм основної програми

2.1 Алгоритм процедури Is

3. Вихідний код програми

Висновок

Список використаної літератури


Вступ

Все більше і більше в регіонах реєструється приватних підприємців. Таким чином для обробки інформації яка надана по приватним підприємствам заносять до бази даних. Для полегшення цього процесу потрібно створити спеціалізовану програму, яка буду з простим, доступним інтерфейсом, але в той же час вона виконуватиме всі покладені на неї сподівання.

Інформатизація суспільства значним чином полегшила обробку інформації. Я вибрав мову програмування Турбо Паскаль, з метою закріплення своїх навиків з програмування.


1. Основна частина

 

1.1 Неформальна постановка задачі

Розробити програму-«приватні підприємства регіону», для реєстрації та автоматизованої обробки відомостей про підприємців в певному регіоні.

*         Занесення до бази даних (спеціальний файл) всіх відомостей про приватне підприємство:

o     ФІО власника підприємства;

o     Назва приватного підприємства;

o     Вид діяльності підприємства;

o     Адреса реєстрації;

o     Номер телефону.

*         Можливість видалення відомостей

*         Організація пошуку за критеріями:

o     ФІО власника;

o     Назва приватного підприємства;

o     Вид діяльності підприємства;

o     Адреса реєстрації;

o     Номер телефону.

*         Можливість перегляду всіх існуючих відомостей;

*         Зручний інтерфейс для користувача;

*         В складних випадках створення підказок для користувача;

*         Швидкість та простота роботи в даній програмі;


1.2 Формальна постановка задачі

Вихідні дані:

Нехай П={П12,…,Пi}, де ( i=1, 2, ..., N ) – множина підприємств.

Рi є Пi – ПІБ власника приватного підприємства Fi є Пi – адреса підприємства Di є Пi – рід діяльності підприємства Hi є Пi – назва підприємства L i є Пi – номер телефону

Таким чином отримуємо нову сукупність Пij – яка більш розширена в плані інформації про підприємства

Результат:

Множина Zj, яка формуються з вхідних даних а саме множини Пij.

Таким чином множина Zj є підмножиною Пij

 

1.3 Структура зберігаючих даних

Tyr – запис, який приймає на себе відомості та потім зберігається в файл.

ü   Naz – поле куди заноситься назва підприємства

ü   Vd – поле куди заноситься вид діяльності підприємства

ü   Reg – поле куди заноситься інформація про адресу підприємства

ü   Vl – ПІБ власника приватного підприємства

ü   Nt – поле куди заноситься телефон підприємства

F – типізований файл

Kl – процедура яка малює рамочку

Rrr – процедура яка вимальовує меню без управляючої частини

Into – процедура для збереження відомостей, які ввів користувач, до файлу.

Is – процедура яка забезпечує виконання пошуку

Ud – процедура для видалення


2. Алгоритми

2.1 Алгоритм основної програми


 



2.1 Алгоритм процедури Is

 



3. Вихідний код програми

uses crt,dos;

type tyr=record

 naz,vd,reg,vl,nt :string[15];

 end;

var f:file of tyr; pr:tyr;

{..........................................}

procedure kl (x1,y1,x2,y2,a,b:byte);

var i:integer;

begin

textbackground(a);

textcolor(b);

 window (x1,y1,x2,y2);

 write('Й');

 for i:=1 to (x2-x1)-1 do

 begin

 write('Н');

 end;

 write('»');

 for i:=2 to (y2-y1)-1 do

 begin

 gotoxy(1,i);

 write('є');

 gotoxy(x2-x1+1,i);

 write('є');

 end;

 write('И');

 for i:=1 to (x2-x1)-1 do

 begin

 write('Н');

 end;

 write('ј');

 end;

{------------------------}

procedure newreadkey (var a:char;var b:byte);

begin

b:=0;

a:=readkey;

if a=#0 then

b:=ord(readkey);

end;

{------------------}

procedure rrr(st1,st2,st3,st4:string);

begin

 window(1,1,40,25);

 textbackground(7);

 clrscr;

 kl(5,2,35,5,7,0);

 gotoxy(3,1);

 write (#181,st1,#198);

 kl(5,8,35,11,7,0);

 gotoxy(3,1);

 write (#181,st2,#198);

 kl(5,14,35,17,7,0);

 gotoxy(3,1);

 write (#181,st3,#198);

 kl(5,20,35,23,7,0);

 gotoxy(3,1);

 write (#181,st4,#198);

end;

{------------------}

procedure prig(x,y,u,n:byte);

var i:byte;

begin

 textbackground(0);

 textcolor(u);

 gotoxy(x,y);

 for i:=1 to n do

 write(#176);

end;

procedure pamka (x1,y1,x2,y2:integer);

var i,c:integer;

begin

gotoxy(x1,y1);

write(#201);

for i:=1 to x2-x1-1 do

begin

gotoxy(x1+i,y1);

write(#205);

end;

gotoxy(x2,y1);

write(#187);

for i:=1 to y2-y1-1 do

begin

gotoxy(x2,y1+i);

write(#186);

end;

gotoxy(x2,y2);

write(#188);

for i:=1 to x2-x1-1 do

begin

gotoxy(x2-i,y2);

write(#205);

end;

gotoxy(x1,y2);

write(#200);

for i:=1 to y2-y1-1 do

begin

gotoxy(x1,y1+i);

write(#186);

end;

end;

{.........................................}

 procedure into;

 var i,n:integer;

 begin

 window(1,1,40,25);

 textbackground(0);

 clrscr;

 textcolor(3);

 pamka(1,19,39,25);

 pamka(1,1,39,25);

 gotoxy(1,19);

 write(#204);

 gotoxy(39,19);

 write(#185);

 window(2,20,38,24);

 writeln(' ЯЯЯЯЯЬ ЬЯЯЬ ЫЯЯЯЫ Я ЬЬЬ ' );

 writeln(' ЬЯ Ы Ы ЫЬЬЬЫ Ы ЯЬ Я ');

 writeln(' ЬЯ ЫЬЬЬ Ы Ы Ы ЯЬ ');

 writeln(' ЯЬЬЬЬЬ Ы Ы Ы Ы ЯЬЬЬЯ ');

 window(5,2,37,17);

 textcolor(7);

 write('vvedi kolichestvo predpreatiy- ');readln(n);

 assign(f,'d:\bas.bas');

 rewrite(f);

 clrscr;

 for i:=1 to n do

 begin

 seek(f,filesize(f));

 clrscr;

 with pr do

 begin

 write('vvedi nasvanie predpreyatia-');readln(naz);

 write('vvedi vid deyatelnosti predpreyatia');readln(vd);

 write('vvedi region v kotorom zareg.-');readln(reg);

 write('vvedi vladelcha predpriyatia-');readln(vl);

 write('vvedi nomer telefona predpreyatia');readln(nt);

 end;

 write(f,pr) ;

 end;

 close(f);

 end;

{.................................}

procedure is;

var s:string;i:integer;

begin

 window(1,1,80,25);

 textbackground(0);

 clrscr;

 if FSearch('bas.bas','d:\')='' then

 begin

 textbackground(0);

 clrscr;

 textcolor(132);

 writeln('FAIL NE NAYDEN');

 readln;

 end

 else

 begin

textcolor(7);

 pamka(1,19,39,25);

 pamka(1,1,39,25);

 gotoxy(1,19);

 write(#204);

 gotoxy(39,19);

 write(#185);

 window(2,20,38,24);

 writeln(' ЫЯЯЯЫ ЫЯЯЯЯЫ Я ЬЬЬ Ы ЬЯ ');

 writeln(' ЫЬЬЬЫ Ы Ы Ы ЯЬ Я ЫЬЯ ');

 writeln(' Ы Ы Ы Ы ЯЬ ЫЯЬ ');

 writeln(' Ы ЫЬЬЬЬЫ Ы ЯЬЬЬЯ Ы ЯЬ ');

 window(5,2,37,17);

 textcolor(7);

 write('vvedi slovo dla poiska-');readln(s);

 assign(f,'d:\bas.bas');

 reset(f);

 for i:=0 to filesize(f)-1 do

 begin

 seek(f,i);

 read(f,pr);

 with pr do

 begin

 if (s=naz) or (s=vd) or (s=nt) or (s=reg) or (s=vl) then

 begin

 writeln('zapis',i+1);

 writeln(' nasvanie predpreyatia-',naz);

 writeln(' vid deyatelnosti predpreyatia-',vd);

 writeln(' region v kotorom zareg.-',reg);

 writeln(' vladelcha predpriyatia-',vl);

 writeln(' nomer telefona predpreyatia-',nt);

 end

 else

 writeln('po etomu zaprocu nichego ne naydeno');

 end;

 end;

 readln;

end;

end;

{..............................}

 procedure ud;

 begin

 window(1,1,40,25);

 clrscr;

 if FSearch('bas.bas','d:\')='' then

 begin

 textbackground(0);

 clrscr;

 textcolor(132);

 writeln('FAIL NE NAYDEN');

 readln;

 end

 else

 begin

 pamka(1,1,39,25);

 window(2,2,38,24);

 writeln('Nagmi na "enter" dla udalenia');

 if readkey=#13 then

 begin

 assign(f,'d:\bas.bas');

 erase(f);

 writeln('fail udalen');

 end;

 end;

 readln;

 end;

{:::::::::::::::::::::::::::::::::::::::::::::}

var st1,st2,st3,st4:string;

 e:char;d,p:byte;

begin

textmode(c40);

{into;

{is;

ud;

readln;}

repeat

window(1,1,40,25);

textbackground(7);

clrscr;

st1:='Zapis';

st2:='Nayti';

st3:='Steret';

st4:='Vixod';

rrr(st1,st2,st3,st4);

window(1,1,40,25);

prig(6,3,14,29);

p:=1;

repeat

newreadkey(e,d);

if d=80 then

 p:=p+1;

if d=72 then

 p:=p-1;

if p=5 then

 p:=1;

if p=0 then

 p:=4;

case p of

 1: begin

 rrr(st1,st2,st3,st4);

 window (1,1,40,25);

 prig(6,3,14,29);

 end;

 2: begin

 rrr(st1,st2,st3,st4);

 window (1,1,40,25);

 prig(6,9,14,29);

 end;

 3: begin

 rrr(st1,st2,st3,st4);

 window (1,1,40,25);

 prig(6,15,14,29);

 end;

 4: begin

 rrr(st1,st2,st3,st4);

 window (1,1,40,25);

 prig(6,21,14,29);

 end;

end;

until e=#13;

case p of

1:into;

2:is;

3:ud;

end;

until p=4;end.


Висновок

В даній курсовій роботі були поставлені такі задачі: поглибити свої знання в алгоритмічних мовах, та вдосконалити програмування на мові Паскаль. Та створити корисний продукт. Була створена програма, якою я виконую обидві задачі які ставилися на початку.

В даній роботі було створено досить велику кількість процедур, які можливо використати і в інших програмних проектах, були використані різні типи даних, а також були застосовані процедури та функції які були створені раніше, ці процедури та функції я брав з модулів CRT та DOS


Список використаної літератури

1.         Струков В.М. Основы алгоритмизации и программирования. Часть 2. Учебное пособие. – Харьков: Изд. Нац. ун-та внутр.дел,2003. – 188 с.

2.         Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal. – X.,1995.

3.         Немнюгин С.А. Turbo Pascal. – СПб.: Питер, 2002. – 496 с.: ил.


Еще из раздела Информатика, программирование:


 Это интересно
 Реклама
 Поиск рефератов
 
 Афоризм
Надпись в маршрутном такси: «Способ выхода – оральный!».
 Гороскоп
Гороскопы
 Счётчики
bigmir)net TOP 100