Главная Учебники - Разные Лекции (разные) - часть 32
Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС Курсова робота з дисципліни «Основи програмування та алгоритмічні мови» на тему: «Автоматизований аналіз злочинності» Харків р. Зміст Своєчасний аналіз злочинності надає правоохоронцям можливість швидко і достовірно розкрити злочин. Задачею курсової роботи є створення програми «Аналізатор злочинності в регіоні». Актуальність даної теми і там ясна, адже злочини існують вже досить давно і ще довго будуть існувати. Я вибрав мову програмування Turbo Pascal для виконання даної задачі, з метою закріплення своїх навиків з програмування та швидкої реалізації та створення програми. Розробити програму-«Аналізатор злочинності в регіоні» для збереження та перегляду всієї інформації з даної теми. - Введення і збереження інформації: o Назва області o Кількість вбивств o Кількість зґвалтувань; o Кількість державних зрад. - Можливість редагування даної бази - Організація пошуку за критеріями: o Кількість вбивств o Кількість зґвалтувань; o Кількість державних зрад. - Можливість перегляду всіх існуючих документів o Перегляд скороченого варіанту бази o Перегляд повного варіанту даних, які занесені до бази - Можливість видалення всієї бази. - Зручний інтерфейс для користувача - Швидкість та простота роботи в даній програмі Вихідні дані: А={А1
,А2
,…,Аі
}, де і=1..n, Аі
– кожний окремий злочин. В={В1
,В2
,…,Ві
}, де і=1..n, Ві
- певна область Таким чином маємо матрицю С=||Cij
|| - вся сукупність відомостей про злочини. Результат: Множина Рij
, яка формуються з вхідних даних а саме множини Сij
D={D1
,D2
,…,Dі
} Dі
=∑ Аі
з кожного Ві
O – структура для збереження інформації · No – назва певної області · U – вбивства · Y – зґвалтування · K – крадіжок · S – зради відчизні Lis – процедура яка вконує аналіз та виводить його на екран po4atik – виведення на екран пунктів меню strila – управління курсором для вибору пункту меню tread – малює рамочку vx – занесення до файлу відомостей які вніс користувач st – для видалення файлу 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.
|