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