Збекистон миллий университети



Download 1,98 Mb.
bet34/56
Sana23.06.2022
Hajmi1,98 Mb.
#694633
TuriПрограмма
1   ...   30   31   32   33   34   35   36   37   ...   56
Bog'liq
inf va dast-oquv-qollanma

§ 3.16. Аралаш тур

Аралаш тур ҳосилавий турлар синфига тегишли бўлиб, унинг қиймати регуляр турнинг қийматига ўхшаш бўлади умумий ҳолда эса тривиал бўлмаган берилганлар структурасига ўхшашдир. Аралаш турнинг қиймати бир неча компоненталардан иборат бўлиб, жадвал катталикдан фарқли ўлароқ бу компоненталар ҳар хил турга тегишли бўлиши мумкин ва бу компоненталарга мурожат жадвал катталикдагидек индекс бўйича эмас, балки компонентанинг номи бўйича амалга оширилади.


Аралаш турнинг қийматини одатда ёзув деб номланади.
Аралаш турнинг қиймати мураккаб қурилмага эга бўлган бирор бир объектни тасвирлаш учун ишлатилади, одатда ҳар хил кўринишдаги информацион системаларни яратишда ишлатилади.
Аралаш турнинг қиймати чекли сондаги компонентадан иборат берилганлар структурасидан иборат бўлиб, бу компоненталар майдон деб номланади. Ёзувнинг ҳар бир майдонига ном қўйилиб ва бу майдоннинг тури кўрсатилади. Шуни эслатиб ўтиш керакки, ёзувдаги майдоннинг турига ҳеч қанадай чегара қўйилмайди, шунинг учун ёзувнинг майдони ўз навбатида яна ёзув бўлиши мумкин ва ҳ. к.. Бунда ҳар бир майдоннинг таъсир этиш чегараси ўзи аниқланган ёзувнинг ички қисми бўлади. Битта ёзувдаги ҳар бир майдоннинг номлари ҳар хил бўлиши керак. Агарда битта ном бошқа бир номнинг таъсир этиш доирасида ётган бўлса ёки бу номлар битта ёзувнинг ҳар хил майдонларида жойлашган бўлса, у ҳолда бу номлар бир хил деб қабул қилинади. Ҳар хил ёзувлар эса бир хил номлардан иборат майдонлардан ташкил топган бўлиши мумкин, чунки бу бир хил номларга мурожаат бўлганда албатта ташқи ёзувнинг номи ишлатилади.
Аралаш турни программада эълон қилиш учун record ва end калит сўзлари ишлатилади ва унинг умумий кўриниши қуйидагича:
Type
<аралаш тур> = record
<1-ўзгарувчи> : <тур номи>;
...
: <тур номи>
End;

Бу ерда <аралаш тур>-яратилаётган тур номи идентификатори, -аралаш тур таркибига кирувчи ўзгарувчи (майдон) номи идентификатори, <тур номи> - ўзгарувчи тури номи. Масалан:


data = record
kun: 1..31;
oy : string[8];
yil : word;
end;
var
sana : data;

Аралаш турдаги ўзгарувчиларни ишлатишда ўзгарувчи номи, "." (нуқта) ва тур таркибидаги мурожаат қилинаётган ўзгарувчи номи ёзилади.


Масалан:
sana.kun : = 1;
sana.oy : = 'сентябрь';
sana.yil : = 1991;
Турбо-Паскал тили мураккаб турлар майдонларига мурожат қилишни яна бир усулини қўллаш мумкин. With махсус калит сўзи аралаш турга боғлик равишда программанинг шундай бир бўлагини аниқлайдики, унда аралаш тур номини ёзмасдан, тўғридан-тўғри унинг таркибидаги ўзгарувчиларга мурожаат қилиш мумкин, масалан:

with sana do


begin
kun: =15;
oy : = 'январь';
yil : = 1998
end;
Шулардан фойдаланиб берилган комплекс сондан иборат аралаш турни қуйидаги кўринишда аниқлаш мумкин:
type complex=record
re: real;
im: real;
end

Бу нарса шуни билдирадики, complex туридаги ҳар қандай қиймат ёзувдан иборат берилганлар структурасидан иборат бўлиб, у иккита компонентадан (майдон) re ва im иборат ва бу компоненталарни ҳар бири real туридаги қиймат қабул қилади.


Энди ўзгарувчилар бўлимида complex туридаги ўзгарувчини киритиш мумкин, масалан :
var x, y: complex;

Бу эълон қилинган ўзгарувчилар x ва y ўзгарувчининг қийматларини аниқламайди, балки бу ўзгарувчиларнинг ҳар бирининг қиймати complex деб номланган структурадан иборат эканлигини билдиради. Бу ўзгарувчиларнинг ҳар бирига аниқ қиймат бериш учун уларнинг ҳар бирини компоненталарига қиймат бериш керак. Ўзгарувчиларнинг компоненталарига мурожат қилиш қуйидаги кўринишдаги структура ишлатилади:


< тўлиқ ўзгарувчининг номи>. <майдон номи>

1-мисол.


Гурухдаги талабаларнинг рўйхати ва баҳоси берилган. Биздан 5 баҳога ўқийдиганлар сони ва фамилияси А харфидан бошланувчи талабалар сонини топиш талаб қилинган бўлсин.
Мазкур рўйхатнинг ҳар бир сатри тартиб номери- N, талабанинг фамилияси, исми, шарифи-FIS ва олган баҳосидан – 0 иборат.
Royhat номли ‘аралаш тур’ ёки ёзув ташкил этайлик:

Program ARALASH;


Type Royhat=Record
N:integer;
FIS:string[15];
O:integer;
Var
B: Royhat;
begin
S1: =0; S2:қ0;
For I: =1 to N do
begin
For K: =1 to M do Read(B.FIS [k]);
Read(B,0) ;
If B.0қ5 then S1: =S1+1;
If B,FIS[1] =’A’ then S2: =S2+1;
end;
write(S1,S2)
end.

Мустақил бажариш учун топшириқлар


1. Икки нуқта орасидаги масофани аниқлаш програмасини ёзинг.


2. Берилган (х, у) нукта доира ичида ёки ташқарисида эканилигини аниқлаш програмасини ёзинг.
3. Юқорида 1 ва 2 масалаларини програмасини ёзишда WITH калит сўзидан фойдаланиб ёзинг.
4. Комплекс сонлар устида амалларни бажариш программаларини ёзинг.
5. Берилган хизматчилар рўйхатидан керакли кишини аниқлаш програмасини ёзинг.



Download 1,98 Mb.

Do'stlaringiz bilan baham:
1   ...   30   31   32   33   34   35   36   37   ...   56




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish