|
Автоматизований облік власників автотранспорту
Автоматизований облік власників автотранспорту
ВступДля більш швидкого та повного розслідування злочинів пов'язаних з автотранспортом потрібно володіти якомога більшими відомостями. Таким чином, якщо ми маємо транспорт який причетний до аварії чи злочину, за допомогою програми яка розробляється в темі даної курсової роботи ми будимо мати повні і необхідні дані про власника авто Призначення даного продукту полегшення то швидкість доступу до інформації. Я вибрав мову програмування Turbo Pascal, з метою закріплення своїх навиків з програмування. 1. Основна частина1.1 Неформальна постановка задачіРозробити програму - «водій» для збереження повноти інформування правоохоронних органів, та швидкості її надання.ь Введення і збереження інформації про власників автотранспорту в типізований файлі:o ПІБ власника автотранспортуo Назва та марка автоo Паспортні дані водія;o Адреса прописки.ь Можливість редагування даної бази по певним структурним елементамь Можливість перегляду всіх існуючих документівь Можливість видалення всієї бази.ь Зручний інтерфейс для користувачаь Швидкість та простота роботи в даній програміь Надійність та достовірність збережених відомостей1.2 Формальна постановка задачіВихідні дані:Позначимо сукупність всіх даних, які будуть заноситись до бази даних через множину T, таким чином T={T1,T2,…, Tі}, де і=1..n, Tі - дані про власників авто.Кожен власник має певні відомості про себе, що стосуються його особистості, отже маємо Ті={Ті1,Ті2,…, Тіj}, j=1..4.Таким чином ми маємо матрицю всіх відомостей які зберігаються в базі даних, та заносяться користувачем.Результат:Множина Рij, яка формуються з вхідних даних а саме множини ТijМатематична модель:Вk - критерій який використовується для пошуку, де k - номер критерія з зазначених чотирьох. Таким чином отримуємо множину Zij Aij, де Zij відповідає заданому критерію Вk1.3 Структура зберігаючих данихB - структурована запис для занесення відомостей про власників авто до типізованого файлу.· Av - поле запису строкового типу для занесення марки автомобіля власника.· Fio - поле запису строкового типу для занесення прізвища, ім'я та по-батькові власника.· Pas - поле запису строкового типу для занесення паспортних даних власника.· Mg - поле запису строкового типу для занесення адреси проживання.Ramka - процедура яка забезпечує прорисовку рамки.Ris - процедура яка прорисовує основне меню програми.Menin - процедура яка забезпечує управління головним менюPunkt - процедура для зарисовки певної областіVv - процедура для введення та збереження данихRed - процедура для редагування збережених раніше відомостейUdal - процедура для видалення всієї бази.2. Вихідний код програмиuses crt, dos;type b=recordav:string[10];fio, pas, mg:string[15];end;var f:file of b; bas:b;procedure ramka (x1, y1, x2, y2, a:byte);var i:integer;begintextcolor(0);window (x1, y1, x2, y2);textbackground(a);clrscr;write('Й');for i:=1 to (x2-x1) - 1 dobeginwrite('Н');end;write ('» ');for i:=2 to (y2-y1) - 1 dobegingotoxy (1, i);write('є');gotoxy (x2-x1+1, i);write('є');end;write('И');for i:=1 to (x2-x1) - 1 dobeginwrite('Н');end;write('ј');end;{-}procedure newreadkey (var a {`зЁвлў Ґ¬л© Є®¤ бЁ¬ў®»}:char;var b {ђ §иЁаҐл© Є®¤ Є» ўЁиЁ}:byte);beginb:=0;a:=readkey;if a=#0 thenb:=ord(readkey);end;{-}procedure ris;beginramka (10,3,30,7,7);ramka (10,6,30,10,7);ramka (10,9,30,13,7);ramka (10,12,30,16,7);window (10,3,30,16);gotoxy (1,4); write(#204);gotoxy (1,7); write(#204);gotoxy (1,10); write(#204);gotoxy (21,4); write(#185);gotoxy (21,7); write(#185);gotoxy (21,10); write(#185);end;{-}procedure menin (x1, y1, x2, y2, a:byte);beginwindow (x1, y1, x2, y2);textbackground(a);clrscr;textcolor(1);write (' Zapolnit');window (x1, y1+3, x2, y2+3);clrscr;write (' Redaktirovat');window (x1, y1+6, x2, y2+6);clrscr;write (' Udalit');window (x1, y1+9, x2, y2+9);clrscr;write (' Vixod');end;{-}procedure punkt (x, y, z, c, q:byte; s:string);beginwindow (x, y, z, c);textbackground(q);clrscr;textcolor(10);write(s);end;procedure pamka (x1, y1, x2, y2:integer);var i, c:integer;begingotoxy (x1, y1);write(#201);for i:=1 to x2-x1-1 dobegingotoxy (x1+i, y1);write(#205);end;gotoxy (x2, y1);write(#187);for i:=1 to y2-y1-1 dobegingotoxy (x2, y1+i);write(#186);end;gotoxy (x2, y2);write(#188);for i:=1 to x2-x1-1 dobegingotoxy (x2-i, y2);write(#205);end;gotoxy (x1, y2);write(#200);for i:=1 to y2-y1-1 dobegingotoxy (x1, y1+i);write(#186);end;end;procedure vv;var i, n:integer;beginwindow (1,1,40,25);textbackground(0);clrscr;textcolor(2);pamka (1,1,39,25);window (2,2,38,25);gotoxy (6,1);textcolor(6);writeln ('ZAPOLNENIE UCHOTA VODITELEY');window (2,3,38,25);textcolor(7);write ('Vvedi kol-vo voditeley - ');readln(n);assign (f, 'd:\po');rewrite(f);for i:=1 to n dobeginwith bas dobeginclrscr;gotoxy (8,1);writeln ('VODITEL-', i);write ('Vvedi F.I.O voditela - '); readln(fio);write ('Vvedi avto na kotorom on ezdiet - '); readln(av);write ('Vvedi seriu i nimer pasporta voditela - '); readln(pas);write (' Vvedi adres progivania - '); readln(mg);seek (f, filesize(f));write (f, bas);end;close(f);end;end;procedure punkt (x, y, z, c, q:byte; s:string);beginwindow (x, y, z, c);textbackground(q);clrscr;textcolor(10);write(s);end;procedure pamka (x1, y1, x2, y2:integer);var i, c:integer;begingotoxy (x1, y1);write(#201);for i:=1 to x2-x1-1 dobegingotoxy (x1+i, y1);write(#205);end;gotoxy (x2, y1);write(#187);for i:=1 to y2-y1-1 dobegingotoxy (x2, y1+i);write(#186);end;gotoxy (x2, y2);write(#188);for i:=1 to x2-x1-1 dobegingotoxy (x2-i, y2);write(#205);end;gotoxy (x1, y2);write(#200);for i:=1 to y2-y1-1 dobegingotoxy (x1, y1+i);write(#186);end;end;{………………………………………….}procedure red;var i, j, p:integer;beginwindow (1,1,40,25);textbackground(0);clrscr;textcolor(7);if FSearch ('po', 'd:\')='' thenbeginwindow (1,1,40,25);textbackground(0);clrscr;pamka (10,10,35,15);gotoxy (16,11);textcolor(132);writeln ('BASA NE SOZDANA');textcolor(7);endelsebeginclrscr;window (1,1,40,25);textcolor(6);pamka (1,1,39,25);gotoxy (5,2);textcolor(3);writeln ('REDAKTIROVANIE UCHOTA VODITELEY');window (2,3,38,25);assign (f, 'd:\po');reset(f);gotoxy (13,1);textcolor(4);writeln ('VSA BASA:');window (2,4,38,25);for i:=0 to filesize(f) - 1 dobeginseek (f, i);read (f, bas);with bas dobeginclrscr;textcolor(7);writeln ('voditel-', i+1); writeln;writeln ('F.I.O voditela-', fio); writeln;write ('Avto na kotorom on ezdiet-', av); writeln;write ('Seria i nomer pasporta voditela-', pas); writeln;write ('Adres progivania-', mg); writeln;for j:=1 to 30 dodelay(9999);end;end;clrscr;write ('Vvedi nomer voditela kotorogo budem redaktiovat - '); readln(p);seek (f, p-1);read (f, bas);with bas dobeginclrscr;textcolor(7);writeln ('voditel-', p); writeln;writeln ('F.I.O voditela-', fio); writeln;write ('Avto na kotorom on ezdiet-', av); writeln;write ('Seria i nomer pasporta voditela-', pas); writeln;write ('Adres progivania-', mg); writeln;end;writeln;textcolor(4);writeln ('Dla prestuplenia k redaktirovaniu nagmi «ENTER» ');readln;textcolor(7);with bas dobeginclrscr;gotoxy (8,1);writeln ('VODITEL-', p);write ('Vvedi F.I.O voditela - '); readln(fio);write ('Vvedi avto na kotorom on ezdiet - '); readln(av);write ('Vvedi seriu i nimer pasporta voditela - '); readln(pas);write (' Vvedi adres progivania - '); readln(mg);seek (f, p-1);write (f, bas);end;close(f);end;end;{…………………………………………………}procedure udal;var s:string; i, j:integer;beginif FSearch ('po', 'd:\')='' thenbeginwindow (1,1,40,25);textbackground(0);clrscr;pamka (10,10,35,15);gotoxy (16,11);textcolor(132);writeln ('BASA NE SOZDANA');textcolor(7);endelsebeginwindow (1,1,40,25);textbackground(0);clrscr;window (10,10,35,15);Writeln ('Dla udalenia nagmi - «ENTER» ');if readkey=#13 thenbegintextcolor(4);s:='UDALENO';for i:=1 to length(s) dobeginwrite (s[i]);for j:=1 to 5 dodelay(9999);end;endelseend;end;{:}var i:byte;key:char; k, p:byte;begintextmode(c40);{vv;}{red;}{udal;}repeatwindow (1,1,40,25);textbackground(7);clrscr;ris;menin (11,4,29,5,7);i:=1;punkt (11,4,29,5,4,' Zapolnit');repeatnewreadkey (key, k);case k of72: beginif i=1 thenp:=4;if i>1 thenp:=i-1;end;80: beginif i=4 thenp:=1;if i<4 thenp:=i+1;end;end;i:=p;if i=1 thenbeginmenin (11,4,29,5,7);punkt (11,4,29,5,4,' Zapolnit');end;if i=2 thenbeginmenin (11,4,29,5,7);punkt (11,7,29,8,4,' Redaktirovat');end;if i=3 thenbeginmenin (11,4,29,5,7);punkt (11,10,29,11,4,' Udalit');end;if i=4 thenbeginmenin (11,4,29,5,7);punkt (11,13,29,14,4,' Vixod');end;until key=#13;case i of1: vv;2:red;3:udal;end;until i=4;end.ВисновокВ даній курсовій роботі буда розроблена програма «Водій», де зберігаються всі відомості про власників автомобілів і при необхідності їх можливо легко проглянути та використати для необхідних мір при розкритті злочинів чи ДТП.Було створене головне поле, де графічно створені пункти вибору певного дійства яке вибрав користувач. Під слофом графіка тут розуміється псевдографіка яка доступна завдяки модулю CRT. Також в «Водій» використовуються процедури з модулю DOS. Була використані приємна кольорова гама, яка надає розслабленості користувачу, а також концентрує увагу на певних важливих елементах програми.Список використаної літератури1. Струков В.М. Основи алгоритмизации и програмирования. Часть 2. Учебное пособие. - Харьков: Изд. Нац. ун-та внутр. дел, 2003. - 188 с.2. Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal. - X., 1995.3. Немнюгин С.А. Turbo Pascal. - СПб.: Питер, 2002. - 496 с.: ил.
|
|