База даних по обліку вогнепальної зброї

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

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

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

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

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

 

 

 

 

 

 

 

 

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

 

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

 

на тему: База даних по обліку вогнепальної зброї

 

 

 

 

 

 

 

 

 

 

Харків р.

Зміст

 

Вступ

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

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

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

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

2. Алгоритми

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

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

2.3 Алгоритм процедури Udal

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

Висновок

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

 

Вступ

 

Оскільки в сучасному світі існує дуже велика кількість вогнепальної зброї, то реєстрація і облік її просто необхідний, адже саме вона стає причиною багатьох людських смертей. Таким чином для полегшення роботи працівникам міліція я вирішив створити програму яка полегшить роботу працівникам ОВС і переведе їх з паперової реєстрації до більш сучасної електронної. Де також зявляється можливість передачі даної бази мережею Інтернет.

Я вибрав мову програмування Турбо Паскаль, з метою закріплення своїх навиків з програмування.

 

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

 

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

 

Розробити програму облік вогнепальної зброї бля більш простої та оптимальної обробки інформації по зброї.

  1. Занесення відомостей по вогнепальній зброї користувачем та зберігання її до типізованого файлу:
  2. Модель зброї;
  3. Калібр вогнепальної зброї;
  4. Вага зброї;
  5. Довжина зброї;
  6. Реєстраційний номер зброї;
  7. Висота зброї.
  8. Можливість редагування даної бази
  9. Можливість видалення всієї бази
  10. Організація пошуку за критеріями:
  11. Модель зброї;
  12. Калібр вогнепальної зброї;
  13. Вага зброї;
  14. Довжина зброї;
  15. Реєстраційний номер зброї;
  16. Висота зброї.
  17. Можливість перегляду всіх існуючих відомостей;
  18. Зручний інтерфейс для користувача;
  19. Швидкість та простота роботи в даній програмі;

 

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