Referat.me

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

Вид работы: контрольная работа

Рубрика: Информатика и программирование

Размер файла: 22.29 Kb

Скачать файл: referat.me-140685.docx

Краткое описание работы: Розробка програми "Злочин", що призначена для збереження та перегляду, а також автоматичного аналізу всієї інформації про злочинність. Порядок і основні принципи формування структури даних, постановка задачі. Написання та лістинг розробленої програми.

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

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


Вступ

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

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;

repeat

newreadkey (p, z);

if z=80 then

k:=k+1;

if z=72 then

k:=k-1;

if k=5 then

k:=4;

if k=0 then

k:=1;

if k=1 then

begin

ram (9,6, length(s1)+10,9,1,14);

ram (24,8, length(s1)+25,11,1,1);

end;

if k=2 then

begin

ram (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 then

begin

ram (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 then

begin

ram (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 of

1: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 с.

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

  • Автоматизований облік надходження, зберігання і збуту продукції на товарній базі

    Розробка програми "товарна база", призначеної для збереження та перегляду, а також автоматизованої обробки інформації, що надає користувач. Формальна та неформальна постановка задачі. Структура зберігаючих даних. Вихідний код програми, її апробація.

  • Автоматизований облік власників автотранспорту

    Порядок та характеристика етапів розробки та апробації програми "водій" для збереження повноти інформування правоохоронних органів, та швидкості її надання. Структура зберігаючих даних. Формування вихідного коду даної програми. Створення головного поля.

  • Автоматизований облік власників автомобілей

    Розробка програми "Авто" для введення та збереження інформації про власників та їхні автомобілі. Побудова математичної моделі. Критерії вибору та пошуку даних. Структура введених та збережених у файлах програми даних. Алгоритм основної програми та її код.

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

    Створення програми "Аналізатор злочинності в регіоні". Структура зберігаючих даних. Неформальна постановка задачі. Алгоритм основної програми. Введення і збереження інформації. Можливість перегляду всіх існуючих документів. Вихідний код програми.

  • Автоматизоване нарахування заробітної плати

    Методика та особливості створення програми "Автоматизоване нарахування платні" для збереження, перегляду та аналізу введеної інформації, її алгоритм та вихідний код. Аналіз факторів, які впливають на формування заробітної платні робітника підприємства.

  • Автоматизована реєстрація і облік автомобілей

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

  • Програма для тестування знань з дисципліни "Програмування на мові С"

    Розробка програми, яка б дозволяла протестувати знання з дисципліни "Програмування на мові С", виставити оцінку. Опис та обґрунтування методу організації вхідних та вихідних даних, вибору складу технічних та програмних засобів. Проведення лістингу.

  • Довідкова система по кримінальному праву

    Створення довідкової системи по зменшенню витрат часу на здобуття інформації по кримінальному праву. Розробка алгоритму основної програми на мові програмування Turbo Pascal з підключенням модуля СRT, якій відповідає за графіку і DOS та працює з файлами.

  • База даних по приватним підприємствам регіону

    Програма "Приватка" для збереження та перегляду всієї інформації, що стосується пошуку підприємства. Розробка алгоритму та програмування на мові Turbo Pascal. Формальна та неформальна постановка задачі. Структура зберігаючих даних. Вихідний код програми.

  • Аналіз успішності групи

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