|
Довідкова система по кримінальному праву
Довідкова система по кримінальному праву
Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС Курсова робота з дисципліни «Основи програмування та алгоритмічні мови» на тему: «Довідкова система по кримінальному праву» Харків Зміст - Вступ
- 1. Основна частина
- 1.1 Неформальна постановка задачі
- 1.2 Формальна постановка задачі
- 1.3 Структура зберігаючих даних:
- 2. Алгоритми
- 2.1 Алгоритм основної програми
- 3. Вихідний код програми
- Висновок
- Список використаної літератури
ВступДуже велика кількість часу витрачається на пошук тіеї чі іншої інформації. Довідкова система спрямована по зменшення витрат часу, фізичних втрат на пошук, та інших витрат на здобуття тієї чи іншої інформації. На сьогодні ця тема дуже актуальна і тому я вибрав саме її. Первинною задачею є створення програми «Довідник» Я вибрав мову програмування Turbo Pascal, з метою закріплення своїх навиків з програмування та вона я найбільш оптимальною для швидкого вирішення задачі. 1. Основна частина1.1 Неформальна постановка задачіРозробити програму-«довідник» для збереження та перегляду всієї інформації що стосується термінології.ь Введення і збереження інформації про нормативні документи стосовно кримінального права в типізірованому файлі:o термінo його визначення o дата заносу в базуь Можливість редагування даної базиь Організація пошуку за критеріями:ь Можливість перегляду всіх існуючих документівь Можливість видалення всієї бази.ь Зручний інтерфейс для користувачаь Швидкість та простота роботи в даній програмі1.2 Формальна постановка задачіВихідні дані:Позначимо сукупність всіх даних, які будуть заноситись до бази даних через множину К, таким чином К={К1 ,К2 ,…,Кі}, де і=1..n, Кі - терміни з кримінального права.Кожен документ складається з відомостей, що стосуються цього документу, отже маємо Кі={Кі1 ,Кі2 ,…,Кіj}, j=1..4.Таким чином ми маємо матрицю всіх відомостей які зберігаються в базі даних, та заносяться користувачем.Результат:Множина Рij, яка формуються з вхідних даних а саме множини Аij Шляхом пошуку відповідності О- критерій пошуку терміну.1.3 Структура зберігаючих даних:R - запис для введення та зберігання інформації від користувача· Z - поле для введення терміну· S - його визначення· Datе - поле для введення дати внесенняf: file of r - перемінна для занесення запису до файлуpol - процедура для занесення до фолу выдомостейramo4ka - для виведення на екран рамкиmenu_1 - процедура яка виводить на екран першу половину менюmenu_2 - процедура яка виводить на екран другу половину менюdel - для видалення базиdov - для перегляду всіх існуючих термінів2. Алгоритми2.1 Алгоритм основної програми3. Вихідний код програмиuses CRT,dos;type r=record z:string[15]; s:string;end;var s1,s2,s3,s4:string; l,i:byte; h:char; f: file of r;d:r;{------------} procedure ramo4ka (x1,y1,x2,y2,a,b:byte);var i:integer;begintextbackground(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);beginb:=0;a:=readkey;if a=#0 thenb:=ord(readkey);end;{------------------}procedure menu_1(s1,s2,s3,s4:string;c1,c2,c3,c4:byte);beginwindow(1,1,40,25);textbackground(0); textcolor(c1);ramo4ka(4,8,18,11,0,c1); gotoxy(4,2); write(s1); textcolor(c2);ramo4ka(4,12,18,15,0,c2); gotoxy(4,2); write(s2); textcolor(c3);ramo4ka(4,16,18,19,0,c3); gotoxy(4,2); write(s3); textcolor(c4);ramo4ka(4,20,18,23,0,c4); gotoxy(4,2); write(s4);end;procedure menu_2(i,h1,h2,h3,h4,c:byte;s:string);var a,b:byte;begincase i of 1: begin ramo4ka(4+h1,8,18+h1,11,0,c); gotoxy(4,2); write(s) end; 2: begin ramo4ka(4+h2,12,18+h2,15,0,c); gotoxy(4,2); write(s); end; 3: begin ramo4ka(4+h3,16,18+h3,19,0,c); gotoxy(4,2); write(s); end; 4: begin ramo4ka(4+h4,20,18+h4,23,0,c); gotoxy(4,2); write(s); end; end;end;{------------------} procedure pol; var i,n:integer; begin assign(f,'d:\kil.kil'); window(1,1,40,25); rewrite(f); textbackground(14); clrscr; window(4,3,37,22); textbackground(9); clrscr; write('vvedi rasmer basi- '); readln(n); for i:=1 to n do begin clrscr; write('vvedi pravovoy termin- '); readln(d.z); writeln('vvedi ego znahenie:');readln(d.s); seek(f,filesize(f));write(f,d); end; close(f); end; {.................................} procedure del; var c:char; begin window(1,1,40,25); textbackground(14); clrscr; window(4,3,37,22); textbackground(9); clrscr; if fsearch('kil.kil','d:\')='' then begin textcolor(4); writeln('faila net'); end else begin write('Udalit fail-Y/N ');readln(c); if c='y' then begin assign(f,'d:\kil.kil'); erase(f); writeln('Udalen'); end; end; readln; end; {............................} procedure dov; var i:integer;b:string; begin window(1,1,40,25); textbackground(14); clrscr; window(4,3,37,22); textbackground(9); clrscr; if fsearch('kil.kil','d:\')='' then begin textcolor(4); writeln('faila net'); end else begin clrscr; assign(f,'d:\kil.kil'); reset(f); for i:=0 to filesize(f)-1 do begin seek(f,i);read(f,d); writeln(i+1,'.', d.z); end; write('vvedi termin- ');read(b); clrscr; for i:=0 to filesize(f)-1 do begin seek(f,i);read(f,d); if b=d.z then begin writeln(d.z,':'); writeln; writeln(d.s); end; end; close(f); end; readln; end;{==================}begintextmode(co40);window(1,1,40,25);clrscr;s1:='Termini';s2:='Prosmotr';s3:='Udalenie';s4:='Vihod';menu_1(s1,s2,s3,s4,0,15,15,15);i:=1;menu_2(i,5,0,0,0,15,s1);repeat newreadkey(h,l); case l of 80:i:=i+1; 72:i:=i-1; end; case i of 0:i:=4; 5:i:=1; end; case i of 1:begin if h=#13 then pol; window(1,1,40,25); textbackground(0); clrscr; menu_1(s1,s2,s3,s4,0,15,15,15); menu_2(i,5,0,0,0,15,s1); end; 2:begin if h=#13 then dov; window(1,1,40,25); textbackground(0); clrscr; menu_1(s1,s2,s3,s4,15,0,15,15); menu_2(i,0,5,0,0,15,s2); end; 3:begin if h=#13 then del; window(1,1,40,25); textbackground(0); clrscr; menu_1(s1,s2,s3,s4,15,15,0,15); menu_2(i,0,0,5,0,15,s3); end; 4:begin if h=#13 then halt; window(1,1,40,25); textbackground(0); clrscr; menu_1(s1,s2,s3,s4,15,15,15,0); menu_2(i,0,0,0,5,15,s4); end; end;until h=#27;end.ВисновокВ цій роботі я створив програму «Довідник», яка полегшує обробітку інформації яка вводиться користувачем. В даній роботі були використані власні процедури та запозичені. Булу підключено два модулі СRT, якій відповідає за графіку та DOS, який працює з файлами. Вся інформація яка водиться користувачем зберігається в файлі, та при необхідності може бути переглянута.Мовою програмування я обрав Turbo Pascal, оскільки він є найбільш оптимальним для виконання поставленої задачі.Список використаної літератури1. Струков В.М. Основы алгоритмизации и программирования. Часть 2. Учебное пособие. - Харьков: Изд. Нац. ун-та внутр.дел,2003. - 188 с. 2. Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal. - X.,1995.3. Немнюгин С.А. Turbo Pascal. - СПб.: Питер, 2002. - 496 с.: ил.
|
|