Оқулық Қазақстан Республикасы Білім жəне ғылым министрлігі бекіткен Алматы, 2011 1



бет82/210
Дата06.01.2022
өлшемі4,42 Mb.
#16437
түріОқулық
1   ...   78   79   80   81   82   83   84   85   ...   210
Байланысты:
boribaev-algoritmdeu

Жазбаларды инициализациялау. Қандай да бір нақты жазбаға бастапқы мəнді типтік тұрақты арқылы меншіктеуге болады. Жазба өрістерінің бастапқы мəндері жақша ішінде үтір арқылы жазылады. Əр өріс үшін оның аты жəне қос нүктеден кейін мəні жазылады. Мысалы:
Const
BirthDay:Data=(Year:1973; Month:6; Day:30); ...
Жазбалармен орындалатын операциялар. Жазбалармен төмендегідей операцияларды орындауға болады.

Жазба өрістерін пайдалану. Мысалы, жоғарыда сипатталған Human типті, Sotr айнымалысының өрістеріне келесі жолмен қол жеткізуге болады:
S o t r . B i r t h D a y . Y e a r : = 2 5 ; m:=Sotr.BirthDay.Year; ...

Жазба өрістерін бірнеше рет пайдалану керек болса with опера-торын қолданған жөн. Мысалы, Human типті, Sotr айнымалы-сының Day өрісіне with операторы арқылы қол жеткізудің келесідей нұсқалары бар:




  1. with Sotr do BirthDay.Day:=30;




  1. with Sotr.BirthDay do Day:=24;




  1. with Sotr, BirthDay do Dat:=31;




  1. with Sotr do with BirthDay do Day:=7; ...


Жазбаларды меншіктеу. Бұл операция жазба типтері сəйкес
болғанда жəне тізбек бойынша орындалады. Мысалы:
Otdel[i]:=Sotr; ...
Жазбаны пернетақтадан енгізу жəне оларды экранға шығару осы типке сəйкес айнымалыларды енгізу жəне шығару ережелері бойынша орындалады.
6.5-мысал. Оқу тобы студенттері жайлы (фамилия жəне туған жылы) мəліметтерден тұратын жазба жиымын енгізетін программа құру керек. Фамилиясы пернетақтадан енгізілген студент жайлы мəліметтер іздеуді ұйымдастыру керек.


154

Program ex;
Type
data=record {“дата жайлы мəліметтер жазбасы ” типі}
year:word; {жыл}
month:1..12; {ай}
day:1..31; {күн}
end;
zap=record {“студент жайлы жазба” типі} fam:string[16]; {фамилия} birthday:data; {туған жылы} end;
Var fb:array[1..25] of zap; {топ студенттері жайлы мəндер жиымы}
fff:string; {фамилия енгізуге арналған жол} i,j,m,n:byte;
key:boolean; {іздеу кілті, егер фамилия табыл-
са - true}
Begin
WriteLn('Студенттер саны жайлы мəлімет
енгізіңіз n<=25');
ReadLn(n);
m:=0;
{бастапқы мəндерді пернетақтадан өрістен кейін
өрісті енгізу}
repeat m:=m+1;
Write(Фамилияны енгізіңіз: '); Readln(fb[m]. fam);
Write(Туған жылын енгізіңіз: '); Readln(fb[m]. birthday.year);
Write(' ай: '); Readln(fb[m].birthday.month);
Write(' күн: '); Readln(fb[m].birthday.day);
until n=m;
WriteLn;
{бастапқы мəндерді экранға with операторының көмегімен шығару }
Writeln('Топ студенттерінің тізімі'); WriteLn;


155

for i:=1 to m do
with fb[i] do
begin
Write(i:2,fam:17);
with birthday do
WriteLn(year:6,month:4,day:4);
end;
WriteLn;
{мəндерді жазба жиымының ішінен іздеу}
WriteLn('Фамилияны енгізіңіз');
Readln(fff);
i:=0;
key:=false; {«мəндер табылмады « белгісі} repeat i:=i+1;
if fb[i].fam=fff then key:=true until key or (i=m); {вывод результата}
if key then {егер студент табылса, ол жайлы мəліметтер экранға шығарылады} with fb[i] do
begin
WriteLn('Студент жайлы мəліметтер:');
Write(fam:18,' ');
with birthday do
WriteLn(day:2,':',month:2,':',year:5,' года');
end
else WriteLn(fff:18,'Студент жайлы мəлімет
жоқ');
End.


Достарыңызбен бөлісу:
1   ...   78   79   80   81   82   83   84   85   ...   210




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет