|
Автоматизований облік власників автомобілей
Автоматизований облік власників автомобілей
5 Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС Курсова робота з дисципліни "Основи програмування та алгоритмічні мови" на тему: "Автоматизований облік власників автомобілей " Виконав: Перевірив: Харків Зміст - Вступ
- 1. Основна частина
- 1.1 Неформальна постановка задачі
- 1.2 Формальна постановка задачі
- 1.3 Структура зберігаючих даних:
- 2. Алгоритми
- 2.1 Алгоритм основної програми
- 2.2 Алгоритм red
- 3. Вихідний код програми
- Висновок
- Список використаної літератури
ВступВ світі глобальної інформатизації всі процеси повинні бути автоматизовані та прості в обробці. Таким чином програмний продукт який буде створюватися надасть можливість перетворити повсякденну рутину роботу в задоволення. Програма буди вести автоматизований облік всіх власників автомобілів.Я вибрав мову програмування Turbo Pascal, з метою закріплення своїх навиків з програмування.1. Основна частина1.1 Неформальна постановка задачіРозробити програму - "Авто" для збереження та перегляду всієї інформації що стосується власників автомобілей.Введення і збереження інформації про власників та їхнє авто в файлі:Модель автоМісце реєстраціїКатегорії водійського посвідчення;Кількість проїзджених годинПІБ власникаМожливість редагування даної базиОрганізація пошуку за критеріями:Модель автоМісце реєстраціїКатегорії водійського посвідчення;Кількість проїзджених годинПІБ власникаМожливість перегляду всіх існуючих документівПерегляд скороченого варіанту базиПерегляд повного варіанту даних, які занесені до базиМожливість видалення всієї бази.Зручний інтерфейс для користувачаШвидкість та простота роботи в даній програмі1.2 Формальна постановка задачіВихідні дані:Нехай Х - власників авто, тоді Х=||Хi|| - множина власників автомобілей, де і=1. nРезультат:Якщо Рi - це критерій вибору по будь якому з визначених критеріїв, Аi буди належати Хi і буде її підмножиною.Математична модель:Рi - критерій який використовується для пошуку, де i - номер критерія з зазначених. Таким чином отримуємо множину Аi Хi1.3 Структура зберігаючих данихDfdfM - поле для вводу моделі автоMg - поле для введення місці реєстрації автоKvu - поле для введення категорій водійських правSt - поле для введення кількості годин проведених за рулемIm - ПІБ власника автоH - файл де зберігається вся інформаціяFon - для створення головного менюText - виведення пунктів головного менюKursor - створення курсору який управляє головним менюRam - введення даних, та створення рамки для головного пунктуVvod - збереження до файлу введених відомостейPoisk - виконання пошукуUdal - видалення існуючих данихRed - редагування2. Алгоритми2.1 Алгоритм основної програми2.2 Алгоритм red3. Вихідний код програмиuses crt,dos;type l=recordm,mg,kvu,st, im: string [10] ;end;var h: file of l; b: l;procedure klava (x1,y1,x2,y2,a,b: byte);var i: integer;begintextbackground (a);textcolor (b);window (x1,y1,x2,y2);write ('Ъ');for i: =1 to (x2-x1) - 1 dobeginwrite ('Д');end;write ('ї');for i: =2 to (y2-y1) - 1 dobegingotoxy (1, i);write ('і');gotoxy (x2-x1+1, i);write ('і');end;write ('А');for i: =1 to (x2-x1) - 1 dobeginwrite ('Д');end;write ('Щ');end;{------------------------}procedure newreadkey (var a: char; var b: byte);beginb: =0;a: =readkey;if a=#0 thenb: =ord (readkey);end;{------------------}procedure fon;var i,n: byte;beginn: =15;window (10,5,12,n+5);for i: =1 to n dowriteln ('є');window (7,5,9,n+5);for i: =1 to n dowriteln ('є');window (31,5,33,n+5);for i: =1 to n dowriteln ('є');window (28,5,30,n+5);for i: =1 to n dowriteln ('є');end;{------------------}procedure text;beginwindow (11,5,28, 20);textcolor (12);writeln; writeln (' Vvod');writeln; writeln; writeln (' Redaktir. ');writeln; writeln; writeln (' Poisk');writeln; writeln; writeln (' Udalenie');writeln; writeln; writeln (' Vixod');end;{------------------}procedure kursor (var i: byte; w: byte);begintextcolor (w);window (7,5,33, 20);case i of1: begingotoxy (3,2);write (#16);gotoxy (23,2);write (#17);end;2: begingotoxy (3,5);write (#16);gotoxy (23,5);write (#17);end;3: begingotoxy (3,8);write (#16);gotoxy (23,8);write (#17);end;4: begingotoxy (3,11);write (#16);gotoxy (23,11);write (#17);end;5: begingotoxy (3,14);write (#16);gotoxy (23,14);write (#17);end;end;end;{... ... ... ... ... ... ... ... ... }procedure ram;var i: integer;begingotoxy (5,5);write (#217);gotoxy (1,5);write (#218);gotoxy (5,1);write (#218);for i: =1 to 3 dobegingotoxy (1+i,5);write (#196);end;gotoxy (35,1);write (#191);for i: =1 to 29 dobegingotoxy (5+i,1);write (#196);end;gotoxy (35,5);write (#192);gotoxy (39,5);write (#191);for i: =1 to 3 dobegingotoxy (35+i,5);write (#196);end;gotoxy (1,21);write (#192);gotoxy (5,21);write (#191);gotoxy (5,25);write (#192);gotoxy (35,25);write (#217);for i: =1 to 29 dobegingotoxy (5+i,25);write (#196);end;gotoxy (35,21);write (#218);gotoxy (39,21);write (#217);for i: =1 to 3 dobegingotoxy (1+i,21);write (#196);end;for i: =1 to 3 dobegingotoxy (35+i,21);write (#196);end;for i: =1 to 3 dobegingotoxy (5,1+i);write (#179);end;for i: =1 to 3 dobegingotoxy (35,1+i);write (#179);end;for i: =1 to 3 dobegingotoxy (5,21+i);write (#179);end;for i: =1 to 3 dobegingotoxy (35,21+i);write (#179);end;for i: =1 to 15 dobegingotoxy (1,5+i);write (#179);end;for i: =1 to 15 dobegingotoxy (39,5+i);write (#179);end;end;{... ... ... ... ... ... ... ... ... }procedure vvod;var i,n: integer;beginwindow (1,1,40,25);textbackground (0);clrscr;textcolor (3);ram;gotoxy (18,2);write ('VVOD');window (6,6,34, 20);textcolor (7);Write ('Vvedi kol-vo vodil-'); readln (n);clrscr;assign (h,'d: \po. po'); rewrite (h);for i: =1 to n dobeginseek (h,filesize (h));with b dobeginclrscr;writeln ('VODITEL-', i);write ('Vvedi model avt. - '); readln (m);write ('Vvedi mesto reg. - '); readln (mg);write ('Vvedi kategor. vod. prav-'); readln (kvu);write ('Vvedi staj vogdenia-'); readln (st);write ('Vvedi FIO - '); readln (im);end;write (h,b);end;close (h);end;{... ... ... ... ... ... ... ... ... ... ... ... ... ... }procedure poisk;var s: string; i: integer;beginwindow (1,1,40,25);textbackground (0);clrscr;textcolor (2);window (1,1,40,25);ram;gotoxy (18,2);Write ('POISK');textcolor (7);window (6,6,34, 20);if fsearch ('po. po','d: \') ='' thenbegintextcolor (132);gotoxy (8,7);write ('FAIL NE NAYDEN');endelsebeginwrite ('Vvedi to,chto ishesh-'); readln (s);assign (h,'d: \po. po'); reset (h);for i: =0 to filesize (h) - 1 dobeginseek (h, i); read (h,b);with b dobeginif (s=m) or (s=mg) or (s=kvu) or (s=st) or (s=im) thenbeginwriteln ('VODITEL-', i+1);writeln ('Model avt. - ',m);writeln ('Mesto reg. - ',mg);writeln ('Kategor. vod. prav-',kvu);writeln ('Stag vogdenia-',st);writeln (' FIO voditela - ', im);writeln;endelsewrite ('Po zaprosu nichego ne naydeno');end;end;close (h);end;end;{... ... ... ... ... ... ... ... ... ... ... ... ... . }procedure udal;var xc: char;beginwindow (1,1,40,25);textbackground (0);clrscr;textcolor (4);ram;gotoxy (16,2);write ('UDALENIE');textcolor (7);window (6,6,34, 20);if fsearch ('po. po','d: \') ='' thenbegintextcolor (132);gotoxy (8,7);write ('FAIL NE NAYDEN');endelsebeginwrite ('Vi deystvitelno xotite udalit fail',#63);textcolor (4);write ('y/n '); textcolor (7); readln (xc);case xc of'y': beginassign (h,'D: \po. po');erase (h); writeln;writeln ('UDALENO');end;'n': readln;end;end;end;{... ... ... ... . }procedure red;var i: integer;beginwindow (1,1,40,25);textbackground (0);clrscr;window (1,1,40,25);textcolor (1);ram;gotoxy (13,2);write ('REDAKTIROVANIE');textcolor (7);window (6,6,34, 20);if fsearch ('po. po','d: \') ='' thenbegintextcolor (132);gotoxy (8,7);write ('FAIL NE NAYDEN');endelsebeginassign (h,'d: \po. po');reset (h);writeln ('Vsego voditeley-',filesize (h));write ('Vvedi nomer dlya red. - '); readln (i);seek (h, i-1);read (h,b);with b dobeginwriteln ('VODITEL-', i);writeln ('Model avt. - ',m);writeln ('Mesto reg. - ',mg);writeln ('Kategor. vod. prav-',kvu);writeln ('Stag vogdenia-',st);writeln (' FIO voditela - ', im);writeln;end;writeln ('Dla red. nagmi "ENTER"');readln;clrscr;with b dobeginclrscr;writeln ('VODITEL-', i);write ('Vvedi model avt. - '); readln (m);write ('Vvedi mesto reg. - '); readln (mg);write ('Vvedi kategor. vod. prav-'); readln (kvu);write ('Vvedi stag vogdenia-'); readln (st);write ('Vvedi FIO - '); readln (im);end;seek (h, i-1); write (h,b);end;close (h);end;{::::::::::::::::::::::::::: }var i,r,p: byte;t: char;begintextmode (c40);repeatwindow (1,1,40,25);textbackground (5);clrscr;textcolor (11);fon;text;i: =1;kursor (i,9);repeatnewreadkey (t,r);p: =i;case r of72: i: =i-1;80: i: =i+1;end;case i of0: i: =1;6: i: =5;end;kursor (p,5);kursor (i,9);until t=#13;case i of1: vvod;2: red;3: poisk;4: udal;end;until i=5;end.ВисновокВ даній курсовій роботі було створено програму для автоматизації та обробки певної інформації. Програма називається "авто та їх власники". В даній програмі був створений максимально простий інтерфейс, максимально спростована робота користувачем. Таким чином програма легка в використанні, в той же час вона набагато спростовує пошук певної необхідної інформації. Для створення даної програми мені знадобилися навички які я здобув під час навчання, та самовдосконалення.Мовою програмування я обрав Паскаль, в виконував її в середовищі Turbo PascalСписок використаної літератури1. Струков В.М. Основи алгоритмизации и програмирования. Часть 2. Учебное пособие. - Харьков: Изд. Нац. ун-та внутр. дел, 2003. - 188 с. 2. Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal. - X., 1995. 3. Немнюгин С.А. Turbo Pascal. - СПб.: Питер, 2002. - 496 с.: ил.
|
|