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

В даній курсовій роботі я програмував мовою Turbo Pascal. Практично реалізував всі ті знання які мені давалися в теоретичному виді.

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

Контрольная работа

Компьютеры, программирование

Другие контрольные работы по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией

 

 

 

 

 

 

 

 

 

 

 

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

 

 

Вступ

 

Злочинність все більше розвивається в сучасному світі. І тому необхідно вести строгий облік всієї злочинності. Розробити програму яка буди здійснювати автоматизований аналіз злочинності по певній області. Так як ця задача не вимагає великих та жорстких методів написання, я оберу мову програмування 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=record

nas: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;

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 izi (x, y:byte; s1, s2, s3, s4:string);

begin

gotoxy (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);

begin

ramo4ka (x, y, x1, y1, a, b);

end;

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

var i, c:integer;

begin

textcolor(7);

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

var i, n:integer;

begin

window (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 do

begin

clrscr;

seek (f, filesize(f));

with obl do

begin

write ('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;

begin

if FSearch ('te.j', 'c:\')='' then

begin

window (1,1,40,25);

textbackground(1);

clrscr;

pamka (1,1,39,25);

window (2,2,38,24);

textcolor(132);

writeln ('FAILA NET'); readln;

end

else

begin

window (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 do

begin

seek (f, i);

read (f, obl);

with obl do

begin

if ub>k then

begin

k:=ub;

j:=i;

end;

end;

end;

seek (f, j);

read (f, obl);

with obl do

begin

writeln ('sam. bolh. kol. ubiystv-', ub);

writeln ('v ', nas, ' oblasti');

writeln(#219);

end;

k:=-9999;

j:=0;

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

begin

seek (f, i);

read (f, obl);

with obl do

begin

if iz>k then

begin

k:=iz;

j:=i;

end;

end;

end;

seek (f, j);

read (f, obl);

with obl do

begin

writeln ('sam. bolh. kol. iznosilovaniy-', iz);

writeln ('v ', nas, ' oblasti');

writeln(#219);

end;

k:=-9999;

j:=0;

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

begin

seek (f, i);

read (f, obl);

with obl do

begin

if kr>k then

begin

k:=kr;

j:=i;

end;

end;

end;

seek (f, j);

read (f, obl);

with obl do

begin

writeln ('sam. bolh. kol. kraj-', kr);

writeln ('v ', nas, ' oblasti');

writeln(#219);

end;

k:=-9999;

j:=0;

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

begin

seek (f, i);

read (f, obl);

with obl do

begin

if pas>k then

begin

k:=pas;

j:=i;

end;

end;

end;

seek (f, j);

read (f, obl);

with obl do

begin

writeln ('sam. bolh. kol. rasboev-', pas);

writeln ('v ', nas, ' oblasti');

writeln(#219);

end;

for i:=1 to 37 do

begin

gotoxy (i, 13);

write(#196);

end;

readln;

close(f);

end;

end;

{…………………}

procedure ual;

begin

if FSearch ('te.j', 'c:\')='' then

begin

window (1,1,40,25);

textbackground(1);

clrscr;

pamka (1,1,39,25);

window (2,2,38,24);

textcolor(132);

writeln ('FAILA NET'); readln;

end

else

begin

window (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;

begin

textmode(C40);

repeat

window (1,1,40,25);

textbackground(1);

textcolor(7)

Похожие работы

1 2 >