Студентердің контингентін автоматтандыру

Студентердің контингентін автоматтандыру

Үлкен оқу мекемелерінде студенттер жайлы мәліметтерді тез тауып, оны пайдалану үшін, мысалы бір студент жайлы мәлімет қажет болған жағдайда, қолдан басқарудың орнына оны автоматтандырған өте қолайлы .
Студенттер туралы автоматтандырылған анықтаманы жасау – еліміздегі жоғарғы оқу орындарының мыңдаған студенттер базасын кішкентай ғана компьютерлік бағдарламаға сыйғызу десе де болады. Университеттің әкімшілігі осыншама күрделі ақпарттарды осындай автоматтандырылған программалық қамтама арқылы реттеп отыр. Әрбір жаңа оқу жылының мәліметтері осы программаның қоймасына сақталып отырады. Осы деректерді қолданушылар оп-оңай қоймадан қажет кезде сұраныс беру арқылы ала алады. Мәліметтер көп болған сайын оны автоматтандырудың қажеттілігі арта береді.
Оқу орындарының ақпараттарын автоматтандырумен қамтамасыз ету статистикалық есептерді жасауға септігін тигізеді, мысалы нақты бір облыстан келген студенттердің статистикалық тізімін алу үшін міндетті түрде автоматтандырылған жүйе қажет. Әйтпесе бұндай сұранысты қанағаттандыру үшін көптеген қағаз-құжаттарды іздеуге тура келеді.
Жасалынған жоба студенттердің қандай да бір ретпен берілген тізімінен тұрады. Жобадағы берілген деректерді пайдаланып студент жөнінде толық мағлұматтарды алуға болады.
Автоматтандырылған жобаны қолдану, жоғары оқу орындарының студенттерінің жалпы тізімін алуға, олардың топтарын анықтауға мүмкіндік береді.
Автоматтандырылған жобаның тиімділігі: қажетті жұмыс күшін азайтып, шығынды төмендетеді, яғни бірнеше қызметкерге төленетін жалақы университеттің басқа салаларына жұмсалады; қажетті ақпаратты іздеу уақытын азайтады; алынатын ақпараттың дәл болуын қамтиды.
Студенттердің контингентін автоматтандырудағы біздің мақсатымыз: өте аз уақыт ішінде студенттер жайлы толық, нақты мәліметтерді алу.
2. Есептің берілгені
Студенттердің контингентін автоматтандыру, яғни студенттердің аты – жөні, қайдан келгендігі, жынысы, тобы, туылған жылы бойынша автоматтандыру .
Студенттердің контингентін автоматтандыру үшін бізге: фамилясы, туған жылы, келген жері, тобы, берілген. Міне, осы арқылы студент контингентін автоматтандырамыз.
Алгоритм бойынша шешу үшін Turbo Рascal тілін пайдаланамыз. Қандай да бір объектіге қатысты программаларда әртүрлі мәліметтерді жинақтап қарастыру жиі кездеседі. Осы есептегі енгізілетін мәліметтер де әртүрлі, мысалы студенттің аты-жөні символдардан құралған сөз, ал туылған жылы немесе тобы сандардан құралған. Мәліметтердің мұндай түрлері үшін Turbo Pascal тілінде арнайы типтер тағайындалған. Бірнеше типті мәліметтерді пайдалану үшін аралас типті мәліметтер қолданылады. Бұл типті Паскаль тілінде жазба деп атайды. Біз қарстыратын есепті шешу үшін осы жазба пайдаланылған. Жазбаның автоматтандыруға өте қолайлы екендігін есепті шығару барысында көруімізге болады.
Программа құрылымында жазба типі келесі түрде баяндалады:
TYPE NTYPE=RECORD
ID11, …, ID1N:TYPE_1;
IDK1,…,IDKN:TYPE_2
END;
Мұндағы TYPE, RECORD,END Паскаль тілінің түйінді сөздері. NTYPE – жазба атауы немесе идентификаторы. ID11, …, ID1N және т.б. IDKN - өрістердің идентификаторлары (атауы).
Сонымен катар, Құрамды аттардың жазуын ықшамдау үшін WITH нұсқауын қолданған ыңғайлы. WITH нұсқауының жалпы түрі:
WITH R DО
P;
Мұндағы R – ол жазба типті айнымалының атауы. Р – ол Паскаль тілінің орындалатын нұсқаулары.
WITH нұсқауларын қолданғаннан кейін Р нұсқауларда R жазбаның өрістерін қолдана алады.
2.1. Программаның алгоритмі
Программа түсініктемеден басталады. Екінші жолда program өзекті сөзінен кейін ZZZSTUD программасының аты жазылған. Келесі жолда экранды тазалауға арналған crt модулін шақырамыз. Содан соң n индефикаторы 5 тұрақты санын сипаттап тұр. Zzz белгісін сипаттаймыз. Программада жазба қолданылғандықтан type сипаттау бөлімі жазылады. Сипаттау бөлімі RECORD қызметші сөзінен басталып END қызметші сөзінен аяқталады. Бұл қызметші сөздердің араларына өрістің идентификаторлары келтіріледі.
Олар: FAMILIA – студенттердің аты-жөні. Ол мәтіндік шама болғандықтан string түйінді сөзі арқылы беріледі. Ол 255 таңбаға дейінгі мәтіндік шаманың түрі болып саналады, яғни string[30] дегеніміз, бұл мәтіндік шаманың тек 30 таңбадан тұратынын көрсетеді. Одан артық берсек қате болады.God – студенттердің туған жылы. Ол бүтін сан мәндеріне ие болғандықтан integer типімен сипатталады. Gruppa – студенттің оқитын тобының аты және нөмірі, ал oblast – студенттің келген жері қарайтын облысы. Бұлар да мәтіндік шама болғандықтан string сөзі арқылы сипатталады. Record және end қызметші сөздерінің арасында жалпы программада қолданылатын айнымалылар сипатталды.
Программада пайдаланылатын көмекші идентификаторлар Var түйінді сөзінен кейін жазылған, яғни айнымалылар бөлімінде сипатталған. Біздегі студенттердің саны көп болғандықтан оны массив түрінде аламыз. Мұндағы с – массив атауы, array [1..n] of stud дегеніміз, сәйкесінше массивті белгілеу, оның бастапқы және соңғы элементтерінің индекстерін көрсету, ал of stud – осы массивтің stud типті екенін баяндайды. I – студенттердің саны, ал k – қажетті таңдауды іске асыратын батырмаға меншіктелген идентификаторы. I және k бүтін, нақты сандық шамалар болғандықтан integer типімен сипатталды. Z - сұранысты енгізуге арналған жол, ягни оны қолданушы енгізеді. Біздің тапсырмада бұл идентификатор арқылы сұратылатын облыс сипатталған, ал Z1 – осы Z-пен салыстырылатын Boolean логикалық типті барлық енгізілген облыстар.
Программаның 15-ші жолынан бастап Begin негізгі бөлімі келтірілген. Программа басталды. CLRSCR түйінді сөзі арқылы экранды тазалап writeln шығару операторы көмегімен жақша ішіне жазылған ‘Vvedite dannie’ сөзін экранға шығарамыз. For i:=1 to n do параметрлі қайталау операторы көмегімен 1-ші студенттен бастап n-ші, яғни соңғы студенке дейін with операторы көмегімен студентке қатысты барлық мәліметтерді енгізе бастайды, яғни олардың аты-жөні, туған жылы, келген облысы, тобы туралы ақпарат экранға шығарылады.
Zzz белгінсін орнату. Z1 идентификаторының мәнін жалған деп аламыз. Writeln шығару операторы арқылы 1.Spisok, 2.Oblast, 3.Vihod сөздерін экранға ретімен шығарамыз. Мұндағы 1.Spisok сөзі студенттер жөніндегі мәліметтерді тізім бойынша шығарады. 2. Oblast – студенттерді өзіңізге қажетті облыс бойынша шығарады. 3.Vihod – жалпы программадан шығады. ‘Vvedite 1 ili 2 ili 3’ сөзін writeln шығару операторы арқылы экранға шығарып, енгізілген k=1,2 немес 3 санына сәйкес келетін орындалу бұйрығын орындау, яғни 1- студентердің тізімін экранға шығару, 2-нақты бір облыстан келген студенттерді шығару, 3-програмадан шығу. Бұны анықтау үшін шарт қоямыз.
If егер k=1 болса, яғни 1 батырмасын бассақ then онда clrscr экранды тазалап, for i:=1 to n do параметрлі қайталау операторы арқылы 1-ші студенттен бастап n соңғы студенке дейігі мәліметті тізім бойынша шығарып береді. Оны компьютерде түсінікті түрде көру үшін ‘familia’, ‘god’, ‘gruppa’, ‘oblast’ сөздерін экранға шығарамыз. Else әйтпесе кері жағдайда қайтадан қайталап шарт қоямыз. If егер k=2 болса, яғни 2-ші батырманы бассақ, then онда ‘Vvedite oblast’ сөзін экранға шығарамыз да z – студенттің облысын енгіземіз. for i:=1 to n do параметрлі қайталау операторы арқылы 1-ші студенттен бастап n соңғы студенке дейін деп алып, егер if c[i].oblast=z шартын тексереміз, яғни енгізілген облыспен студенттердің облысын салыстырамыз. Егер қойылған шарт орындалса, онда табылған студент туралы мәліметтерді writeln шығару операторы арқылы ‘familia’, ‘god’, ‘gruppa’, ‘oblast’ сөздерін экранға шығарамыз.
Қайтадан шарт қоямыз. If егер біз енгізген мәлімет табылмаса, ягни z1=false болса, then онда мұндай облыс бойынша студент жоқ деген мәліметті шығару үшін writeln шығару операторы көмегімен ‘S etoi oblasti studenta net’ сөзін экранға шығарамыз. Else әйтпесе 3 батырмасын басу арқылы программадан шығамыз. Go to zzz белгісіне ораламыз.
End – программаның соңы. Студенттердин контингентин автоматтандыру аякталды.
3. Програманың жазылуы
Program zzzStud;
uses crt;
const n=4;
label zzz;
type student=record
familia:string[30];
god:integer;
gruppa:string[15];
oblast:string[20];
end;
var c:array[1..n] of student;
i,k:integer;
z:string;
z1:boolean;
begin
clrscr;
writeln('Vvedite dannie');
for i:=1 to n do
with c[i] do
begin
writeln('VVedite familiu');
readln(familia);
writeln('VVedite god rojdenia');
readln(god);
writeln('VVedite gryppy');
readln(gruppa);
writeln('VVedite oblast');
readln(oblast);
end;
zzz:
z1:=false;
writeln; writeln;
writeln('### 1.Spisok ###');
writeln('### 2.Oblast ###');
writeln('### 3.Vihod ###');
writeln;
writeln('Vvedite 1 ili 2 ili 3');
readln(k);
if k=1 then
begin
clrscr;
for i:=1 to n do
begin
with c[i] do
writeln(familia,' ',god,' ',gruppa,' ',oblast)
end;
end else if k=2 then
begin
writeln('Vvedite oblast');
readln(z);
for i:=1 to n do
begin
if c[i].oblast=z then
begin
z1:=true;
writeln(c[i].oblast,' ',c[i].god,' ',c[i].gruppa,' ',c[i].familia)
end;
end;
if z1=false then writeln('S etoi oblasti stydenta net');
end else if k=3 then exit;
goto zzz;
end ....


Толық нұсқасын 30 секундтан кейін жүктей аласыз!!!


Қарап көріңіз 👇


Пайдалы сілтемелер:
» Туған күнге 99 тілектер жинағы: өз сөзімен, қысқаша, қарапайым туған күнге тілек
» Абай Құнанбаев барлық өлеңдер жинағын жүктеу, оқу
» Дастархан батасы: дастарханға бата беру, ас қайыру