РефератыИнформатика, программированиеАвАвтоматизований облік власників автотранспорту

Автоматизований облік власників автотранспорту

Вступ

Для більш швидкого та повного розслідування злочинів пов’язаних з автотранспортом потрібно володіти якомога більшими відомостями. Таким чином, якщо ми маємо транспорт який причетний до аварії чи злочину, за допомогою програми яка розробляється в темі даної курсової роботи ми будимо мати повні і необхідні дані про власника авто


Призначення даного продукту полегшення то швидкість доступу до інформації.


Я вибрав мову програмування TurboPascal, з метою закріплення своїх навиків з програмування.


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
відповідає заданому критерію В
k


1.3 Структура зберігаючих даних

B – структурована запис для занесення відомостей про власників авто до типізованого файлу.


· Av – поле запису строкового типу для занесення марки автомобіля власника.


· Fio – поле запису строкового типу для занесення прізвища, ім’я та по-батькові власника.


· Pas – поле запису строкового типу для занесення паспортних даних власника.


· Mg – поле запису строкового типу для занесення адреси проживання.


Ramka – процедура яка забезпечує прорисовку рамки.


Ris – процедура яка прорисовує основне меню програми.


Menin – процедура яка забезпечує управління головним меню


Punkt – процедура для зарисовки певної області


Vv – процедура для введення та збереження даних


Red – процедура для редагування збережених раніше відомостей


Udal – процедура для видалення всієї бази.


2.
Вихідний код програми

usescrt, dos;


type b=record


av: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;


begin


textcolor(0);


window (x1, y1, x2, y2);


textbackground(a);


clrscr;


write('Й');


for i:=1 to (x2-x1) – 1 do


begin


write('Н');


end;


write ('» ');


for i:=2 to (y2-y1) – 1 do


begin


gotoxy (1, i);


write('є');


gotoxy (x2-x1+1, i);


write('є');


end;


write('И');


for i:=1 to (x2-x1) – 1 do


begin


write('Н');


end;


write('ј');


end;


{–}


procedure newreadkey (var a {‘зЁвлў Ґ¬л© Є®¤ бЁ¬ў®»}:char;


var b {ђ §иЁаҐ­л© Є®¤ Є» ўЁиЁ}:byte);


begin


b:=0;


a:=readkey;


if a=#0 then


b:=ord(readkey);


end;


{–}


procedure ris;


begin


ramka (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);


begin


window (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);


begin


window (x, y, z, c);


textbackground(q);


clrscr;


textcolor(10);


write(s);


end;


procedure pamka (x1, y1, x2, y2:integer);


var i, c:integer;


begin


gotoxy (x1, y1);


write(#201);


for i:=1 to x2-x1–1 do


begin


gotoxy (x1+i, y1);


write(#205);


end;


gotoxy (x2, y1);


write(#187);


for i:=1 to y2-y1–1 do


begin


gotoxy (x2, y1+i);


write(#186);


end;


gotoxy (x2, y2);


write(#188);


for i:=1 to x2-x1–1 do


begin


gotoxy (x2-i, y2);


write(#205);


end;


gotoxy (x1, y2);


write(#200);


for i:=1 to y2-y1–1 do


begin


gotoxy (x1, y1+i);


write(#186);


end;


end;


procedure vv;


var i, n:integer;


begin


window (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 do


begin


with bas do


begin


clrscr;


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);


begin


window (x, y, z, c);


textbackground(q);


clrscr;


textcolor(10);


write(s);


end;


procedure pamka (x1, y1, x2, y2:integer);


var i, c:integer;


begin


gotoxy (x1, y1);


write(#201);


for i:=1 to x2-x1–1 do


begin


gotoxy (x1+i, y1);


write(#205);


end;


gotoxy (x2, y1);


write(#187);


for i:=1 to y2-y1–1 do


begin


gotoxy (x2, y1+i);


write(#186);


end;


gotoxy (x2, y2);


write(#188);


for i:=1 to x2-x1–1 do


begin


gotoxy (x2-i, y2);


write(#205);


end;


gotoxy (x1, y2);


write(#200);


for i:=1 to y2-y1–1 do


begin


gotoxy (x1, y1+i);


write(#186);


end;


end;


{………………………………………….}


procedure red;


var i, j, p:integer;


begin


window (1,1,40,25);


textbackground(0);


clrscr;


textcolor(7);


if FSearch ('po', 'd:')='' then


begin


window (1,1,40,25);


textbackground(0);


clrscr;


pamka (10,10,35,15);


gotoxy (16,11);


textcolor(132);


writeln ('BASA NE SOZDANA');


textcolor(7);


end


else


begin


clrscr;


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 do


begin


seek (f, i);


read (f, bas);


with bas do


begin


clrscr;


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 do


delay(9999);


end;


end;


clrscr;


write ('Vvedi nomer voditela kotorogo budem redaktiovat – '); readln(p);


seek (f, p-1);


read (f, bas);


with bas do


begin


clrscr;


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 do


begin


clrscr;


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;


begin


if FSearch ('po', 'd:')='' then


begin


window (1,1,40,25);


textbackground(0);


clrscr;


pamka (10,10,35,15);


gotoxy (16,11);


textcolor(132);


writeln ('BASA NE SOZDANA');


textcolor(7);


end


else


begin


window (1,1,40,25);


textbackground(0);


clrscr;


window (10,10,35,15);


Writeln ('Dla udalenia nagmi – «ENTER» ');


if readkey=#13 then


begin


textcolor(4);


s:='UDALENO';


for i:=1 to length(s) do


begin


write (s[i]);


for j:=1 to 5 do


delay(9999);


end;


end


else


end;


end;


{:}


var i:byte;


key:char; k, p:byte;


begin


textmode(c40);


{vv;}


{red;}


{udal;}


repeat


window (1,1,40,25);


textbackground(7);


clrscr;


ris;


menin (11,4,29,5,7);


i:=1;


punkt (11,4,29,5,4,' Zapolnit');


repeat


newreadkey (key, k);


case k of


72: begin


if i=1 then


p:=4;


if i>1 then


p:=i-1;


end;


80: begin


if i=4 then


p:=1;


if i<4 then


p:=i+1;


end;


end;


i:=p;


if i=1 then


begin


menin (11,4,29,5,7);


punkt (11,4,29,5,4,' Zapolnit');


end;


if i=2 then


begin


menin (11,4,29,5,7);


punkt (11,7,29,8,4,' Redaktirovat');


end;


if i=3 then


begin


menin (11,4,29,5,7);


punkt (11,10,29,11,4,' Udalit');


end;


if i=4 then


begin


menin (11,4,29,5,7);


punkt (11,13,29,14,4,' Vixod');


end;


until key=#13;


case i of


1: vv;


2:red;


3:udal;


end;


until i=4;


end.


Висновок

В даній курсовій роботі буда розроблена програма «Водій», де зберігаються всі відомості про власників автомобілів і при необхідності їх можливо легко проглянути та використати для необхідних мір при розкритті злочинів чи ДТП.


Було створене головне поле, де графічно створені пункти вибору певного дійства яке вибрав користувач. Під слофом графіка тут розуміється псевдографіка яка доступна завдяки модулю CRT. Також в «Водій» використовуються процедури з модулю DOS. Була використані приємна кольорова гама, яка надає розслабленості користувачу, а також концентрує увагу на певних важливих елементах програми.


Список використаної літератури

1.Струков В.М. Основи алгоритмизации и програмирования. Часть 2. Учебное пособие. – Харьков: Изд. Нац. ун-та внутр. дел, 2003. – 188 с.


2.Сердюченко В.Я. Розробка алгоритмів та програмування на мові TurboPascal. – X., 1995.


3.Немнюгин С.А. TurboPascal. – СПб.: Питер, 2002. – 496 с.: ил.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Автоматизований облік власників автотранспорту

Слов:1414
Символов:15436
Размер:30.15 Кб.