Реферат: Автоматизована реєстрація і облік викрадених автомобілів - Refy.ru - Сайт рефератов, докладов, сочинений, дипломных и курсовых работ

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

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

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


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

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

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


Харків, 2009


Зміст


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

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

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

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

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

Вступ


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

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

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


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

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

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

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

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

Марка авто;

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

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

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

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

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

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

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

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

Марка авто;

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

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

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

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

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


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

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


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

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

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