Рефераты
 

Автоматизований аналіз злочинност

Автоматизований аналіз злочинност

Міністерство внутрішніх справ України

Харківський національний університет внутрішніх справ

Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій

Кафедра інформаційних систем і технологій в діяльності ОВС

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

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

на тему: «Автоматизований аналіз злочинності»

Харків р.

Зміст

Вступ

1. Основна частина

1.1
Неформальна постановка задачі

1
.2 Формальна постановка задачі

1.
3 Структура зберігаючих даних

2. Алгоритми

2.1 Алгоритм основної програми

3. Вихідний код програми

Висновок

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

Вступ

Своєчасний аналіз злочинності надає правоохоронцям можливість швидко і достовірно розкрити злочин. Задачею курсової роботи є створення програми «Аналізатор злочинності в регіоні». Актуальність даної теми і там ясна, адже злочини існують вже досить давно і ще довго будуть існувати.

Я вибрав мову програмування Turbo Pascal для виконання даної задачі, з метою закріплення своїх навиків з програмування та швидкої реалізації та створення програми.

1. Основна частина

1.1 Неформальна постановка задачі

Розробити програму-«
Аналізатор злочинності в регіоні» для збереження та перегляду всієї інформації з даної теми.

ь Введення і збереження інформації:

o Назва області

o Кількість вбивств

o Кількість зґвалтувань;

o Кількість державних зрад.

ь Можливість редагування даної бази

ь Організація пошуку за критеріями:

o Кількість вбивств

o Кількість зґвалтувань;

o Кількість державних зрад.

ь Можливість перегляду всіх існуючих документів

o Перегляд скороченого варіанту бази

o Перегляд повного варіанту даних, які занесені до бази

ь Можливість видалення всієї бази.

ь Зручний інтерфейс для користувача

ь Швидкість та простота роботи в даній програмі

1.2 Формальна постановка задачі

Вихідні дані:

А={А
1 ,А2 ,…,Аі}, де і=1..n, Аі - кожний окремий злочин.

В={В1 ,В2 ,…,Ві}, де і=1..n, Ві - певна область

Таким чином маємо матрицю С=||Cij|| - вся сукупність відомостей про злочини.

Результат:

Множина Рij, яка формуються з вхідних даних а саме множини Сij

D={D1 ,D2 ,…,Dі} Dі =? Аі з кожного Ві

1.3 Структура зберігаючих даних

O - структура для збереження інформації

· No - назва певної області

· U - вбивства

· Y - зґвалтування

· K - крадіжок

· S - зради відчизні

Lis - процедура яка вконує аналіз та виводить його на екран

po4atik - виведення на екран пунктів меню

strila - управління курсором для вибору пункту меню

tread - малює рамочку

vx - занесення до файлу відомостей які вніс користувач

st - для видалення файлу

2. Алгоритми

2.1 Алгоритм основної програми

3. Вихідний код програми

uses crt,dos;

type o=record

no:string[10];

u,y,k,s:integer;

end;

var st1,st2,st3,st4:string;

q,v:byte;

z:char;

f:file of o; pe:o;

{------------}

procedure ramo4ka (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 po4atik(st1,st2,st3,st4:string);

begin

window(1,1,40,25);

textbackground(3);

clrscr;

window (2,10,39,14);

textbackground(4);

clrscr;

gotoxy(1,4);

write(st1,st2,st3,st4);

end;

{------------------}

procedure strila(x,y:byte);

begin

gotoxy(x,y);

textbackground(0);

textcolor(14);

write(' | ');

gotoxy(x,y+1);

write('\|/');

gotoxy(x,y+2);

write(' " ')

end;

{------------------}

procedure tread (var a:char;var b:byte);

begin

b:=0;

a:=readkey;

if a=#0 then

b:=ord(readkey);

end;

procedure pamka (x1,y1,x2,y2:integer);

var i,c:integer;

begin

textcolor(1);

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 vx;

var i,n:integer;

begin

window(1,1,40,25);

pamka(1,1,39,25);

window(2,2,38,24);

textbackground(2);

clrscr;

textcolor(0);

write('vvedi kol-vo oblastey- ');readln(n);

assign(f,'d:\ret');

rewrite(f);

for i:=1 to n do

begin

seek(f,filesize(f));

clrscr;

writeln('Zapis- ',i+1);

write('vvedi nasvanie obl.- '); readln(pe.no);

write('vvedi kol-vo ubiystv- '); readln(pe.u);

write('vvedi kol-vo iznas. - '); readln(pe.y);

write('vvedi kol-vo kraj- '); readln(pe.k);

write('vvedi kol-vo samoybiystv- '); readln(pe.s);

write(f,pe);

end;

close(f);

end;

{.......................}

procedure lis;

var s,k,k1,s1,s2,s3,s4,min,s5,max,j,l,i:integer;

begin

window(1,1,40,25);

pamka(1,1,39,25);

window(2,2,38,24);

textbackground(2);

clrscr;

textcolor(0);

if fsearch('ret','d:\')='' then

begin

textcolor(4);

writeln('FAil ne naiden');

end

else

begin

assign(f,'d:\ret');

reset(f);

s:=0; s1:=0;s2:=0;s3:=0;s4:=0; min:=9999;max:=-9999;j:=0;l:=0;

for i:=0 to filesize(f)-1 do

begin

s5:=0;

seek(f,i);

read(f,pe);

s5:=pe.u+pe.y+pe.k+pe.s;

if 5<min then

begin

min:=s5;j:=i;

end;

if s5>max then

begin

max:=s5;l:=i;

end;

s:=s+pe.u+pe.y+pe.k+pe.s;

s1:=s1+pe.u;

s2:=s2+pe.y;

s3:=s3+pe.k;

s4:=s4+pe.s;

end;

seek(f,j);

read(f,pe);

writeln('oblast-',pe.no,' imeet samiy nizkiy ur.prest');

seek(f,l);

read(f,pe);

writeln('oblast-',pe.no,' imeet samiy visokiy ur.prest');

writeln('obsh. kol prest - ',s);

writeln('obsh.kol ubiystv- ',s1);

writeln('obsh.kol iznas.- ',s2);

writeln('obsh.kol kraj- ',s3);

writeln('obsh.kol samoub.- ',s4);

close(f);

end;

readln;

end;

{..................}

procedure st;

var v:char;h:byte;

begin

window(1,1,40,25);

pamka(1,1,39,25);

window(2,2,38,24);

textbackground(2);

clrscr;

textcolor(0);

if fsearch('ret','d:\')='' then

begin

textcolor(4);

writeln('FAil ne naiden');

end

else

begin

tread(v,h);

if v=#13 then

begin

assign(f,'d:\ret');

erase(f);

write('STERTO');

end;

end;

readln;

end;

{==================}

begin

st1:='Informaciya';

st2:=' prosmotr';

st3:=' udalenie';

st4:=' Vihod';

po4atik(st1,st2,st3,st4);

strila(4,1);

q:=1;

repeat

newreadkey(z,v);

case v of

75:q:=q-1;

77:q:=q+1;

end;

case q of

0:q:=4;

5:q:=1;

end;

case q of

1: begin

if z=#13 then

vx;

po4atik(st1,st2,st3,st4);

strila(4,1);

end;

2: begin

if z=#13 then

lis;

po4atik(st1,st2,st3,st4);

strila(14,1);

end;

3: begin

if z=#13 then

st;

po4atik(st1,st2,st3,st4);

strila(24,1);

end;

4: begin

if z=#13 then

halt;

po4atik(st1,st2,st3,st4);

strila(32,1);

end;

end;

until z=#27;

readln;

end.

Висновок

В даній курсовій роботі була створена програма для аналізу злочинності в області. Даний продукт можливо застосовувати на практиці. Цією програмою я показав рівень своїх теоретичних та практичних знань.

Мовою програмування була обрана мова Turbo Pascal, для вдосконалення свої навичок програмування в цьому середовищі та швидкої і максимально ефективної розв'язки даної задачі.

Були підключені такі модулі як CRT та DOS.

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

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

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

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


© 2010 BANKS OF РЕФЕРАТ