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

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





















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

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

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

























Харків


Зміст



	Вступ

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

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

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

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

	2. Алгоритми

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

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

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

	Висновок

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




Вступ



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

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




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



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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




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



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

Нехай П={П1,П2,…,П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 Алгоритм основної програми



Графічний режим

Початок

St1=’Zapis’

St3=’Steret’



St2=’Nayti’



St4=’Vihod’



Prig

P=1

E=readkey

D=80

D=72

P=p+1

P=p-1

P=5

P=1

1

2

3
































1

  p

rrr

prig

rrr



prig



rrr



prig



rrr



prig



Enter

  p

into

is

udal

P=4

2

3

Кінець






































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

	

is

Перевірка файлу

Існує

Ненайден файл

Введ. слова

В реж. читання

I=0, к.ф., 1

S=nar or S=vd or S=nt or S=vl

№ запису

Нема інфо.

данні

Кінець







































































	
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




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



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

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

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