46720 (Автоматизований облік власників автомобілей)

2016-07-30СтудИзба

Описание файла

Документ из архива "Автоматизований облік власників автомобілей", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "46720"

Текст из документа "46720"

Міністерство внутрішніх справ України

Харківський національний університет внутрішніх справ

Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій

Кафедра інформаційних систем і технологій в діяльності ОВС

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

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

на тему: "Автоматизований облік власників автомобілей "

Виконав:

Перевірив:

Харків

Зміст

Вступ

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 Хi

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

Dfdf

M - поле для вводу моделі авто

Mg - поле для введення місці реєстрації авто

Kvu - поле для введення категорій водійських прав

St - поле для введення кількості годин проведених за рулем

Im - ПІБ власника авто

H - файл де зберігається вся інформація

Fon - для створення головного меню

Text - виведення пунктів головного меню

Kursor - створення курсору який управляє головним меню

Ram - введення даних, та створення рамки для головного пункту

Vvod - збереження до файлу введених відомостей

Poisk - виконання пошуку

Udal - видалення існуючих даних

Red - редагування


2. Алгоритми


2
.1 Алгоритм основної програми





2.2 Алгоритм red




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

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);

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. Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal. - X., 1995.

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

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее