Міністерство внутрішніх справУкраїни Харківський національний університет внутрішніх справ Навчально-науковийінститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційнихсистем і технологій в діяльності ОВС
Курсова робота
з дисципліни «Основипрограмування та алгоритмічні мови»
на тему: «База даних поприватних підприємствах регіону»
Харків
Зміст
Вступ
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 Формальна постановка задачі
Вихідні дані:
Нехай П={П1, П2,…, П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 oftyr; 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;
{————————}
procedurenewreadkey (var a:char;var b:byte);
begin
b:=0;
a:=readkey;
if a=#0 then
b:=ord(readkey);
end;
{——————}
procedurerrr(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;
{——————}
procedureprig(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 tox2-x1-1 do
begin
gotoxy(x1+i,y1);
write(#205);
end;
gotoxy(x2,y1);
write(#187);
for i:=1 toy2-y1-1 do
begin
gotoxy(x2,y1+i);
write(#186);
end;
gotoxy(x2,y2);
write(#188);
for i:=1 to x2-x1-1do
begin
gotoxy(x2-i,y2);
write(#205);
end;
gotoxy(x1,y2);
write(#200);
for i:=1 toy2-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(‘vvedikolichestvo 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(‘vvedinasvanie predpreyatia-‘);readln(naz);
write(‘vvedi viddeyatelnosti predpreyatia’);readln(vd);
write(‘vvediregion v kotorom zareg.-‘);readln(reg);
write(‘vvedivladelcha predpriyatia-‘);readln(vl);
write(‘vvedinomer telefona predpreyatia’);readln(nt);
end;
write(f,pr) ;
end;
close(f);
end;
{……………………………}
procedure is;
vars:string;i:integer;
begin
window(1,1,80,25);
textbackground(0);
clrscr;
ifFSearch(‘bas.bas’,’d:\’)=” then
begin
textbackground(0);
clrscr;
textcolor(132);
writeln(‘FAIL NENAYDEN’);
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(‘vvedislovo dla poiska-‘);readln(s);
assign(f,’d:\bas.bas’);
reset(f);
for i:=0 tofilesize(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(‘ viddeyatelnosti predpreyatia-‘,vd);
writeln(‘ regionv kotorom zareg.-‘,reg);
writeln(‘vladelcha predpriyatia-‘,vl);
writeln(‘ nomertelefona predpreyatia-‘,nt);
end
else
writeln(‘poetomu zaprocu nichego ne naydeno’);
end;
end;
readln;
end;
end;
{…………………………}
procedure ud;
begin
window(1,1,40,25);
clrscr;
ifFSearch(‘bas.bas’,’d:\’)=” then
begin
textbackground(0);
clrscr;
textcolor(132);
writeln(‘FAIL NENAYDEN’);
readln;
end
else
begin
pamka(1,1,39,25);
window(2,2,38,24);
writeln(‘Nagmina «enter» dla udalenia’);
if readkey=#13then
begin
assign(f,’d:\bas.bas’);
erase(f);
writeln(‘failudalen’);
end;
end;
readln;
end;
{:::::::::::::::::::::::::::::::::::::::::::::}
varst1,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 с.: ил.