Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС
Курсова робота
з дисципліни «Основи програмування та алгоритмічні мови»
на тему: «База даних по приватних підприємствах регіону»
Харків
Зміст
Вступ
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 – назва підприємства 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:as.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:as.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:as.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 с.: ил.