Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Автоматизована реєстрація і облік автомобілей

КурсоваДопомога в написанніДізнатися вартістьмоєї роботи

В даній курсовій роботі були виконане всі поставлені задачі. Було продемонстровано мій рівень програмування в середовищі Турбо Паскаль. Результатом цієї роботи є програмний продукт, який має зручний інтерфейс, простоту в застосуванні та виконує всі покладені в основу функції. Я вибрав мову програмування Turbo Pascal бо важаю її найбільш оптимальною для вирішення даної задачі та з метою… Читати ще >

Автоматизована реєстрація і облік автомобілей (реферат, курсова, диплом, контрольна)

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

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

Харків

Зміст

  • Вступ
  • 1. Основна частина
    • 1.1 Неформальна постановка задачі
    • 1.2 Формальна постановка задачі
    • 1.3 Структура зберігаючих даних:
  • 2. Алгоритми
    • 2.1 Алгоритм основної програми
    • 2.2 Алгоритм процедури vvod
  • 3. Вихідний код програми
  • Висновок
  • Список використаної літератури

Вступ

Реєстрація автомобілів для полегшення роботи багатьох служб. Сьогодні це питання не стоїть так гостро як декілька років назад. Розроблено багато програм які полегшують роботу з таким видом інформації як електронний. Але моєю задачею є створити програму яка буду мати невеликі розміри та виконуватиме всі необхідні функції.

Призначення даного продукту полегшити роботу працівникам ОВС, але при цьому мати найпростіший інтерфейс з максимальною працевіддачею.

Я вибрав мову програмування Turbo Pascal бо важаю її найбільш оптимальною для вирішення даної задачі та з метою закріплення своїх навиків з програмування в даному середовищі.

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

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

Розробити програму-" реєстрація автомобілів" для збереження та перегляду всієї інформації що стосується автотранспорту.

ь Введення і збереження інформації в типізованому файлі:

o Модель машини

o Рік випуску машини

o Витрати палива на 100 кілометрів;

o Об'єм двигуна.

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

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

o Модель машини

o Рік випуску машини

o Витрати палива на 100 кіломитрів;

o Об'єм двигуна.

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

ь Можливість видалення всієї бази.

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

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

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

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

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

Нехай Хвласників авто, тоді H=||Hi|| - множина автомобілей, де і=1.n

Результат:

Якщо Oi — це критерій вибору по будь якому з визначених критеріїв, Bi буди належати Oi і буде її підмножиною.

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

Bi — критерій який використовується для пошуку, де iномер критерія з зазначених. Таким чином отримуємо множину Bi Oi

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

Lk — структурований запис для введення та зберігання інформації

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

· Gv — поле строкового типу для запису року випуску машини

· tp — поле строкового типу для запису запису витрати палива

· odv — поле строкового типу для запису об'єму двигуна

f — типізований файл для зберігання автотранспорту

menu_pickto — процедура яка прорисовує головне меню

menu_text — процедура виведення пунктів меню

menu_vibor — процедура для управляння головним меню

pamka — процедура яка малює рамку

tabl — процедура яка виводить на екран таблицю

vvod — процедура введення інформації, та занесення її до файлу

viv — процедура пошуку за певними критеріями

2. Алгоритми

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

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

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

uses crt, dos;

type lk=record

gv, ml, odv, tp: string[10];

end;

{…}

var f: file of lk; ma: lk;

{————RAMKA—————-}

procedure ramka (x1,y1,x2,y2{Љ®(r)а¤Ё­ вл, а ЄЁ ўе®¤­лҐ},

{x01,y01{Љ®(r)а¤Ё­ вл ўлў®¤ ⥪бв ў а ЄҐ}{:integer;

st{'ҐЄбв ўлў®¤Ёл© ў а ЄҐ}{:string;}

a{ЏҐаҐҐ­­ п д®­ а ЄЁ}:byte);

var i: integer;

begin

textbackground (a);

textcolor (red);

window (x1,y1,x2,y2);

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 menu_pickto (n:byte);

var i: byte;

begin

textcolor (14);

for i:=1 to n do

begin

writeln ('| | | | | |');

writeln (' / / /');

writeln (' | | | | | |');

writeln (' / / / ');

end;

end;

{——————————}

procedure menu_text (x1,y1,c1,c2,c3,c4:byte;s1,s2,s3,s4:string);

begin

gotoxy (x1,y1);

textcolor (c1);

write (s1);

gotoxy (x1,y1+4);

textcolor (c2);

write (s2);

gotoxy (x1,y1+8);

textcolor (c3);

write (s3);

gotoxy (x1,y1+12);

textcolor (c4);

write (s4);

end;

{—————————-}

procedure menu_vibor (x, y, c:byte);

begin

textcolor (c);

gotoxy (x, y);

write ('_ _ _ _ _ _ _ _');

{window (x, y, x+15,y+2);

textbackground (5);

clrscr;}

gotoxy (x, y+3);

write ('_ _ _ _ _ _ _ _');

end;

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

var i, c: integer;

begin

textcolor (7);

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 tabl (st:string);

var i, j, x, y: integer;

begin

for i:=1 to 80 do

begin

gotoxy (0+i, 2);

write (#196);

end;

for i:=1 to 80 do

begin

gotoxy (0+i, 4);

write (#196);

end;

gotoxy (1,1);

write (#218);

gotoxy (80,1);

write (#191);

for i:=1 to 78 do

begin

gotoxy (1+i, 1);

write (#196);

end;

gotoxy (35,1);

textcolor (3);

writeln (st);

textcolor (7);

for i:=1 to 23 do

begin

gotoxy (1,1+i);

write (#179);

end;

gotoxy (1,2);

write (#195);

gotoxy (1,4);

write (#195);

y:=2;

for i:=1 to 10 do

begin

gotoxy (1,4+y);

write (#195);

y:=y+2;

end;

gotoxy (1,24);

write (#192);

for i:=1 to 78 do

begin

gotoxy (1+i, 24);

write (#196);

end;

for i:=1 to 23 do

begin

gotoxy (80,1+i);

write (#179);

end;

gotoxy (80,24);

write (#217);

gotoxy (80,2);

write (#180);

y:=2;

for i:=1 to 10 do

begin

gotoxy (80,2+y);

write (#180);

y:=y+2;

end;

y:=2;

for j:=1 to 10 do

begin

y:=y+2;

for i:=1 to 78 do

begin

gotoxy (1+i, y);

write (#196);

end;

end;

x:=20;

for i:=1 to 3 do

begin

gotoxy (0+x, 2);

write (#194);

x:=x+20;

end;

x:=20;

for i:=1 to 3 do

begin

gotoxy (0+x, 24);

write (#193);

x:=x+20;

end;

x:=0;

for j:=1 to 3 do

begin

x:=x+20;

for i:=1 to 21 do

begin

gotoxy (0+x, 2+i);

write (#179);

end;

end;

x:=0;

for j:=1 to 3 do

begin

y:=4;

for i:=1 to 10 do

begin

gotoxy (20+x, y);

write (#197);

y:=y+2;

end;

x:=x+20;

end;

textcolor (3);

gotoxy (5,3);

write ('model mahini');

gotoxy (24,3);

write ('obem dvigatela');

gotoxy (44,3);

writeln ('god vipuska');

gotoxy (61,3);

write ('rashod topliva');

end;

{…}

procedure vvod;

var st: string; i, n: integer;

begin

window (1,1,80,25);

clrscr;

assign (f,'d:tyu');

rewrite (f);

pamka (1,1,80,3);

gotoxy (37,2);

writeln ('VVOD');

pamka (1,1,80,24);

gotoxy (1,3);

write (#204);

gotoxy (80,3);

write (#185);

window (2,4,79,23);

write ('vvedite kolichestvo avtomobiley- ');

readln (n);

for i:=1 to n do

begin

with ma do

begin

clrscr;

gotoxy (2,4);

writeln ('mahina-', i);

write ('vvedi model mahini- ');readln (ml);

write ('vvedi god vipuska- ');readln (gv);

write ('vvedi rasxod topliva- ');readln (tp);

write ('vvedi obem dv. ');readln (odv);

writeln;

end;

seek (f, filesize (f));

write (f, ma);

end;

close (f);

end;

procedure viv;

var st: string;i, y: integer;

begin

window (1,1,80,25);

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

begin

textbackground (0);

clrscr;

textcolor (132);

writeln ('FAIL NE NAYDEN');

readln;

end

else

begin

textbackground (0);

clrscr;

st:='baza dannix';

tabl (st);

assign (f,'d:tyu');

reset (f);

y:=1;

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

begin

seek (f, i);

read (f, ma);

with ma do

begin

gotoxy (2,4+y);

write (i+1);

gotoxy (3,4+y);

write (#179);

gotoxy (4,4+y);

write (ml);

gotoxy (24,4+y);

write (odv);

gotoxy (44,4+y);

write (gv);

gotoxy (64,4+y);

write (tp);

end;

y:=y+2;

end;

end;

readln;

end;

procedure poi;

var i: integer; s: string;

begin

window (1,1,80,25);

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

begin

textbackground (0);

clrscr;

textcolor (132);

writeln ('FAIL NE NAYDEN');

readln;

end

else

begin

window (1,1,80,25);

clrscr;

assign (f,'d:tyu');

reset (f);

pamka (1,1,80,3);

gotoxy (37,2);

writeln ('Poisk');

pamka (1,1,80,24);

gotoxy (1,3);

write (#204);

gotoxy (80,3);

write (#185);

window (2,4,79,23);

write ('Kluch dla poicka-');

textcolor (4);

readln (s);

textcolor (7);

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

begin

seek (f, i);

read (f, ma);

with ma do

begin

if (s=ml) or (s=odv) or (s=gv) or (s=tp) then

begin

textcolor (4);

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

write ('model mashini- ', ml);

write ('god vipuska- ', gv);

write (' obem dvigatela- ', odv);

write ('rasxod topliva- ', tp);

end;

end;

end;

end;

end;

{:}

var e: char;r, i: byte;

begin

{clrscr;

vvod;

viv;

poi;

readln;}

repeat

clrscr;

window (1,1,80,25);

textbackground (1);

clrscr;

i:=1;

window (6,4,34,22);

menu_pickto (6);

textcolor (14);

menu_text (8,3,12,14,14,14,' Vvod',' Pokasat',' Nayti',' Viyti');

menu_vibor (7,1,14);

repeat

newreadkey (e, r);

if r=72 then

i:=i-1;

if r=80 then

i:=i+1;

if i=0 then

i:=4;

if i=5 then

i:=1;

case i of

1: begin

menu_vibor (7,5,1);

menu_vibor (7,13,1);

menu_text (8,3,12,14,14,14,' Vvod',' Pokasat',' Nayti',' Viyti');

menu_vibor (7,1,14);

end;

2: begin

menu_vibor (7,1,1);

menu_vibor (7,9,1);

menu_text (8,3,14,12,14,14,' Vvod',' Pokasat',' Nayti',' Viyti');

menu_vibor (7,5,14);

end;

3: begin

menu_vibor (7,5,1);

menu_vibor (7,13,1);

menu_text (8,3,14,14,12,14,' Vvod',' Pokasat',' Nayti',' Viyti');

menu_vibor (7,9,14);

end;

4: begin

menu_vibor (7,9,1);

menu_vibor (7,1,1);

menu_text (8,3,14,14,14,12,' Vvod',' Pokasat',' Nayti',' Viyti');

menu_vibor (7,13,14);

end;

end;

until e=#13;

case i of

1:vvod;

2:viv;

3:poi;

end;

until i=4;

end.

Висновок

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

Я обрав мову програмування Паскаль, оскільки вважаю що для даної роботи він підходить найбільш.

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

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

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

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

Показати весь текст
Заповнити форму поточною роботою