МІНІСТЕРСТВО внутрішніх справ України
Харківський національний университет внутрішніх справ
Навчально-науковий інститут менеджменту, соціальніх та інформаційніх технологій
Кафедра інформаційніх систем и технологій в діяльності ОВС
Курсова робота
з дісціпліні В«Основи програмування та алгорітмічні мови В»
на тему: В«База даних по ОБЛІКУ вогнепальної зброї В»
Харків р.
Зміст
Вступ
1. Основна частина
1.1 Неформальна постановка Задачі
1.2 Формальна постановка Задачі
1.3 Структура зберігаючіх даніх
2. Алгоритми
2.1 Алгоритм ОСНОВНОЇ Програми
2.2 Алгоритм процедури Zap
2.3 Алгоритм процедури Udal
3. Вихідний код Програми
Висновок
Список використаної літератури
Вступ
Оскількі в Сучасний Світі існує Дуже велика кількість вогнепальної зброї, то реєстрація и облік її просто необхідній, Аджея самє вон стає причиною багатьох людських смертей. Таким чином для полегшення роботи Працівникам міліція я вірішів Створити програму Яки полеглі роботові Працівникам ОВС и переведений їх з паперової реєстрації до більш сучасної Електронної. Де кож з'являється можлівість передачі даної базуватися Мережа Інтернет.
Я Вибравши мову програмування Турбо Паскаль, з метою закріплення своїх навіків з програмування.
1. Основна частина
1.1 Неформальна постановка Задачі
Розробити програму В«облік вогнепальної зброїВ» бля більш простої та оптімальної ОБРОБКИ інформації по зброї.
Г? Занесення відомостей по вогнепальній зброї Користувачем та Зберігання її до тіпізованого файлу:
o Модель зброї;
o Калібр вогнепальної зброї;
o Вага зброї;
o Довжина зброї;
o Реєстраційний номер зброї;
o Висота зброї.
Г? Можлівість редагування даної базуватися
Г? Можлівість відалення всієї базуватися
Г? Організація Пошук за крітеріямі:
o Модель зброї;
o Калібр вогнепальної зброї;
o Вага зброї;
o Довжина зброї;
o Реєстраційний номер зброї;
o Висота зброї.
Г? Можлівість Перегляд Всіх існуючіх відомостей;
Г? Зручний інтерфейс для користувача;
Г? Швідкість та простота роботи в даній Програмі;
1.2 Формальна постановка Задачі
Вихідні дані:
Нехай А множини всієї вогнепальної зброї. Тоді
А = {А 1 , А 2 , ..., А и } і = 1 .. n. А и - Певний вид зброї
А и = {Р 1 , Р 2 , ..., Р j }
де Р j - певна характеристика даної зброї.
множини Р i , Яка формують з вхідніх даніх а самє множини А i . Під дією Певного крітерію:
До 1 - крітерій Модель зброї
До 2 - крітерій Калібр вогнепальної зброї
До 3 - крітерій Вага зброї
До 4 - крітерій довжина зброї
До 5 - крітерій реєстраційний номер зброї
До 6 - крітерій Висота зброї
математичного модель Результат:
А до = { А 1 , А 2 , ..., А и }, де А и є Пѓ до (А) вібірка
1.3 Структура зберігаючіх даніх:
te - тип запис для занесення даніх про Автомобілі
kal - перемінні строкового типу для Зберігання калібоу ves - перемінні строкового типу для Зберігання ваги dl - перемінні строкового типу для Зберігання довжина vis - перемінні строкового типу для Зберігання висота med - перемінні строкового типу для Зберігання Моделі pr_nom - перемінні строкового типу для Зберігання реєстраційного номеру
polo - процедура для малювання рамочки
menu - процедура для Управління та виведення меню Програми
strelka - процедура для пунктів меню
zap - процедура для занесення та Збереження даніх
udal - процедура для відалення всієї базуватися
poisk - процедура для Поиск за Певної крітеріямі
prosm - процедура для виведення Всіх відомостей які містяться в базі
2. Алгоритми
2.1 Алгоритм ОСНОВНОЇ Програми
2.2 Алгоритм процедури Zap
2.3 Алгоритм процедури Udal
3. Вихідний код Програми
uses crt, dos;
type te = record
kal, ves, dl, vis: string [5];
med: string [10];
pr_nom: string [10];
end;
var f: file of te; oru: te; st1, st2, st3, st4, st5: string [20];
x1, x2, y1, y2, i, b: byte;
a1: char;
procedure polo (x1, y1, x2, y2 {Р‰ В® В® а В¤ Е вл а В¬ ЄЕ Сће В® В¤ лҐ},
{x01, y01 {Р‰ В® В® а В¤ Е вл СћлСћ В® В¤ ⥪бв Сћ а В¬ ЄҐ} {: 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 (x1, y1, x2, y2, a, b: byte; st1, st2, st3, st4, st5: string);
begin
window (1,1,40,25);
clrscr;
window (x1, y1, x2, y2);
textbackground (a);
clrscr;
textcolor (b);
writeln (st1); writeln;
writeln (st2); writeln;
writeln (st3); writeln;
writeln (st4); writeln;
writeln (st5); writeln;
window (1,1,40,25);
textcolor (2);
gotoxy (x1-2, y1);
write ('=>');
end;
procedure strelka (var xx, i: byte; x1, y1, a, b: byte);
begin
window (12,6,14,14);
textbackground (0);
clrscr;
window (1,1,40,25);
textcolor (2);
case b of
72: begin
if i> 1 then
begin
i: = i-1;
xx: = xx-2;
gotoxy (x1, xx);
write ('=>');
exit;
end;
if i = 1 then
begin
i: = 5;
xx: = y1 +8;
...