Автоматизований облік власників автотранспорту
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
Вступ
Для більш швидкого та повного розслідування злочинів повязаних з автотранспортом потрібно володіти якомога більшими відомостями. Таким чином, якщо ми маємо транспорт який причетний до аварії чи злочину, за допомогою програми яка розробляється в темі даної курсової роботи ми будимо мати повні і необхідні дані про власника авто
Призначення даного продукту полегшення то швидкість доступу до інформації.
Я вибрав мову програмування 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);