Міністерство внутрішніх справ України
Харківський національний університет внутрішніх справ
Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій
Кафедра інформаційних систем і технологій в діяльності ОВС
Курсова робота
з дисципліни «Основи програмування та алгоритмічні мови»
на тему: «Автоматизований аналіз злочинності»
Харків р.
Зміст
Вступ 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 с.: ил.
Похожие работы
... координатах певні відомасті ram – процедура яка малює рамочку іншого типу zao – процедура для введення та зберігання до файлу відомостей які вводить користувач anal – процедура яка здійснює автоматизований аналіз злочинності ual – процедура видалення всієї бази 2. Вихідний код програми uses crt, dos; type nb=record nas:string[10]; ub, iz, kr, pas:integer; end; {avt al zl po abl ...
... . Користувач може вільно робити резервні копії й переносити програму з одного комп'ютера на інший, переносячи з собою ключ. [3] Деякі питання розкриття і розслідування злочинів у сфері комп’ютерної інформації Правоохоронні органи неготові до адекватного протистояння й активної боротьби з цим вже не новим соціальним явищем. Цей вид злочинності завдає величезних збитків власникам і користувачам ...
... В АБС АКБ «ПРОМІНВЕСТБАНК» ТА ОЦІНКА РІВНЯ ВРАЗЛИВОСТІ БАНКІВСЬКОЇ ІНФОРМАЦІЇ 3.1 Постановка алгоритму задачі формування та опис елементів матриці контролю комплексної системи захисту інформації (КСЗІ) інформаційних об’єктів комерційного банку В дипломному дослідженні матриця контролю стану побудови та експлуатації комплексної системи захисту інформації в комерційному банку представлена у вигляді ...
... ільного зв’язку: 1G, 2G, 2,5G, 3G, 3,5G і навіть 4G. Найбільш поширеними з них є 3G та 3,5G, але поступово набувають розповсюдження і стандарти останнього покоління. У зв’язку з цим поширюється і злочинність у мережах мобільного зв’язку. Для того, щоб зрозуміти, яким чином ці злочини здійснюються і як ним запобігти, розглянемо структуру мереж мобільного зв’язку. 1.2 Структура мереж мобільного ...
0 комментариев