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

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

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

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

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

Харків

Зміст

Вступ

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 >– ПІБ власника приватного підприємства> >F>i>> >є П>i >– адреса підприємства> >D>i>> >є П>i >– рід діяльності підприємства> >H>i>> >є П>i> – назва підприємства> >L> >>i>> >є П>i >– номер телефону

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

Результат:

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

Таким чином множина Z>j>> >є підмножиною П>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

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

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

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

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