Автоматизована реєстрація і облік викрадених автомобілів
В даній курсовій роботі я створив програму реєстрації та автоматизованого створення звіту на рік по викраденим машинам. В ОВС дуже важливо своєчасно володіти інформацією, для швидкого та правильного розкриття злочинів. Саме цей продукт спрямований на одержання працівником міліції достовірної і важливої інформації. Міністерство внутрішніх справ України Харківський національний університет… Читати ще >
Автоматизована реєстрація і облік викрадених автомобілів (реферат, курсова, диплом, контрольна)
Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС Курсова робота з дисципліни «Основи програмування та алгоритмічні мови»
на тему: «Автоматизована реєстрація і облік викрадених автомобілів»
Харків, 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 с.: ил.