1-Маъруза. Дастурлаш тиллари ва уларни куллаш


Тупламлар устида операциялар



Download 1,35 Mb.
bet28/68
Sana25.02.2022
Hajmi1,35 Mb.
#311154
TuriИнструкция
1   ...   24   25   26   27   28   29   30   31   ...   68
Bog'liq
PASCAL

3.9Тупламлар устида операциялар.


Муносабат операциялари,бирлаштириш,санаб утиш, тупламлар фарки, IN операцияси.

Тупламлар билан ишлашда муносабат операциялари "=", "<>", ">=", "<="дан , бирлаштириш, санаб утиш, тупламлар фарки, IN операцияларидан фойдаланиш мумкин. Бу операциялардан фойдаланиб топилган ифоданинг натижаси True еки False булади.


"тенглаш" (=) операцияси. А ва В тупламлар бир хил элементлардан иборат булса, бир-бирига тенг дейилади.





А нинг киймати

В нинг киймати

Ифода

Натижа

[1,2,3,4]

[1,2,3,4]

A = B

True

['a','b','c']

['c','a']

A = B

False

['a'..'z']

['z'..'a']

A = B

True

"Тенг эмас" (<>) операцияси. Агарда А ва В тупламлар, куввати еки киймати буйича биттагина элементга фарк килса хам , тенг эмас хисобланади.





А нинг киймати

В нинг киймати

Ифода

Натижа

[1,2,3]

[3,1,2,4]

A <> B

True

['a'..'z']

['b'..'z']

A <> B

True

['c'..'t']

['t'..'c']

A <> B

False

"Катта ёки кичик" ( >= ) операцияси. Тупламга тегишлиликни аниклашда фойдаланилади. Агарда В тупламнинг хамма элементлари А туплам ичига кирган булса ,A >= В опеоациясининг натижаси True булади. Акс холда натижа False булади.





А нинг киймати

В нинг киймати

Ифода

Натижа

[1,2,3,4]

[2,3,4]

A >= B

True

['a'..'z']

['b'..'t']

A >= B

True

['z','x','c']

['c','x']

A >= B

True

"Кичик ёки тенг" ( >= ) операцияси. Бу операция хам олдингисига ухшаш, лекин A <= B нинг натижаси True булади, качонки А тупламнинг хамма элементлари В туплам ичига кирган булса , акс холда натижа False булади.



A нинг киймати

В нинг киймати

Ифода

Натижа

[1,2,3]

[1,2,3,4]

A <= B

True

['d'..'h']

['z'..'a']

A <= B

True

['a','v']

['a','n','v']

A <= B

True

IN операцияси. Бирорта кийматни курсатилган тупламга тегишлилигини текшириш учун ишлатилади. Одатда шартли операторларда кабул килинади.



A нинг киймати

Ифода

Натижа

2

IF A IN [1,2,3] THEN ...

True

' v '

IF A IN ['a'..'n'] THEN ...

False

X1

IF A IN [X0, X1, X2, X3] THEN...

True

IN олерациясидан фойдаланилган вактда кийматни курсатилган тупламга тегишлилигини текшириш учун квадрат кавс ичидаги кийматлатларни олдиндан эълон килиш шарт эмас.


IN операцияси унлаб мураккаб операцияларни алмаштириб , самарали ва кургазмали холатда шартларни текшириш имкониятини беради. Масалан,


IF (a=1) OR (a=2) OR (a=3) OR (a=4) OR (a=5) OR (a=6) THEN... ифодани анча киска булган
IF a IN [1..6] THEN... . билан алмаштириш мумкин.

Купрок IN операциясини инкор операцияси билан ёзишга уринилади:


X NOT IN M.

Бундай куринишдаги ёзув хато хисобланади, чунки иккита операция кетма кет келаяпти; тугри инструкция куйидаги куринишга эга:


NOT (X IN M).


Тупламларни бирлаштириш (+). Иккита упламни бирлаштириш ,иккала туплам элементларини уз ичига олган учинчи туплмни хосил килади.



A нинг киймати

В нинг киймати

Ифода

Натижа

[1,2,3]

[1,4,5]

A + B

[1,2,3,4,5]

['A'..'D']

['E'..'Z']

A + B

['A'..'Z']

[]

[]

A + B

[]

Тупламларни кесишуви (*). Иккита тупламнинг кесишуви натижасида, бир вактнинг узида иккала тупламга хам тегишди булган элементлардан иборат булган учинчи туплам хосил булади.



А нинг киймати

В нинг киймати

Ифода

Натижа

[1,2,3]

[1,4,2,5]

A * B

[1, 2]

['A'..'Z']

['B'..'R']

A * B

['B'..'R']

[]

[]

A * B

[]

Тупламлар фарки (-).


Тупламлар фарки ,биринчи туплам элементлари иккичи туплам элементларига кирмайдиган учинчи тупламни хосил килади.



A нинг киймати

В нинг киймати

Ифода

Натижа

[1,2,3,4]

[3,4,1]

A - B

[2]

['a'..'z']

['d'..'z']

A - B

['a'..'c']

[X1,X2,X3,X4]

[X4,X1]

A - B

[X2,X3]

Курсатилган типдаги дастурларда set ни ишлатилиши бир катор авзалликлар беради: мураккаб IF операторлари анча соддалаштирилади, масалани ечиш алгоритмини тушиниш ва дастурни куриниш даражаси ортади, хотира, компеляциялаш вакти ва дастурни бажарилиши тезлашади. Салбий томонлари хам йук эмас, булардан бири Паскаль тилида тупламларни киритиш -чикариш курилмаларининг йуклиги, шунинг учун дастурчи тааллукли процедураларни узи ёзиши керак булади.




3.10Ёзув типини ифодаланиши


Ёзув, майдон, тукумлм ном, ичма-ич ёзувлар,


Ёзув - бу структуралашган берилганлар типи булиб бир ва бир нечта компаненталар сонидан ташкил топади. Ёзув типини аниклаш RECORD индентификаторидан бошланиб, END сузи билан тугалланади. Иккала суз оралигида майдон идентификатори ва хар бир майдон типи курсатилган , майдон деб аталувчи компоненталар руйхати келтирилади.
Ёзилишит:

TYPE
<тип номи> = RECORD


<майдон идентификатори>:< компонента типи>;
...
<майдон идентификатори>:< компонента типи>
END;
VAR
<идентификатор,...> : <тип номи>;

Мисол.

TYPE
Car = RECORD
Number : integer; {тартиб номери }
Marka : string[20]; { автомобиль маркаси }
FIO : string[40]; {Эгасининг исми шарифи }
Address : string[60] { адреси }
END;
VAR
M, V : Car;

Берилган мисолдаги Car ёзуви туртта компонентадан иборат: тартиб номери, машина маркаси номи, эгасининиг исми шарифи ва адреси. Ёзув майдонига мурожат ёзув типи узгарувчиси оркали амалга оширилади. Бизнинг холтимизда M ва V Car типидаги узгарувчилар.


Ёзиш учун хотира хажми майон узунлигига тенг будади
Ёзув майдони кийматлари ифодаларда ишлатилиши мумкин. Майдон кийматига мурожат , нукта оркали ажратилган узгарувчининг идентификатори ва майдон идентификатори ёрдамида амалга оширилади. Бунай комбинация туркумли ном дейилади. Масалан , Car ёзувли майдонга кириш куйидагича ёзилади:

M.Number, M.Marka, M.FIO, M.Address




Туркумли номлашни майдон типини куллаш мумкин булган хамма жойда ишлатиш мумкин. Майдонга кийматлар бериш учун узлаштириш орераторидан фойдаланамиз.

Мисол.

M.Number := 1678;
M.Marka := 'ГАЗ-24';
M.FIO := 'Орлов А.Г. ';
M.Address := 'Фаргона куча 12 - 31';

Туркум номларни киритиш-чикариш операторларида хам ишлатиш мумкин:


Read(M.Number, M.Marka, M.FIO, M.Address);


Write(M.Number:4, M.Marka:7, M.FIO:12, M.Address:25);

Узлаштириш операторини ёувларга хам куллаш мумкин, агарда ёзувлар бир хил типда булса. Масалан,


V := M;

Ушбу оператор бажарилгандан сунг V майдон ёзуви кийматлари М майдон ёзуви кийматларига тенг булиб колади.
Купгина масалаларда ёзувлар ичидаги массивлардан фойдаланиш кулайрок. Уларни куйидагича ёзиш мумкин:
TYPE
Person = RECORD
FIO : string[20];
Age : 1 .. 99;
Prof : string[30]
END;
VAR
List : array[1..50] of Person;

Ёзув майдонларига мурожат бирмунча куполрок холатлада амалга оширилади, айникса идентификаторлар узунлиги 5 та белгидан ортик булган майдонларда. Бу муаммоларни ечиш учун Паскал тилида куриниши куйидагича ёзиладиган WITH операторидан фойдаланамиз:


WITH <ёзув типидаги узгарувчи> DO <оператор>;

WITH операторида ёзув типидаги узгарувчиларни эълон килинганидан сунг улардан оддий операторлар сифатида фойдаланиш мумкин.


Мисол.
WITH оператори ёрдамида Car ёзувли майдонга кийматлар бериш.


WITH M DO BEGIN
Number := 5543;
Marka := 'ГАЗ-21';
FIO := 'Панчин М.И.';
Address := 'Навои куча,5'
END;

Паскаль тилида ёзувларни ичма-ич хам ёзиш мумкин (яни ёзув майдони уз навбатида ёзув хам булиши мумкин) , демак WITH оператори хам ичма -ич булиши мумкин:


WITH RV1 DO


WITH RV2 DO
WITH RVn DO ...

юкоридаги ёзив пастдаги ёзув билан эквивалент


WITH RV1, RV2, ..., RVn DO ...


Ичма-ичлик сатхи 9 дан ошмаслиги керак.

Ёзувлар динамик структуралар билан ишлашда ва магнит дискларда файллар ташкил килишда хизмат килади .Паскаль тилида комплекс сонларни ёзиш учун махсус воситалар йуклиги сабабли ёзувлардан фойдаланилади. Бу холларда комплекс соннинг хакикий ва комплекс кисимлари ёув майдонлари майдонлари булади:


TYPE
Complex = RECORD


RealPart: real; { хакийкий кисм }
ImagePart: real; { мавгум кисм }
END;
VAR
A, B, C : Complex; { A, B, C - Complex типли ёзув}
BEGIN
A.RealPart:= 6.3;
A.ImagePart:= 1.9;
...

Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   ...   24   25   26   27   28   29   30   31   ...   68




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