Міністерство внутрішніх справ України
Харківський національний університет внутрішніх справ
Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій
Кафедра інформаційних систем і технологій в діяльності ОВС
Курсова робота
з дисципліни "Основи програмування та алгоритмічні мови"
на тему: "Автоматизований облік власників автомобілей "
Виконав:
Перевірив:
Харків
Зміст
Вступ
1. Основна частина
1.1 Неформальна постановка задачі
1.2 Формальна постановка задачі
1.3 Структура зберігаючих даних:
2. Алгоритми
2.1 Алгоритм основної програми
2.2 Алгоритм red
3. Вихідний код програми
Висновок
Список використаної літератури
В світі глобальної інформатизації всі процеси повинні бути автоматизовані та прості в обробці. Таким чином програмний продукт який буде створюватися надасть можливість перетворити повсякденну рутину роботу в задоволення. Програма буди вести автоматизований облік всіх власників автомобілів.
Я вибрав мову програмування TurboPascal, з метою закріплення своїх навиків з програмування.
Розробити програму - "Авто" для збереження та перегляду всієї інформації що стосується власників автомобілей.
Введення і збереження інформації про власників та їхнє авто в файлі:
Модель авто
Місце реєстрації
Категорії водійського посвідчення;
Кількість проїзджених годин
ПІБ власника
Можливість редагування даної бази
Організація пошуку за критеріями:
Модель авто
Місце реєстрації
Категорії водійського посвідчення;
Кількість проїзджених годин
ПІБ власника
Можливість перегляду всіх існуючих документів
Перегляд скороченого варіанту бази
Перегляд повного варіанту даних, які занесені до бази
Можливість видалення всієї бази.
Зручний інтерфейс для користувача
Швидкість та простота роботи в даній програмі
1.2 Формальна постановка задачі
Вихідні дані:
Нехай Х - власників авто, тоді Х=||Хi
|| - множина власників автомобілей, де і=1. n
Результат:
Якщо Рi
- це критерій вибору по будь якому з визначених критеріїв, Аi
буди належати Хi
і буде її підмножиною.
Математична модель:
Рi
- критерій який використовується для пошуку, де i - номер критерія з зазначених. Таким чином отримуємо множину Аi
Хi
Dfdf
M- поле для вводу моделі авто
Mg - поле для введення місці реєстрації авто
Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз,
а первые результаты появляются уже в течение первых 7 дней.
Зарегистрироваться и Начать продвижение
Kvu - поле для введення категорій водійських прав
St - поле для введення кількості годин проведених за рулем
Im - ПІБ власника авто
H - файл де зберігається вся інформація
Fon - для створення головного меню
Text - виведення пунктів головного меню
Kursor - створення курсору який управляє головним меню
Ram - введення даних, та створення рамки для головного пункту
Vvod - збереження до файлу введених відомостей
Poisk - виконання пошуку
Udal - видалення існуючих даних
Red - редагування
2.1 Алгоритм основної програми
2.2
Алгоритм red

uses crt,dos;
type l=record
m,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;
begin
textbackground (a);
textcolor (b);
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 fon;
var i,n: byte;
begin
n: =15;
window (10,5,12,n+5);
for i: =1 to n do
writeln ('є');
window (7,5,9,n+5);
for i: =1 to n do
writeln ('є');
window (31,5,33,n+5);
for i: =1 to n do
writeln ('є');
window (28,5,30,n+5);
for i: =1 to n do
writeln ('є');
end;
{------------------}
procedure text;
begin
window (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);
begin
textcolor (w);
window (7,5,33, 20);
case i of
1: begin
gotoxy (3,2);
write (#16);
gotoxy (23,2);
write (#17);
end;
2: begin
gotoxy (3,5);
write (#16);
gotoxy (23,5);
write (#17);
end;
3: begin
gotoxy (3,8);
write (#16);
gotoxy (23,8);
write (#17);
end;
4: begin
gotoxy (3,11);
write (#16);
gotoxy (23,11);
write (#17);
end;
5: begin
gotoxy (3,14);
write (#16);
gotoxy (23,14);
write (#17);
end;
end;
end;
{... ... ... ... ... ... ... ... ... }
procedure ram;
var i: integer;
begin
gotoxy (5,5);
write (#217);
gotoxy (1,5);
write (#218);
gotoxy (5,1);
write (#218);
for i: =1 to 3 do
begin
gotoxy (1+i,5);
write (#196);
end;
gotoxy (35,1);
write (#191);
for i: =1 to 29 do
begin
gotoxy (5+i,1);
write (#196);
end;
gotoxy (35,5);
write (#192);
gotoxy (39,5);
write (#191);
for i: =1 to 3 do
begin
gotoxy (35+i,5);
Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно.
Зарегистрироваться в сервисе
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 do
begin
gotoxy (5+i,25);
write (#196);
end;
gotoxy (35,21);
write (#218);
gotoxy (39,21);
write (#217);
for i: =1 to 3 do
begin
gotoxy (1+i,21);
write (#196);
end;
for i: =1 to 3 do
begin
gotoxy (35+i,21);
write (#196);
end;
for i: =1 to 3 do
begin
gotoxy (5,1+i);
write (#179);
end;
for i: =1 to 3 do
begin
gotoxy (35,1+i);
write (#179);
end;
for i: =1 to 3 do
begin
gotoxy (5,21+i);
write (#179);
end;
for i: =1 to 3 do
begin
gotoxy (35,21+i);
write (#179);
end;
for i: =1 to 15 do
begin
gotoxy (1,5+i);
write (#179);
end;
for i: =1 to 15 do
begin
gotoxy (39,5+i);
write (#179);
end;
end;
{... ... ... ... ... ... ... ... ... }
procedure vvod;
var i,n: integer;
begin
window (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 do
begin
seek (h,filesize (h));
with b do
begin
clrscr;
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;
begin
window (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: \') ='' then
begin
textcolor (132);
gotoxy (8,7);
write ('FAIL NE NAYDEN');
end
else
begin
write ('Vvedi to,chto ishesh-'); readln (s);
assign (h,'d: \po. po'); reset (h);
for i: =0 to filesize (h) - 1 do
begin
seek (h, i); read (h,b);
with b do
begin
if (s=m) or (s=mg) or (s=kvu) or (s=st) or (s=im) then
begin
writeln ('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;
end
else
write ('Po zaprosu nichego ne naydeno');
end;
end;
close (h);
end;
end;
{... ... ... ... ... ... ... ... ... ... ... ... ... . }
procedure udal;
var xc: char;
begin
window (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: \') ='' then
begin
textcolor (132);
gotoxy (8,7);
write ('FAIL NE NAYDEN');
end
else
begin
write ('Vi deystvitelno xotite udalit fail',#63);
textcolor (4);
write ('y/n '); textcolor (7); readln (xc);
case xc of
'y': begin
assign (h,'D: \po. po');
erase (h); writeln;
writeln ('UDALENO');
end;
'n': readln;
end;
end;
end;
{... ... ... ... . }
procedure red;
var i: integer;
begin
window (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: \') ='' then
begin
textcolor (132);
gotoxy (8,7);
write ('FAIL NE NAYDEN');
end
else
begin
assign (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 do
begin
writeln ('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 do
begin
clrscr;
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;
begin
textmode (c40);
repeat
window (1,1,40,25);
textbackground (5);
clrscr;
textcolor (11);
fon;
text;
i: =1;
kursor (i,9);
repeat
newreadkey (t,r);
p: =i;
case r of
72: i: =i-1;
80: i: =i+1;
end;
case i of
0: i: =1;
6: i: =5;
end;
kursor (p,5);
kursor (i,9);
until t=#13;
case i of
1: vvod;
2: red;
3: poisk;
4: udal;
end;
until i=5;
end.
В даній курсовій роботі було створено програму для автоматизації та обробки певної інформації. Програма називається "авто та їх власники". В даній програмі був створений максимально простий інтерфейс, максимально спростована робота користувачем. Таким чином програма легка в використанні, в той же час вона набагато спростовує пошук певної необхідної інформації. Для створення даної програми мені знадобилися навички які я здобув під час навчання, та самовдосконалення.
Мовою програмування я обрав Паскаль, в виконував її в середовищі Turbo Pascal
1. Струков В.М. Основи алгоритмизации и програмирования. Часть 2. Учебное пособие. - Харьков: Изд. Нац. ун-та внутр. дел, 2003. - 188 с.
2. Сердюченко В.Я. Розробка алгоритмів та програмування на мові TurboPascal. - X., 1995.
3. Немнюгин С.А. TurboPascal. - СПб.: Питер, 2002. - 496 с.: ил.
|