|
Автоматизована реєстрація і облік викрадених автомобілів
Автоматизована реєстрація і облік викрадених автомобілів
Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС Курсова робота з дисципліни «Основи програмування та алгоритмічні мови» на тему: «Автоматизована реєстрація і облік викрадених автомобілів» Харків, 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.Математична модель: nO1=?T1 , де T1 - кількість викрадених автомобілів за рік j=1 nO2=?T2 , де T2 - кількість знайдених автомобілів за рік j=1O3= O1 - O2 - кількість автомобілів які ще не знайдені в даному році1.3 Структура зберігаючих даних:Mah - тип запис для занесення даних про автомобілі· Cv - перемінні строкового типу для зберігання кольору· Nom - перемінні строкового типу для зберігання номеру· md - перемінні строкового типу для зберігання моделі· hz - перемінні строкового типу для зберігання ФІБ власникаvvod - процедура для введення та зберігання відомостейpoisk; - процедура для пошуку певних відомостей за певним критеріємred - процедура для до записи в існуючу базуmenu - процедура для створення управляючого меню2. Алгоритми2.1 Алгоритм основної програми2.2 Алгоритм процедури Vvod2.3 Алгоритм процедури Red3. Вихідний код програми 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 с.: ил.
|
|