Смекни!
smekni.com

Автоматизована реєстрація і облік викрадених автомобілів (стр. 1 из 2)

Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС

Курсова робота

з дисципліни «Основи програмування та алгоритмічні мови»

на тему: «Автоматизована реєстрація і облік викрадених автомобілів»

Харків, 2009


Зміст

Вступ

1. Основна частина

1.1 Неформальна постановка задачі

1.2 Формальна постановка задачі

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

2. Алгоритми

2.1 Алгоритм основної програми

2.2 Алгоритм процедури Vvod

2.3 Алгоритм процедури Red

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

Висновок

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


Вступ

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

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

Вихідним продуктом курсової роботи буду програма під назвою «реєстрація і облік викрадених автомобілів».


1. Основна частина

1.1 Неформальна постановка задачі

Розробити програму -«реєстрація і облік викрадених автомобілів» для автоматизації обробки інформації по викраденим автомобілям.

- Введення користувачем відомостей про викрадені автомобілі та збереження їх в типізований файл:

o ФІО власника викраденого авто;

o Марка авто;

o Колір автомобіля;

o Дата викрадення авто;

o Номер автомобіля.

- Можливість редагування даної бази

- Можливість видалення відомостей які втратили свою суть

- Організація пошуку за критеріями:

o ФІО власника;

o Дата викрадення автотранспорту;

o Марка авто;

o Номер автомобіля;

- Можливість перегляду всіх існуючих відомостей;

- Зручний інтерфейс для користувача;

- В складних випадках створення підказок для користувача;

- Швидкість та простота роботи в даній програмі;

1.2 Формальна постановка задачі

Вихідні дані:

Нехай П={П12,…,Пi}, де ( i=1, 2, ..., N ) – множина викрадених автомобілів.

Giє Пi – ФІО власника авто яке викралиFiє Пi – марка викраденого автоDiє Пi – колір викраденого автомобіляHiє Пi – Дата реєстрації викрадання автомобіляJiє Пi – Реєстраційний номер автомобіля,

Liє Пi–Прапорець, яки дорівнює одиниці при поверненні авто

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

Результат:

Множина Рij, яка формуються з вхідних даних а саме множини Пij.

Нову множину O=||Оi||, яка надаєстатистичні дані обраховуючи множинуПij.

Математична модель:

n

O1=∑T1 , де T1 – кількість викрадених автомобілів за рік

j=1

n

O2=∑T2, де T2 – кількість знайдених автомобілів за рік

j=1

O3=O1 - O2– кількість автомобілів які ще не знайдені в даному році

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

Mah – тип запис для занесення даних про автомобілі

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

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

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

· hz – перемінні строкового типу для зберігання ФІБ власника

vvod - процедура для введення та зберігання відомостей

poisk; - процедура для пошуку певних відомостей за певним критерієм

red - процедура для до записи в існуючу базу

menu - процедура для створення управляючого меню


2. Алгоритми

2.1 Алгоритм основної програми



2.2 Алгоритм процедури Vvod



2.3 Алгоритм процедури Red




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

uses crt,dos;

type mah=record

cv,nom:string[10];

md:string[10];

hz:string[20];

end;

var mas:mah;f:file of mah;c:char;

{.........vvod.............}

procedure vvod;

var i,n:integer; s:PathStr;

begin

assign(f,'d:\fil');

rewrite(f);

clrscr;

writeln('vvedi kol-vo avtom');

read(n);

for i:=1 to n do

begin

seek(f,filesize(f));

with mas do

begin

writeln('vvedi nomer avtomobila');

readln;

readln(nom);

writeln('cvet avtomobila');

readln(cv);

writeln('vvedi HIO hozaina avtomobila');

readln(hz);

writeln('vvedi model avtomobila');

readln(md);

end;

write(f,mas);

end;

close(f);

end;

{.............poisk..........}

procedure poisk;

var n,i:integer;d:string; s:PathStr;ch:char;

begin

clrscr;

window(1,1,80,50);

textbackground(7);

clrscr;

{window();}

S:=FSearch('fil','d:\');

If S='' then

writeln('basi net')

else

writeln('1-naiti');

writeln('2-posmotret vse');

writeln('0-vixod v gl.meny');

ch:=readkey;

case ch of

'1':

begin

clrscr;

writeln('po hem ishem?');

writeln('1-po modeli');

writeln('2-po cvetu');

writeln('3-po nomeru');

writeln('4-po hozainu');

assign(f,'d:\fil');

reset(f);

ch:=readkey;

case ch of

'1':begin

writeln('vvedi model');

readln(d);

for i:=0 to filesize(f)-1 do

begin

seek(f,i);

read(f,mas);

with mas do

begin

if d=md then

begin

clrscr;

writeln('model avtomobila: ',md);

writeln('cvet avtomobila: ',cv);

writeln('nomer avtomobila: ',nom);

writeln('ima hozaina: ',hz);

end;

end;

end;

end;

'2':begin

writeln('vvedi cvet');

readln(d);

for i:=0 to filesize(f)-1 do

begin

seek(f,i);

read(f,mas);

with mas do

if d=cv then

begin

clrscr;

writeln('model avtomobila: ',md);

writeln('cvet avtomobila: ',cv);

writeln('nomer avtomobila: ',nom);

writeln('ima hozaina: ',hz);

end;

end;

end;

'3':begin

clrscr;

writeln('vvedi nomer');

readln(d);

for i:=0 to filesize(f)-1 do

begin

seek(f,i);

read(f,mas);

with mas do

if d=nom then

begin

clrscr;

writeln('model avtomobila: ',md);

writeln('cvet avtomobila: ',cv);

writeln('nomer avtomobila: ',nom);

writeln('ima hozaina: ',hz);

end;

end;

end;

'4':begin

writeln('vvedi hozaina');

readln(d);

for i:=0 to filesize(f)-1 do

begin

seek(f,i);

read(f,mas);

with mas do

if d=hz then

begin

clrscr;

writeln('model avtomobila: ',md);

writeln('cvet avtomobila: ',cv);

writeln('nomer avtomobila: ',nom);

writeln('ima hozaina: ',hz);

end;

end;

end;

'0':exit;

end;

close(f);

end;

'2':begin

assign(f,'d:\fil');

reset(f);

clrscr;

for i:=0 to filesize(f)-1 do

begin

seek(f,i);

read(f,mas);

writeln('zapis #',i+1);

with mas do

begin

writeln('model avtomobila: ',md);

writeln('cvet avtomobila: ',cv);

writeln('nomer avtomobila: ',nom);

writeln('ima hozaina: ',hz);

writeln;

end;

end;

close(f);

readln;

end;

end;

end;

{..................redak.....................}

procedure red;

var i,p,n,l:integer;s:PathStr;v:char;k:string[10];

begin

clrscr;

window(1,1,80,50);

textbackground(4);

clrscr;

window(20,1,60,50);

textbackground(3);

clrscr;

textcolor(5);

writeln('1-dopis v konec');

writeln('2-izmenit staryu');

writeln('0-vixod v gl.meny');

v:=readkey;

case v of

'1':begin

clrscr;

S:=FSearch('fil','d:\');

If S='' then

begin

assign(f,'d:\fil');

rewrite(f);

close(f);

end;

assign(f,'d:\fil');

reset(f);

clrscr;

writeln('vvedi kol-vo dopisivaemih avtom');

read(n);

for i:=1 to n do

begin

seek(f,filesize(f));

with mas do

begin

writeln('vvedi nomer avtomobila');

readln;

readln(nom);

writeln('cvet avtomobila');

readln(cv);

writeln('vvedi HIO hozaina avtomobila');

readln(hz);

writeln('vvedi model avtomobila');

readln(md);

end;

write(f,mas);

end;

close(f);

end;

'2':begin

clrscr;

S:=FSearch('fil','d:\');

If S='' then

writeln('basi net')

else

begin

assign(f,'d:\fil');

reset(f);

for i:=0 to filesize(f)-1 do

begin

seek(f,i);

read(f,mas);

writeln('zapis #',i+1);

with mas do

begin

writeln('model avtomobila: ',md);

writeln('cvet avtomobila: ',cv);

writeln('nomer avtomobila: ',nom);

writeln('ima hozaina: ',hz);

end;

writeln;

end;

writeln('vvedi nomer izmenaemoy');

readln(l);

clrscr;

seek(f,l-1);

read(f,mas);

with mas do

begin

writeln('1-model avtomobila: ',md);

writeln('2-cvet avtomobila: ',cv);

writeln('3-nomer avtomobila: ',nom);

writeln('4-ima hozaina: ',hz);

end;

writeln('vvedi chto bydem menat');

v:=readkey;

case v of

'1':begin

with mas do

begin

writeln('staraya model-',md);

write('vvedi novuy: ');

readln(k);

md:=k;

end;

seek(f,l-1);

write(f,mas);

close(f);

end;

'2':begin

with mas do

begin

writeln('stariy cvet-',cv);

write('vvedi novuy: ');

readln(k);

cv:=k;

end;

seek(f,l-1);

write(f,mas);

close(f);

end;

'3':begin

with mas do

begin

writeln('stariy nomer-',md);

write('vvedi novuy: ');

readln(k);

nom:=k;

end;

seek(f,l-1);

write(f,mas);

close(f);

end;

'4':begin

with mas do

begin

writeln('stariy hozain-',md);

write('vvedi novuy: ');

readln(k);

hz:=k;

end;

seek(f,l-1);

write(f,mas);

close(f);

end;

end;

end;

end;

end;

end;

procedure menu;

begin

window(1,1,80,50);

textbackground (5);

clrscr;

textcolor(0);

window(20,10,40,25);

textbackground(3);

clrscr;

gotoxy(6,8);

writeln('1-zapolnit');

window(40,10,60,25);

textbackground(4);

clrscr;

gotoxy(6,8);

writeln('2-poisk');

window(20,26,39,40);

textbackground(2);

clrscr;

gotoxy(3,8);

writeln('3-redaktirovat');

window(40,26,60,40);

textbackground(6);

clrscr;

gotoxy(6,8);

writeln('0-vihod');

end;

{.............................proga.................................}