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

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

Вступ

 

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

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

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

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

 

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

 

uses crt, 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);