8-ДӘРІС Паскальдағы деректердің пайдаланушы типтері.
Деректердің пайдаланушы типтерінің сипаттамасы.
Типтердің үйлесімділігі. Жазулар.
Бекітілген бөлігі бар жазулар.
Нұсқалы жазулар.
ЖАЗБАЛАР
Массив сияқты жазба да көп мәліметтен тұрады. Бірақ массивтен айырмашылығы - жазбада әртүрлі типтерге жататын элементтер болуы мүмкін. Осыған байланысты жазбаның әртүрлі элементтеріне қол жеткізу механизмі ерекшеленеді. Массивте элементтердің орны индекс бойынша анықталады және массив элементтерін әртүрлі тәсілмен сұрыптауға болады. Ал жазбаға келетін болсақ, мұнда әр элементтердің жеке атауы бар, ал сұрыптау амалының мағынасы жоқ. Жазба (мәліметтердің комбинацияланған типі) қандай-да бір объект туралы ақпаратты біріктіруге қолайлы. Мұндай мәліметтер қандай-да техникалық құрылғының сипаттамалары немесе өндіріс орнының экономикалық мәліметтері немесе адам туралы мәліметтер болуы мүмкін. Жазбаны құратын элементтер өріс деп аталады.
Жазбаны сипаттау келесі түрге ие:
а=record
x,y:m;
. . .
z:n
end;
Мұндағы, а - комбинацияланған типтің атауы. RECORD және END резервтелген сөздер, бұлар жазба және соңы мағынасын береді, x,y,z - өріс атаулары, m,n- өрістер жататын типтер. RECORD сөзінен кейін үтір-нүкте қойылмайды. Жеке өрістердің сипатталуы үтір-нүктемен аяқталады.
Жазба өрістерін сипаттау кәдімгі айнымалыларды сипаттауға ұқсас. Өрістер кез-келген типке жата алады, яғни қарапайым, сол сияқты құрылымданған, сол сияқты стандартты қолданушы анықтаған типтерге жатуы мүмкін. Мысалы, өрістерінің өзі массив немесе жазба болатын жазбалар болады.
Жазба өрістері туралы бірнеше ескертулер:
Жазбадағы өрістер саны бекітілген және жазбаны сипаттау кезінде анықталады;
Жазба аясында өрістер атаулары қайталанбау керек;
Егер программада бірнеше комбинацияланған типтер жарияланса, онда әртүрлі типтерге жататын өріс атаулары қайталана беруіне болады. Мұндай жағдайда атау конфликтілері болмайды. Себебі жеке өрістерді шақыру жазба атауын көрсету арқылы жүзеге асырылады;
Программадағы басқа идентификатор сияқты өріс атаулары ондағы ақпараттың мағынасына сәйкес болуы керек.
Мысал ретінде адамдар туралы мәліметтерді алайық. Осы жазбаны сипаттау кезінде программа төмендегідей сипатталады:
type
Employee=record
ID:word;{идентифиатор (жеке. номер)}
FirstName, SecondName, SurName: string 20;
{Аты, Тегі, Әкесінің аты}
Standing:byte; {өтілі}
Salary:real; {еңбекақысы}
End;
Var
Assistant: Employee;
Жоғарыда сипатталған Employee комбинацияланған типі 6 өрістен тұрады. Олардың 3-і - FirstName, SecondName, SurName - әрбіреуі 20 символдан тұратын жолдарды көрсетеді, қалғандары ID, Standing, Salary - мазмұнына сәйкес келетін типтері бар өрістер. Employee типтеріне жататын бір жазбаның мазмұны төмендегідей болады.
ID SurName FirstName SecondName Standing Salary
14873 Петров Иван Кузмич 15ж. 1000 сом.
Жоғарыдағы мысалда келтірілген ассистент айнымалысының әр түрлі өрістерін шақыру үшін төмендегідей көрсетуге болады.
Assistant.ID:=19876
Write(Assistant. FirstName);
Read(Assistant. SecondName);
Assistant. SurName:=” Петров”;
A:= Assistant. Standing;
B:= Assistant. Salary\100;
Басқаша сөзбен айтқанда, жазба өрістерімен амалдарды типін есепке ала отырып, кәдімгі айнымалылармен жұмыс істеген сияқты орындаймыз. Жоғарыдағы мысалда фамилия, аты, әкесінің атын көрсетуге арналған өрістер жолдар болып табылады. Сондықтан осы жолдардағы символдардың кез келгенін көрсету үшін жазба атауын, өріс атауын және жолдардағы символ нөмірін көрсету жеткілікті. Осындай шақыру төмендегідей болады және бұл оператор адам атының бірінші әрпін экранға шығарады.
Write (Assistant. FirstName [1]);
Мысалы: адамның аты мен әкесінің атынан инициалын алу қажет болсын. Онда:
Write(‘Петров’);
Write(Assistant. FirstName[1],’.’);
Write (Assistant.SecondName [1],’.’);
Осы операторлар тізбегінің жұмыс нәтижесі төмендегідей.
Петров И.К.
Достарыңызбен бөлісу: |