Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС
Курсова робота
з дисципліни «Основи програмування та алгоритмічні мови»
на тему: «База даних по приватних підприємствах регіону»
Харків
Зміст
Вступ
1. Основна частина
1.1 Неформальна постановка задачі
1.2 Формальна постановка задачі
1.3 Структура зберігаючих даних:
2. Алгоритми
2.1 Алгоритм основної програми
2.1 Алгоритм процедури Is
3. Вихідний код програми
Висновок
Список використаної літератури
Все більше і більше в регіонах реєструється приватних підприємців. Таким чином для обробки інформації яка надана по приватним підприємствам заносять до бази даних. Для полегшення цього процесу потрібно створити спеціалізовану програму, яка буду з простим, доступним інтерфейсом, але в той же час вона виконуватиме всі покладені на неї сподівання.
Інформатизація суспільства значним чином полегшила обробку інформації. Я вибрав мову програмування Турбо Паскаль, з метою закріплення своїх навиків з програмування.
1.1 Неформальна постановка задачі
Розробити програму-«приватні підприємства регіону», для реєстрації та автоматизованої обробки відомостей про підприємців в певному регіоні.
Занесення до бази даних (спеціальний файл) всіх відомостей про приватне підприємство:
o ФІО власника підприємства;
o Назва приватного підприємства;
o Вид діяльності підприємства;
o Адреса реєстрації;
o Номер телефону.
Можливість видалення відомостей
Організація пошуку за критеріями:
o ФІО власника;
o Назва приватного підприємства;
o Вид діяльності підприємства;
o Адреса реєстрації;
o Номер телефону.
Можливість перегляду всіх існуючих відомостей;
Зручний інтерфейс для користувача;
В складних випадках створення підказок для користувача;
Швидкість та простота роботи в даній програмі;
Вихідні дані:
Нехай П={П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.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 с.: ил.
|