бесплатные рефераты

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

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

Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС

Курсова робота

з дисципліни «Основи програмування та алгоритмічні мови»

на тему: «Автоматизована реєстрація і облік викрадених автомобілів»

Харків, 2009

Зміст

  • Вступ
  • 1. Основна частина
    • 1.1 Неформальна постановка задачі
    • 1.2 Формальна постановка задачі
    • 1.3 Структура зберігаючих даних:
  • 2. Алгоритми
    • 2.1 Алгоритм основної програми
    • 2.2 Алгоритм процедури Vvod
    • 2.3 Алгоритм процедури Red
  • 3. Вихідний код програми
  • Висновок
  • Список використаної літератури

Вступ

Швидкий розвиток комп'ютерних технологій надав можливість багатьом одержувати, зберігати та обробляти інформацію в електронному вигляді, але виникла така проблема, що такої інформації стало дуже багато а обробляти її при такій кількості дуже нелегко. Таким чином я вирішив обрати темою своєї курсової роботі саме створення програми для автоматизованої реєстрації і обліку викрадених автомобілів. Ця програма полегшить обробку електронного обігу інформації.

Я вибрав мову програмування Турбо Паскаль, з метою закріплення своїх навиків з програмування.

Вихідним продуктом курсової роботи буду програма під назвою «реєстрація і облік викрадених автомобілів».

1. Основна частина

1.1 Неформальна постановка задачі

Розробити програму - «реєстрація і облік викрадених автомобілів» для автоматизації обробки інформації по викраденим автомобілям.

Ш Введення користувачем відомостей про викрадені автомобілі та збереження їх в типізований файл:

o ФІО власника викраденого авто;

o Марка авто;

o Колір автомобіля;

o Дата викрадення авто;

o Номер автомобіля.

Ш Можливість редагування даної бази

Ш Можливість видалення відомостей які втратили свою суть

Ш Організація пошуку за критеріями:

o ФІО власника;

o Дата викрадення автотранспорту;

o Марка авто;

o Номер автомобіля;

Ш Можливість перегляду всіх існуючих відомостей;

Ш Зручний інтерфейс для користувача;

Ш В складних випадках створення підказок для користувача;

Ш Швидкість та простота роботи в даній програмі;

1.2 Формальна постановка задачі

Вихідні дані:

Нехай П={П1,П2,…,Пi}, де ( i=1, 2, ..., N ) - множина викрадених автомобілів.

Gi є Пi - ФІО власника авто яке викрали Fi є Пi - марка викраденого авто Di є Пi - колір викраденого автомобіля Hi є Пi - Дата реєстрації викрадання автомобіля Ji є Пi - Реєстраційний номер автомобіля,

L i є Пi - Прапорець, яки дорівнює одиниці при поверненні авто

Таким чином отримуємо нову сукупність Пij - яка більш розширена в плані інформації про викрадені автомобілі.

Результат:

Множина Рij, яка формуються з вхідних даних а саме множини Пij.

Нову множину O=||Оi||, яка надає статистичні дані обраховуючи множину Пij.

Математична модель:

n

O1=?T1 , де T1 - кількість викрадених автомобілів за рік

j=1

n

O2=?T2 , де T2 - кількість знайдених автомобілів за рік

j=1

O3= O1 - O2 - кількість автомобілів які ще не знайдені в даному році

1.3 Структура зберігаючих даних:

Mah - тип запис для занесення даних про автомобілі

· Cv - перемінні строкового типу для зберігання кольору

· Nom - перемінні строкового типу для зберігання номеру

· md - перемінні строкового типу для зберігання моделі

· hz - перемінні строкового типу для зберігання ФІБ власника

vvod - процедура для введення та зберігання відомостей

poisk; - процедура для пошуку певних відомостей за певним критерієм

red - процедура для до записи в існуючу базу

menu - процедура для створення управляючого меню

2. Алгоритми

2.1 Алгоритм основної програми

2.2 Алгоритм процедури Vvod

2.3 Алгоритм процедури Red

3. Вихідний код програми

uses crt,dos;

type mah=record

cv,nom:string[10];

md:string[10];

hz:string[20];

end;

var mas:mah;f:file of mah;c:char;

{.........vvod.............}

procedure vvod;

var i,n:integer; s:PathStr;

begin

assign(f,'d:\fil');

rewrite(f);

clrscr;

writeln('vvedi kol-vo avtom');

read(n);

for i:=1 to n do

begin

seek(f,filesize(f));

with mas do

begin

writeln('vvedi nomer avtomobila');

readln;

readln(nom);

writeln('cvet avtomobila');

readln(cv);

writeln('vvedi HIO hozaina avtomobila');

readln(hz);

writeln('vvedi model avtomobila');

readln(md);

end;

write(f,mas);

end;

close(f);

end;

{.............poisk..........}

procedure poisk;

var n,i:integer;d:string; s:PathStr;ch:char;

begin

clrscr;

window(1,1,80,50);

textbackground(7);

clrscr;

{window();}

S:=FSearch('fil','d:\');

If S='' then

writeln('basi net')

else

writeln('1-naiti');

writeln('2-posmotret vse');

writeln('0-vixod v gl.meny');

ch:=readkey;

case ch of

'1':

begin

clrscr;

writeln('po hem ishem?');

writeln('1-po modeli');

writeln('2-po cvetu');

writeln('3-po nomeru');

writeln('4-po hozainu');

assign(f,'d:\fil');

reset(f);

ch:=readkey;

case ch of

'1':begin

writeln('vvedi model');

readln(d);

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

begin

seek(f,i);

read(f,mas);

with mas do

begin

if d=md then

begin

clrscr;

writeln('model avtomobila: ',md);

writeln('cvet avtomobila: ',cv);

writeln('nomer avtomobila: ',nom);

writeln('ima hozaina: ',hz);

end;

end;

end;

end;

'2':begin

writeln('vvedi cvet');

readln(d);

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

begin

seek(f,i);

read(f,mas);

with mas do

if d=cv then

begin

clrscr;

writeln('model avtomobila: ',md);

writeln('cvet avtomobila: ',cv);

writeln('nomer avtomobila: ',nom);

writeln('ima hozaina: ',hz);

end;

end;

end;

'3':begin

clrscr;

writeln('vvedi nomer');

readln(d);

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

begin

seek(f,i);

read(f,mas);

with mas do

if d=nom then

begin

clrscr;

writeln('model avtomobila: ',md);

writeln('cvet avtomobila: ',cv);

writeln('nomer avtomobila: ',nom);

writeln('ima hozaina: ',hz);

end;

end;

end;

'4':begin

writeln('vvedi hozaina');

readln(d);

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

begin

seek(f,i);

read(f,mas);

with mas do

if d=hz then

begin

clrscr;

writeln('model avtomobila: ',md);

writeln('cvet avtomobila: ',cv);

writeln('nomer avtomobila: ',nom);

writeln('ima hozaina: ',hz);

end;

end;

end;

'0':exit;

end;

close(f);

end;

'2':begin

assign(f,'d:\fil');

reset(f);

clrscr;

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

begin

seek(f,i);

read(f,mas);

writeln('zapis #',i+1);

with mas do

begin

writeln('model avtomobila: ',md);

writeln('cvet avtomobila: ',cv);

writeln('nomer avtomobila: ',nom);

writeln('ima hozaina: ',hz);

writeln;

end;

end;

close(f);

readln;

end;

end;

end;

{..................redak.....................}

procedure red;

var i,p,n,l:integer;s:PathStr;v:char;k:string[10];

begin

clrscr;

window(1,1,80,50);

textbackground(4);

clrscr;

window(20,1,60,50);

textbackground(3);

clrscr;

textcolor(5);

writeln('1-dopis v konec');

writeln('2-izmenit staryu');

writeln('0-vixod v gl.meny');

v:=readkey;

case v of

'1':begin

clrscr;

S:=FSearch('fil','d:\');

If S='' then

begin

assign(f,'d:\fil');

rewrite(f);

close(f);

end;

assign(f,'d:\fil');

reset(f);

clrscr;

writeln('vvedi kol-vo dopisivaemih avtom');

read(n);

for i:=1 to n do

begin

seek(f,filesize(f));

with mas do

begin

writeln('vvedi nomer avtomobila');

readln;

readln(nom);

writeln('cvet avtomobila');

readln(cv);

writeln('vvedi HIO hozaina avtomobila');

readln(hz);

writeln('vvedi model avtomobila');

readln(md);

end;

write(f,mas);

end;

close(f);

end;

'2':begin

clrscr;

S:=FSearch('fil','d:\');

If S='' then

writeln('basi net')

else

begin

assign(f,'d:\fil');

reset(f);

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

begin

seek(f,i);

read(f,mas);

writeln('zapis #',i+1);

with mas do

begin

writeln('model avtomobila: ',md);

writeln('cvet avtomobila: ',cv);

writeln('nomer avtomobila: ',nom);

writeln('ima hozaina: ',hz);

end;

writeln;

end;

writeln('vvedi nomer izmenaemoy');

readln(l);

clrscr;

seek(f,l-1);

read(f,mas);

with mas do

begin

writeln('1-model avtomobila: ',md);

writeln('2-cvet avtomobila: ',cv);

writeln('3-nomer avtomobila: ',nom);

writeln('4-ima hozaina: ',hz);

end;

writeln('vvedi chto bydem menat');

v:=readkey;

case v of

'1':begin

with mas do

begin

writeln('staraya model-',md);

write('vvedi novuy: ');

readln(k);

md:=k;

end;

seek(f,l-1);

write(f,mas);

close(f);

end;

'2':begin

with mas do

begin

writeln('stariy cvet-',cv);

write('vvedi novuy: ');

readln(k);

cv:=k;

end;

seek(f,l-1);

write(f,mas);

close(f);

end;

'3':begin

with mas do

begin

writeln('stariy nomer-',md);

write('vvedi novuy: ');

readln(k);

nom:=k;

end;

seek(f,l-1);

write(f,mas);

close(f);

end;

'4':begin

with mas do

begin

writeln('stariy hozain-',md);

write('vvedi novuy: ');

readln(k);

hz:=k;

end;

seek(f,l-1);

write(f,mas);

close(f);

end;

end;

end;

end;

end;

end;

procedure menu;

begin

window(1,1,80,50);

textbackground (5);

clrscr;

textcolor(0);

window(20,10,40,25);

textbackground(3);

clrscr;

gotoxy(6,8);

writeln('1-zapolnit');

window(40,10,60,25);

textbackground(4);

clrscr;

gotoxy(6,8);

writeln('2-poisk');

window(20,26,39,40);

textbackground(2);

clrscr;

gotoxy(3,8);

writeln('3-redaktirovat');

window(40,26,60,40);

textbackground(6);

clrscr;

gotoxy(6,8);

writeln('0-vihod');

end;

{.............................proga.................................}

begin

TextMode(C80 + Font8x8);

clrscr;

repeat

menu;

c:=readkey;

case c of

'1':vvod;

'2':poisk;

'3':red;

{'0':halt;}

end;

until c='0';

end. {.......kon........}

Висновок

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

Цією роботою я виконав для себе два завдання: по-перше я створив корисну програму яка може принести користь людям, а по-друге я вдосконалив свої навички в програмуванні та на власному досвіді впевнився що Паскаль досить могутня платформа для створення програм такого типу.

В даній роботі було створено досить велику кількість процедур, які можливо використати і в інших програмних проектах, були використані різні типи даних, а також були застосовані процедури та функції які були створені раніше, ці процедури та функції я брав з модулів CRT та DOS

Список використаної літератури

1. Струков В.М. Основи алгоритмизации и програмирования. Часть 2. Учебное пособие. - Харьков: Изд. Нац. ун-та внутр.дел,2003. - 188 с.

2. Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal. - X.,1995.

3. Немнюгин С.А. Turbo Pascal. - СПб.: Питер, 2002. - 496 с.: ил.


© 2010 РЕФЕРАТЫ