|
Автоматизований аналіз злочинності по областям
Автоматизований аналіз злочинності по областям
Автоматизований аналіз злочинності по областям ВступЗлочинність все більше розвивається в сучасному світі. І тому необхідно вести строгий облік всієї злочинності. Розробити програму яка буди здійснювати автоматизований аналіз злочинності по певній області. Так як ця задача не вимагає великих та жорстких методів написання, я оберу мову програмування Turbo Pascal. Я вибрав мову програмування Turbo Pascal, з метою закріплення своїх навиків з програмування. 1. Основна частина1.1 Неформальна постановка задачіРозробити програму - «Злочин» для збереження та перегляду, а також автоматичного аналізу всієї інформації.ь Введення і збереження інформації до файлу:o Назва областіo Кількість вбивствo Кількість зґвалтувань;o Кількість крадіжокo Кількість пограбувань.ь Можливість редагування даної базиь Аналізo Область з най білими показниками злочинностіь Можливість перегляду всіх існуючих документівo Перегляд скороченого варіанту базиo Перегляд повного варіанту даних, які занесені до базиь Можливість видалення всієї бази.ь Зручний інтерфейс для користувачаь Швидкість та простота роботи в даній програмі1.2 Формальна постановка задачіВихідні дані:Позначимо сукупність всіх даних, які будуть заноситись до бази даних через множину А, таким чином А={А1,А2,…, Аі}, де і=1..n, Аі - певна область.Кожен область складається з певного виду злочину, отже маємо Аі={Аі1,Аі2,…, Аіj}, j=1..4.Таким чином ми маємо матрицю всіх відомостей які зберігаються в базі даних, та заносяться користувачем.Результат: множина Рij, яка формуються з вхідних даних а саме множини Аij.Математична модель: з матриці вибираються Аі з найбільшими показниками Аj.1.3 Структура зберігаючих даних:Nb - структура для введення та зберігання інформації що вводить користувач.· Nas - назва області· Ub - поле для кількості вбивств в конкретній область· Iz - поле для кількості зґвалтувань в конкретній області· Kr - поле для кількості крадіжок в конкретній області· Pas - поле для кількості грабіжей в конкретній областіramo4ka - процедура яка малює рамкуizi - процедура яка виводить в певних координатах певні відомастіram - процедура яка малює рамочку іншого типуzao - процедура для введення та зберігання до файлу відомостей які вводить користувачanal - процедура яка здійснює автоматизований аналіз злочинностіual - процедура видалення всієї бази2. Вихідний код програмиuses crt, dos;type nb=recordnas:string[10];ub, iz, kr, pas:integer;end; {avt al zl po abl}var f:file of nb; obl:nb;procedure ramo4ka (x1, y1, x2, y2, a, b:byte);var i:integer;begintextbackground(a);textcolor(b);window (x1, y1, x2, y2);write ('.');for i:=1 to (x2-x1) - 1 dobeginwrite ('.');end;write ('.');for i:=2 to (y2-y1) - 1 dobegingotoxy (1, i);write (':');gotoxy (x2-x1+1, i);write (':');end;write (':');for i:=1 to (x2-x1) - 1 dobeginwrite ('.');end;write (':');end;{-}procedure newreadkey (var a:char; var b:byte);beginb:=0;a:=readkey;if a=#0 thenb:=ord(readkey);end;{-}procedure izi (x, y:byte; s1, s2, s3, s4:string);begingotoxy (x, y);write(s1);gotoxy (x+15, y+2);write(s2);gotoxy (x, y+4);write(s3);gotoxy (x+15, y+6);write(s4);end;{-}procedure ram (x, y, x1, y1, a, b:byte);beginramo4ka (x, y, x1, y1, a, b);end;procedure pamka (x1, y1, x2, y2:integer);var i, c:integer;begintextcolor(7);gotoxy (x1, y1);write(#201);for i:=1 to x2-x1-1 dobegingotoxy (x1+i, y1);write(#205);end;gotoxy (x2, y1);write(#187);for i:=1 to y2-y1-1 dobegingotoxy (x2, y1+i);write(#186);end;gotoxy (x2, y2);write(#188);for i:=1 to x2-x1-1 dobegingotoxy (x2-i, y2);write(#205);end;gotoxy (x1, y2);write(#200);for i:=1 to y2-y1-1 dobegingotoxy (x1, y1+i);write(#186);end;end;{……………….}procedure zao;var i, n:integer;beginwindow (1,1,40,25);textbackground(1);clrscr;pamka (6,6,34,18);window (7,7,33,17);textbackground(14);clrscr;write ('Vvedite kol-vo oblastey - '); readln(n);assign (f, 'c:\te.j');rewrite(f);for i:=1 to n dobeginclrscr;seek (f, filesize(f));with obl dobeginwrite ('vvedi oblast:'); readln(nas);write ('Vvedi kol-vo ubiystv: '); readln(ub);write ('Vvedi kol-vo iznasilovaniy: '); readln(iz);write ('vvedi kol-vo kraj: '); readln(kr);write ('vvedi kol-vo rasboyev: '); readln(pas);end;write (f, obl);end;close(f);end;{…………………………….}procedure anal;var k, i, j:integer;beginif FSearch ('te.j', 'c:\')='' thenbeginwindow (1,1,40,25);textbackground(1);clrscr;pamka (1,1,39,25);window (2,2,38,24);textcolor(132);writeln ('FAILA NET'); readln;endelsebeginwindow (1,1,40,25);textbackground(1);clrscr;pamka (1,1,39,25);window (2,2,38,24);writeln ('Dlya analiza nagmi «Enter» ');readln; clrscr;assign (f, 'c:\te.j');reset(f);k:=-9999;j:=0;for i:=0 to filesize(f) - 1 dobeginseek (f, i);read (f, obl);with obl dobeginif ub>k thenbegink:=ub;j:=i;end;end;end;seek (f, j);read (f, obl);with obl dobeginwriteln ('sam. bolh. kol. ubiystv-', ub);writeln ('v ', nas, ' oblasti');writeln(#219);end;k:=-9999;j:=0;for i:=0 to filesize(f) - 1 dobeginseek (f, i);read (f, obl);with obl dobeginif iz>k thenbegink:=iz;j:=i;end;end;end;seek (f, j);read (f, obl);with obl dobeginwriteln ('sam. bolh. kol. iznosilovaniy-', iz);writeln ('v ', nas, ' oblasti');writeln(#219);end;k:=-9999;j:=0;for i:=0 to filesize(f) - 1 dobeginseek (f, i);read (f, obl);with obl dobeginif kr>k thenbegink:=kr;j:=i;end;end;end;seek (f, j);read (f, obl);with obl dobeginwriteln ('sam. bolh. kol. kraj-', kr);writeln ('v ', nas, ' oblasti');writeln(#219);end;k:=-9999;j:=0;for i:=0 to filesize(f) - 1 dobeginseek (f, i);read (f, obl);with obl dobeginif pas>k thenbegink:=pas;j:=i;end;end;end;seek (f, j);read (f, obl);with obl dobeginwriteln ('sam. bolh. kol. rasboev-', pas);writeln ('v ', nas, ' oblasti');writeln(#219);end;for i:=1 to 37 dobegingotoxy (i, 13);write(#196);end;readln;close(f);end;end;{…………………}procedure ual;beginif FSearch ('te.j', 'c:\')='' thenbeginwindow (1,1,40,25);textbackground(1);clrscr;pamka (1,1,39,25);window (2,2,38,24);textcolor(132);writeln ('FAILA NET'); readln;endelsebeginwindow (1,1,40,25);textbackground(1);clrscr;pamka (1,1,39,25);window (2,2,38,24);writeln ('Dlya udalenia nagmi «Enter» ');readln;assign (f, 'c:\te.j');erase(f);writeln('Udaleno');readln;end;end;{:}var s1, s2, s3, s4, s5:string;p:char; z, k:byte;begintextmode(C40);repeatwindow (1,1,40,25);textbackground(1);textcolor(7);clrscr;s1:='Vvod';s2:='Analizirovat';s3:='Udalit';s4:='Vixod';izi (10,7, s1, s2, s3, s4);ram (9,6, length(s1)+10,9,1,14);k:=1;repeatnewreadkey (p, z);if z=80 thenk:=k+1;if z=72 thenk:=k-1;if k=5 thenk:=4;if k=0 thenk:=1;if k=1 thenbeginram (9,6, length(s1)+10,9,1,14);ram (24,8, length(s1)+25,11,1,1);end;if k=2 thenbeginram (9,6, length(s1)+10,9,1,1);ram (24,8, length(s1)+25,11,1,14);ram (9,10, length(s1)+10,13,1,1);end;if k=3 thenbeginram (24,8, length(s1)+25,11,1,1);ram (9,10, length(s1)+10,13,1,14);ram (24,12, length(s1)+25,15,1,1);end;if k=4 thenbeginram (9,10, length(s1)+10,13,1,1);ram (24,12, length(s1)+25,15,1,14);ram (9,14, length(s1)+10,17,1,1);end;until p=#13;case k of1:zao;2:anal;3:ual;end;until k=4;end.ВисновокВ даній курсовій роботі я програмував мовою Turbo Pascal. Практично реалізував всі ті знання які мені давалися в теоретичному виді. Само вдосконалив свої навички. Створив програму автоматизовано аналізує злочинність по областям. В даній роботі були використані як свої створені процедури так і запозичені. Було підключено два модулі, які додали до моєї програми гарний графічний інтерфейс, та можливість зберігати всі відомості в електронному вигляді в виді файлу.Була вибрана мова Pascal, оскільки я вважаю що вона найбільш підходить для реалізації цієї задачіСписок використаної літератури1. Струков В.М. Основи алгоритмизации и програмирования. Часть 2. Учебное пособие. - Харьков: Изд. Нац. ун-та внутр. дел, 2003. - 188 с.2. Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal. - X., 1995.3. Немнюгин С.А. Turbo Pascal. - СПб.: Питер, 2002. - 496 с.
|
|