Смекни!
smekni.com

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

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

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

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

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

Харків


Зміст

Вступ

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 – назва підприємстваLiє П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. Сердюченко В.Я. Розробка алгоритмів та програмування на мові TurboPascal. – X.,1995.

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