курсовые,контрольные,дипломы,рефераты
Міністерство внутрішніх справ України
Харківський національний університет внутрішніх справ
Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій
Кафедра інформаційних систем і технологій в діяльності ОВС
Курсова робота
з дисципліни «Основи програмування та алгоритмічні мови»
на тему: «База даних по обліку вогнепальної зброї»
Харків р.
Зміст
Оскільки в сучасному світі існує дуже велика кількість вогнепальної зброї, то реєстрація і облік її просто необхідний, адже саме вона стає причиною багатьох людських смертей. Таким чином для полегшення роботи працівникам міліція я вирішив створити програму яка полегшить роботу працівникам ОВС і переведе їх з паперової реєстрації до більш сучасної електронної. Де також з’являється можливість передачі даної бази мережею Інтернет.
Я вибрав мову програмування Турбо Паскаль, з метою закріплення своїх навиків з програмування.
Розробити програму « облік вогнепальної зброї» бля більш простої та оптимальної обробки інформації по зброї.
Ø Занесення відомостей по вогнепальній зброї користувачем та зберігання її до типізованого файлу:
o Модель зброї;
o Калібр вогнепальної зброї;
o Вага зброї;
o Довжина зброї;
o Реєстраційний номер зброї;
o Висота зброї.
Ø Можливість редагування даної бази
Ø Можливість видалення всієї бази
Ø Організація пошуку за критеріями:
o Модель зброї;
o Калібр вогнепальної зброї;
o Вага зброї;
o Довжина зброї;
o Реєстраційний номер зброї;
o Висота зброї.
Ø Можливість перегляду всіх існуючих відомостей;
Ø Зручний інтерфейс для користувача;
Ø Швидкість та простота роботи в даній програмі;
Вихідні дані:
Нехай А множина всієї вогнепальної зброї. Тоді
А={А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 - процедура для виведення всіх відомостей які містяться в базі
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;
gotoxy(x1,xx);
write('=>');
end;
end;
80: begin
if i<5 then
begin
i:=i+1;
xx:=xx+2;
gotoxy(x1,xx);
write('=>');
exit;
end;
if i=5 then
begin
i:=1;
xx:=y1;
gotoxy(x1,xx);
write('=>');
end;
end;
end;
end;
procedure zap;
var i,n:integer;
begin
clrscr;
writeln('vvedi kol-vo orugia');
readln(n);
assign(f,'d:\uy.rer');
rewrite(f);
for i:=1 to n do
begin
with oru do
begin
writeln('vvedi model orugia');
readln(med);
writeln('vvedi kalibr ');
readln(kal);
writeln('vvedi ves ');
readln(ves);
writeln('vvedi dlinu');
readln(dl);
writeln('vvedi visotu');
readln(vis);
writeln('vvedi por.nomer');
readln(pr_nom);
seek(f,filesize(f));
end;
write(f,oru);
end;
close(f);
menu(15,6,27,16,0,14,st1,st2,st3,st4,st5);
end;
procedure udal;
var c:char;
begin
clrscr;
if FSearch('uy.rer','d:\')='' then
begin
writeln('faila ne sushestvuet');
for b:=1 to 25 do
Delay(9999);
menu(15,6,27,16,0,14,st1,st2,st3,st4,st5);
end
else
begin
assign(f,'d:\uy.rer');
writeln('"y"-ydalit basy');
writeln('"n"-otmena');
c:=readkey;
if c='y' then
begin
erase(f);
menu(15,6,27,16,0,14,st1,st2,st3,st4,st5);
end;
if c='n' then
menu(15,6,27,16,0,14,st1,st2,st3,st4,st5);
end;
end;
procedure poisk;
var p,x:string;i:integer;
begin
clrscr;
if FSearch('uy.rer','d:\')='' then
begin
gotoxy(15,12);
textcolor(132);
writeln('zapisi net');
for b:=1 to 40 do
Delay(9999);
menu(15,6,27,16,0,14,st1,st2,st3,st4,st5);
end
else
begin
assign(f,'d:\uy.rer');
reset(f);
writeln('mogno iskat po:');
writeln;
writeln('dla poiska po modeli orugia vvedi-"model"');
writeln;
writeln('dla poiska po kalibru vvedi-"kalibr"');
writeln;
writeln('dla poiska po vesu vvedi-"ves"');
writeln;
writeln('dla poiska po dline vvedi-"dlina"');
writeln;
writeln('dla poiska po visote vvedi-"visota"');
writeln;
writeln('dla poiska po por.nomeru vvedi-"nomer"');
writeln;
writeln('vvedi po hom budem iskat i nagm. "ENTER"');
readln(p);
if (p= 'model') or (p='kalibr') or ( p='ves') or (p='dlina') or (p='visota') or (p='nomer') then
begin
if p='model' then
begin
clrscr;
writeln('vvedi iskaemou model');
readln(x);
for i:=0 to filesize(f)-1 do
begin
seek(f,i);
read(f,oru);
with oru do
if x=med then
begin
writeln('model orugia-',med);
writeln(' kalibr-',kal);
writeln(' ves-',ves);
writeln(' dlina-',dl);
writeln(' visota-',vis);
writeln('por.nom-',pr_nom);
end;
end;
end;
if p='kalibr' then
begin
clrscr;
writeln('vvedi iskaeiy kalibr');
readln(x);
for i:=0 to filesize(f)-1 do
begin
seek(f,i);
read(f,oru);
with oru do
if x=kal then
begin
writeln('model orugia-',med);
writeln('kalibr-',kal);
writeln('ves-',ves);
writeln('dlina-',dl);
writeln('visota-',vis);
writeln('por.nom-',pr_nom);
end;
end;
end;
if p='ves' then
begin
clrscr;
writeln('vvedi iskaeiy ves');
readln(x);
for i:=0 to filesize(f)-1 do
begin
seek(f,i);
read(f,oru);
with oru do
if x=ves then
begin
writeln('model orugia-',med);
writeln('kalibr-',kal);
writeln('ves-',ves);
writeln('dlina-',dl);
writeln('visota-',vis);
writeln('por.nom-',pr_nom);
end;
end;
end;
if p='dlina' then
begin
clrscr;
writeln('vvedi iskaemou dliny');
readln(x);
for i:=0 to filesize(f)-1 do
begin
seek(f,i);
read(f,oru);
with oru do
if x=dl then
begin
writeln('model orugia-',med);
writeln('kalibr-',kal);
writeln('ves-',ves);
writeln('dlina-',dl);
writeln('visota-',vis);
writeln('por.nom-',pr_nom);
end;
end;
end;
if p='visota' then
begin
clrscr;
writeln('vvedi iskaemou visotu');
readln(x);
for i:=0 to filesize(f)-1 do
begin
seek(f,i);
read(f,oru);
with oru do
if x=vis then
begin
writeln('model orugia-',med);
writeln('kalibr-',kal);
writeln('ves-',ves);
writeln('dlina-',dl);
writeln('visota-',vis);
writeln('por.nom-',pr_nom);
end;
end;
end;
if p='nomer' then
begin
clrscr;
writeln('vvedi iskaemiy por.nomer');
readln(x);
for i:=0 to filesize(f)-1 do
begin
seek(f,i);
read(f,oru);
with oru do
if x=pr_nom then
begin
writeln('model orugia-',med);
writeln('kalibr-',kal);
writeln('ves-',ves);
writeln('dlina-',dl);
writeln('visota-',vis);
writeln('por.nom-',pr_nom);
end;
end;
end
end
else writeln('po' ,p,'poisk ne idet');
close(f);
end;
readln;
menu(15,6,27,16,0,14,st1,st2,st3,st4,st5);
end;
procedure prosm;
var i,j:integer;
begin
clrscr;
if FSearch('uy.rer','d:\')='' then
begin
gotoxy(15,12);
textcolor(132);
writeln('zapisi net');
for b:=1 to 40 do
Delay(9999);
menu(15,6,27,16,0,14,st1,st2,st3,st4,st5);
end
else
begin
assign(f,'d:\uy.rer');
reset(f);
for i:=0 to filesize(f)-1 do
begin
seek(f,i);
read(f,oru);
with oru do
begin
writeln('zapis-',i+1);
writeln('model orugia-',med);
writeln(' kalibr-',kal);
writeln(' ves-',ves);
writeln(' dlinu-',dl);
writeln(' visotu-',vis);
textcolor(2);
for j:=1 to 80 do
write(#205);
end;
end;
close(f);
end;
readln;
menu(15,6,27,16,0,14,st1,st2,st3,st4,st5);
end;
begin
textmode(co40);
window(1,1,40,25);
clrscr;
st1:='novaya basa';
st2:='udalit basu';
st3:='poisk v base';
st4:='prosmotr ';
st5:='exit';
menu(15,6,27,16,0,14,st1,st2,st3,st4,st5);
x1:=13;y1:=6;y2:=6;
i:=1;
repeat
repeat
newreadkey(a1,b);
strelka(y2,i,x1,y1,6,b);
until a1=#13;
case i of
1:zap;
2:udal;
3:poisk;
4:prosm;
5:halt;
end;
until a1=#27;
end.
В даній курсовій роботі були використані елементи програмування на мові Паскаль. Була створена програма, яка веде облік вогнепальної зброї. Таким чином біли виконані всі вимоги до даної курсової роботи.
В даній роботі було створено досить велику кількість процедур, які можливо використати і в інших програмних проектах, були використані різні типи даних, а також були застосовані процедури та функції які були створені раніше, ці процедури та функції я брав з модулів CRT та DOS.
1. Струков В.М. Основи алгоритмизации и програмирования. Часть 2. Учебное пособие. – Харьков: Изд. Нац. ун-та внутр.дел,2003. – 188 с.
2. Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal. – X.,1995.
3. Немнюгин С.А. Turbo Pascal. – СПб.: Питер, 2002. – 496 с.: ил.
Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС
База даних по приватним підприємствам регіону
База даних по приватних підприємствах регіону
База даних студії веб-дизайну
База даних фільмотеки: розробка проекту
База данных "Автоматизация учета больных в студенческой больнице"
База данных "Пассажирские железнодорожные перевозки"
База данных "Сотрудники"
База данных "Такси"
База данных "Учет готовой продукции на складе"
База данных "фруктовый сад"
Copyright (c) 2024 Stud-Baza.ru Рефераты, контрольные, курсовые, дипломные работы.