Курсовая работа: Автоматизована реєстрація і облік викрадених автомобілів
|
Название: Автоматизована реєстрація і облік викрадених автомобілів Раздел: Рефераты по информатике Тип: курсовая работа | |||||
Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС Курсова робота з дисципліни «Основи програмування та алгоритмічні мови» на тему: «Автоматизована реєстрація і облік викрадених автомобілів» Харків, 2009 Зміст 1.1 Неформальна постановка задачі 1.2 Формальна постановка задачі 1.3 Структура зберігаючих даних: 2.1 Алгоритм основної програми Список використаної літератури ВступШвидкий розвиток комп’ютерних технологій надав можливість багатьом одержувати, зберігати та обробляти інформацію в електронному вигляді, але виникла така проблема, що такої інформації стало дуже багато а обробляти її при такій кількості дуже нелегко. Таким чином я вирішив обрати темою своєї курсової роботі саме створення програми для автоматизованої реєстрації і обліку викрадених автомобілів. Ця програма полегшить обробку електронного обігу інформації. Я вибрав мову програмування Турбо Паскаль, з метою закріплення своїх навиків з програмування. Вихідним продуктом курсової роботи буду програма під назвою «реєстрація і облік викрадених автомобілів». 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 – Реєстраційний номер автомобіля, Li є П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. Сердюченко В.Я. Розробка алгоритмів та програмування на мові TurboPascal. – X.,1995.
3. Немнюгин С.А. TurboPascal. – СПб.: Питер, 2002. – 496 с.: ил.

