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

Було створене головне поле, де графічно створені пункти вибору певного дійства яке вибрав користувач. Під слофом графіка тут розуміється псевдографіка

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

Контрольная работа

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

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

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

Сдать работу со 100% гаранией

Вступ

 

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

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

Я вибрав мову програмування 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);

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 ezd

Похожие работы

1 2 >