Главная Рефераты по сексологии Рефераты по информатике программированию Рефераты по биологии Рефераты по экономике Рефераты по москвоведению Рефераты по экологии Краткое содержание произведений Рефераты по физкультуре и спорту Топики по английскому языку Рефераты по математике Рефераты по музыке Остальные рефераты Рефераты по авиации и космонавтике Рефераты по административному праву Рефераты по безопасности жизнедеятельности Рефераты по арбитражному процессу Рефераты по архитектуре Рефераты по астрономии Рефераты по банковскому делу Рефераты по биржевому делу Рефераты по ботанике и сельскому хозяйству Рефераты по бухгалтерскому учету и аудиту Рефераты по валютным отношениям Рефераты по ветеринарии Рефераты для военной кафедры Рефераты по географии Рефераты по геодезии Рефераты по геологии Рефераты по геополитике Рефераты по государству и праву Рефераты по гражданскому праву и процессу Рефераты по делопроизводству Рефераты по кредитованию Рефераты по естествознанию Рефераты по истории техники Рефераты по журналистике Рефераты по зоологии Рефераты по инвестициям Рефераты по информатике Исторические личности Рефераты по кибернетике Рефераты по коммуникации и связи |
Курсовая работа: База даних по обліку вогнепальної зброїКурсовая работа: База даних по обліку вогнепальної зброїМіністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС Курсова робота з дисципліни «Основи програмування та алгоритмічні мови» на тему: «База даних по обліку вогнепальної зброї» Харків р. Зміст Вступ1. Основна частина1.1 Неформальна постановка задачі1.2 Формальна постановка задачі1.3 Структура зберігаючих даних2. Алгоритми2.1 Алгоритм основної програми2.2 Алгоритм процедури Zap2.3 Алгоритм процедури Udal3. Вихідний код програмиВисновокСписок використаної літературиВступОскільки в сучасному світі існує дуже велика кількість вогнепальної зброї, то реєстрація облік її просто необхідний, адже саме вона стає причиною багатьох людських смертей. Таким чином для полегшення роботи працівникам міліція я вирішив створити програму яка полегшить роботу працівникам ОВС і переведе їх з паперової реєстрації до більш сучасної електронної. Де також з’являється можливість передачі даної бази мережею Інтернет. Я вибрав мову програмування Турбо Паскаль, з метою закріплення своїх навиків з програмування. 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 Алгоритм процедури Zap2.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; 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 с.: ил. |
|||||||||||||||||||||||||||||||||||||||||||||