|
Аналіз успішності групи
Аналіз успішності групи
Міністерство внутрішніх справ України Харківський національний університет внутрішніх справ Навчально-науковий інститут менеджменту, соціальних та інформаційних технологій Кафедра інформаційних систем і технологій в діяльності ОВС Курсова робота з дисципліни "Основи програмування та алгоритмічні мови" на тему: "Аналіз успішності групи" Харків Зміст - Вступ
- 1. Основна частина
- 1.1 Неформальна постановка задачі
- 1.2 Формальна постановка задачі
- 1.3 Структура зберігаючих даних
- 2. Алгоритми
- 2.1 Алгоритм основної програми
- 3. Вихідний код програми
- Висновок
- Список використаної літератури
ВступВчителі витрачають дуже багато часу на те щоб перевірити оцінки та зробити аналіз успішності групи, адже вся інформація яка у них є вона в письмовому виді і таку інформацію не завжди легко обробляти. Таким чином потрібно розробити програму яка автоматизовано буде обробляти надану їй інформацію. Я вибрав мову програмування Turbo Pascal, з метою закріплення своїх навиків з програмування. 1. Основна частина1.1 Неформальна постановка задачіРозробити програму "аналіз успішності групи" для збереження та перегляду всієї інформації що стосується навчання.ь Введення і збереження інформації стосовно оцінок групи:o Фамілія курсантаo Оцінка по математикиo Оцінка по хіміїo Оцінка по фізиціo Оцінка по історіїь Можливість редагування даної базиь Організація пошуку за критеріямиь Аналіз успішності курсантаь Можливість перегляду всіх існуючих документівь Можливість видалення всієї бази.ь Зручний інтерфейс для користувачаь Швидкість та простота роботи в даній програмі1.2 Формальна постановка задачіВихідні дані:Позначимо через множину В = {B1, B2, … , Bi} всіх курсантів, тоді Bi={Z1, Z2, … , Zj}, де Zj - оцінка з певного предмету.Таким чином отримуемо матрицю всіх відомостей R=||Rij||Результат:Множина Tij, яка формуються з вхідних даних а саме множини BijМатематична модель:1.3 Структура зберігаючих данихG - структура для введення даних· Im - поле для введення фамілії курсанта· m - Поле для введення оцінки по матиматиці· xi - Поле для введення оцінки по хімії· fi - Поле для введення оцінки по фізики· is - Поле для введення оцінки по історіїpamka - малює рамочку в певних координатахvo - процедура для введення відомостейpor - процедура яка виконує аналіз та виводить його на екранud - процедура яка видаляє базуzapask - процедура яка відповідає за створення головного меню2. Алгоритми2.1 Алгоритм основної програми3. Вихідний код програмиuses crt,dos;type g=record {an u gr}im:string[25];m,xi,fi,is:integer;end;var a:char;b,i,p:byte;s1,s2,s3,s4:string;gr:g; f:file of g;{-------------------}procedure pamka (x1,y1,x2,y2:integer);var i,c:integer;begintextcolor(7);gotoxy(x1,y1);write(#201);for i:=1 to x2-x1-1 dobegingotoxy(x1+i,y1);write(#205);end;gotoxy(x2,y1);write(#187);for i:=1 to y2-y1-1 dobegingotoxy(x2,y1+i);write(#186);end;gotoxy(x2,y2);write(#188);for i:=1 to x2-x1-1 dobegingotoxy(x2-i,y2);write(#205);end;gotoxy(x1,y2);write(#200);for i:=1 to y2-y1-1 dobegingotoxy(x1,y1+i);write(#186);end;end;procedure vo;var i,n:integer;beginwindow(1,1,40,25);textbackground(2);clrscr;pamka(1,1,39,3);gotoxy(6,2);textcolor(3);write('Zapolnenie ranga uspevaemosti');pamka(1,3,39,25);window(2,4,38,24);write('vvedi kolichestvo kyrs. v grupe-');readln(n);assign(f,'qw.qw');rewrite(f);for i:=1 to n dobeginseek(f,filesize(f));clrscr;writeln('Krsant#',i);write('vvedi familiu kursanta- ');readln(gr.im);write('vvedi otcenku po matem-');readln(gr.m);write('vvedi otcenku po ximii-');readln(gr.xi);write('vvedi otcenku po fizike-');readln(gr.fi);write('vvedi otcenku po istorii-');readln(gr.is);write(f,gr);end;close(f);end;{............................}procedure por;var i,s,k,k1,s1,s2,s3,s4,min,max,j,l,s5:integer;z:real;beginif fsearch('qw.qw','qw.qw')='' thenbeginwindow(1,1,40,25);textbackground(2);clrscr;pamka(1,1,39,3);gotoxy(6,2);textcolor(3);write('Analis ranga uspevaemosti');pamka(1,3,39,25);window(2,4,38,24);textcolor(132);writeln('FAIL NE NAIDEN');endelsebeginwindow(1,1,40,25);textbackground(2);clrscr;pamka(1,1,39,3);gotoxy(6,2);textcolor(3);write('Analis ranga uspevaemosti');pamka(1,3,39,25);textcolor(0);window(2,4,38,24);assign(f,'qw.qw');reset(f);s:=0;k:=0;k1:=0; s1:=0;s2:=0;s3:=0;s4:=0; min:=9999;max:=-9999;j:=0;l:=0;for i:=0 to filesize(f)-1 dobegins5:=0;seek(f,i);read(f,gr);s5:=gr.m+gr.is+gr.xi+gr.fi;if 5<min thenbeginmin:=s5;j:=i;end;if s5>max thenbeginmax:=s5;l:=i;end;s:=s+gr.m+gr.is+gr.xi+gr.fi;s1:=s1+gr.m;s2:=s2+gr.is;s3:=s3+gr.xi;s4:=s4+gr.fi;k:=k+4;k1:=k1+1;end;seek(f,j);read(f,gr);writeln('kursant-',gr.im,' imeet samiy nizkiy bal');seek(f,l);read(f,gr);writeln('kursant-',gr.im,' imeet samiy visokiy bal');writeln('obsh. sr.bal v grupe- ',s/k:1:1);writeln('sr.bal po matem.- ',s1/k1:1:1);writeln('sr.bal po istorii- ',s2/k1:1:1);writeln('sr.bal po ximii- ',s3/k1:1:1);writeln('sr.bal po fizike- ',s4/k1:1:1);close(f);end;readln;end;{................................}procedure ud;beginif fsearch('qw.qw','qw.qw')='' thenbeginwindow(1,1,40,25);textbackground(2);clrscr;pamka(1,1,39,3);gotoxy(6,2);textcolor(3);write('Udalenie ranga uspevaemosti');pamka(1,3,39,25);window(2,4,38,24);textcolor(132);writeln('FAIL NE NAIDEN');readln;endelsebeginassign(f,'qw.qw');erase(f);writeln('FAIL UDALEN');readln;end;end;{-------------------}procedure Rama (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 dobeginwrite('Д');end;write('ї');for i:=2 to (y2-y1)-1 dobegingotoxy(1,i);write('і');gotoxy(x2-x1+1,i);write('і');end;write('А');for i:=1 to (x2-x1)-1 dobeginwrite('Д');end;write('Щ');end;{------------------------}procedure newreadkey (var a:char;var b:byte);beginb:=0;a:=readkey;if a=#0 thenb:=ord(readkey);end;{------------------}procedure zapaska(i:byte;s1,s2,s3,s4:string);beginwindow(1,1,40,7);textbackground(1);clrscr;window(1,18,40,25);textbackground(1);clrscr;window(1,7,40,18);textbackground(0);clrscr;case i of1: beginwindow(1,7,10,10);textbackground(1);clrscr;window(1,15,10,18);textbackground(1);clrscr;end;2: beginwindow(10,7,20,10);textbackground(1);clrscr;window(10,15,20,18);textbackground(1);clrscr;end;3: beginwindow(20,7,30,10);textbackground(1);clrscr;window(20,15,30,18);textbackground(1);clrscr;end;4: beginwindow(30,7,40,10);textbackground(1);clrscr;window(30,15,40,18);textbackground(1);clrscr;end;end;window(1,12,40,14);gotoxy(1,13);write(s1);write(s2);write(s3);write(s4);end;{==================}beginwindow(1,1,40,25);textbackground(0);clrscr;p:=1;s1:=' Vvod ';s2:=' Analiz ';s3:=' Udal ';s4:=' Vihid ';zapaska(1,s1,s2,s3,s4);repeatnewreadkey(a,b);case b of77:p:=p+1;75:p:=p-1;end;case p of5: p:=4;0: p:=1;end;case p of1: beginif a=#13 thenvo;zapaska(p,s1,s2,s3,s4);end;2: beginif a=#13 thenpor;zapaska(p,s1,s2,s3,s4);end;3: beginif a=#13 thenud;zapaska(p,s1,s2,s3,s4);end;4: beginif a=#13 thenhalt;zapaska(p,s1,s2,s3,s4);end;end;until a=#27;end.ВисновокВ данній курсовій роботі було створено програму для автоматизації та обробки певної інформації. Програма називається "Аналіз успішності групи". В даній програмі був створений максимально простий інтерфейс, максимально спростована робота користувачем. Таким чином програма легка в використанні, в той же час вона набагато спростовує обробку певної необхідної інформації. Було створене головне поле, де графічно створені пункти вибору певного дійства яке вибрав користувач. Під слофом графіка тут розуміється псевдографіка яка доступна завдяки модулю CRT. Також в "Аналізі успішності групи" використовуються процедури з модулю DOS. Була використані приємна кольорова гама, яка надає розслабленості користувачу, а також концентрує увагу на певних важливих елементах програми.Список використаної літератури1. Струков В.М. Основи алгоритмизации и програмирования. Часть 2. Учебное пособие. - Харьков: Изд. Нац. ун-та внутр.дел,2003. - 188 с.2. Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal. - X.,1995.3. Немнюгин С.А. Turbo Pascal. - СПб.: Питер, 2002. - 496 с.: ил.
|
|