Ш. И. Раззоќов, М. Д. Юнусова turbo pascal алгоритмик тилида дастурлаш касб-ћунар коллеж талабалари учун ўќув ќўлланма


type MyType=(a, b, c, d); …………… MyType (2) Integer (D) Pointer (longint (a) + $ FF) Char (127 mod


Download 1.74 Mb.
bet59/96
Sana30.04.2023
Hajmi1.74 Mb.
#1413831
1   ...   55   56   57   58   59   60   61   62   ...   96
Bog'liq
Turbo Pascal назария

type
MyType=(a, b, c, d);
……………
MyType (2)
Integer (D)
Pointer (longint (a) + $ FF)
Char (127 mod c)
Byte (k)
Ифода турини ўзгартиришнинг автоаниќлашида унинг ички ифодаланиш узунлигининг ўзгариши содир бўлиши (узунлик ўсиши ёки камайиши) мумкин.
Турбо Паскалда маълумотларни ўзгартиришнингн яна бир очиќ усули мавжуд: ќандайдир турдаги ўзгарувчи эгаллаган хотира соћасига, агар фаќат янги жойлаштириладиган ќийматнинг ички ифодаланиш узунлиги ўзгарувчини ички ифодалаш узунлигига аниќ тенг бўлса, бошќа турдаги ифода ќийматини жойлаштириш мумкин. Бу маќсадда турларни ўзгартиришнинг автоаниќланган функцияси ќайта, лекин энди ўзлаштириш операторининг чап ќисмида, ишлатилади:
type
byt= array [1 .. 2] of Byte;
int= array [1 .. 2] of Integer;
rec=record
x,y:Integer
end;
var
vbyt:byt;
vint:int;
vrec:rec;
begin
byt(vint[1]) [2]:=0;
int(vrec) [1] :=256
end.
Турларни яширин ћолда ўзгартириш фаќат икки ћолда мумкин:

  • ћаќиќий ва бутун сонли ўзгарувчилардан тузилган ифодаларда, бутун сонли ўзгарувчилар ћаќиќий ўзгарувчиларга автоматик тарзда ўзгартирилади ва ћамма ифодалар бутунисича ћаќиќий тур кўринишини олади;

  • хотиранинг битта соћаси навбат билан у, ёки бу турлардаги маълумотларга эга (ћар хил турдаги ифодаларни хотирага бирлаштирилиши), деб тушунтирилади.

Маълумотларни хотирага бирлашуви вариантли майдон ёзувларидан (9.2.), бир хил адресга эга турдошлаштирилган кўрсаткичлардан (XII боб) фойдаланилганда, шунингдек ћар хил турдаги маълумотларни битта ва ўша абсолют адрес бўйича очиќ жойлаштирилганда содир бўлиши мумкин. Ўзгарувчини керакли абсолют адрес бўйича жойлаштириш учун аввал у, кетидан ABSOLUTE стандарт директива, унинг орќасидан ёки абсолют адрес, ёки аввал аниќланган ўзгарувчи индексини жойлаштириш билан баён этилади. Абсолют адрес WORD туридаги икки нуќта билан ажратилган сонлар жуфтлиги билан кўрсатилади; биринчи сон сегмент, иккинчиси – адреслар силжиши сифатида (II боб) кўрсатилади. Масалан:
b:Byte absolute $ 0000 : $0055;
w:LongInt absolute 128:0;
Агар ABSOLUTE сўзидан кейин аввал аниќланган ўзгарувчининг идентификатори кўрсатилган бўлса, хотирада ћар хил турдаги ўзгарувчиларнинг силжиши содир бўлади, бунда бу маълумотларни ички ифодалаш битта адрес бўйича олиб борилади, масалан:

Download 1.74 Mb.

Do'stlaringiz bilan baham:
1   ...   55   56   57   58   59   60   61   62   ...   96




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