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


type Point = object X, Y: Integer; end


Download 1.74 Mb.
bet18/96
Sana30.04.2023
Hajmi1.74 Mb.
#1413831
1   ...   14   15   16   17   18   19   20   21   ...   96
Bog'liq
Turbo Pascal назария

type
Point = object
X, Y: Integer;
end;
Rect=object
A, B: Point;
procedure Init (XA, YA, XB, YB: Integer);
procedure Copy (var R: Rect);
procedure Move (Dx, Dy: Integer);
end;
const
ZeroPoint : Point = (X : 0; Y : 0);
ScreenRect : Rect = (A : (X : 0 ; Y : 0);
B : (X : 80; Y : 25));
Виртуал усулларга эга бўлган объект туридаги ўзгармасларнинг инициализацияси компиляция босќичида автоматик равишда бажарилади.
Процедура туридаги турдошлаштирилган ўзгармаслар
Процедура туридаги ўзгармас, ўзгармас тури билан ўзлаштириш бўйича биргаликда бўлган процедура ёки функция идентификаторини кўрсатиши керак.
type
FuncType = Function (X : Real);
function SH (X: Real) : Real; far;
begin
SH : = (Exp(X) – Exp(-X)) / 2;
end;
function CH (X: Real) : Real; far;
begin
CH: = (Exp(X) + Exp(-X)) / 2;
end;
const
CurrentFunc : FuncType = SH;


4.3.4. Ўзгарувчилар баёни.
Ў згарувчиларни баён этиш синтаксиси ќуйидаги кўринишга эга:

Ўзгарувчилар баёнида тур сифатида III бобда айтилган идентификатор турини, ёки мустаќил равишда турлар синтаксисига кўра мустаќил янги турни олиш мумкин.


type
Colors = (Red, Blue, Green);
Vector = array [1 .. 100] of integer;
var
a, b, c : Real;
i, j : Integer;
Flag : Boolean;
Color : Colors;
Digit : 0 .. 9;
Season : (Spring, Summer, Autumn, Winter);
Vect1, Vect2 : Vector;
Matrix : array [1..5, 1..10] of Byte;

Absolute директиваси ёрдамида хотирада кўрсатилган адрес бўйича ќатъий жойлашадиган абсолют ўзгарувчилар деб аталадиган ўзгарувчиларни баён ќилиш мумкин. Ћар бир абсолют ўзгарувчи алоћида баён ќилиниши, яъни эълон ќилишда икки нуќтадан олдин идентификаторлар рўйхати фаќат битта идентификатордан иборат бўлиши керак.


Абсолют ўзгарувчиларни баён ќилишнинг икки кўриниши мавжуд:

  • ўзгарувчи жойлаштириладиган аниќ адресни кўрсатиш билан;

  • икки ўзгарувчини битта адрес бўйича жойлаштириш билан.

Биринчи кўринишда баён этиладиган ўзгарувчи жойлаштириладиган сегментнинг ва силжишнинг аниќ ќийматлари (яъни тўлиќ адрес) кўрсатилади.
CrtMode : Byte absolute $ 0040: $ 0049;
Биринчи ўзгармас сегмент ќийматини, иккинчиси эса бу сегмент ичида силжиш ќийматини аниќлайди. Иккала ўзгармаслар $0000 дан $FFFF (0 дан 65535) соћа чегарасидан чиќмаслиги керак.
Absolute директивали иккинчи кўриниш иккинчи ўзгарувчи «устидан» (яъни ўша адрес бўйича) жойлаштириладиган ўзгарувчини баён этиш учун ишлатилади.
Ќуйида келтириладиган дастурларда Digits ўзгарувчи ChDigits ўзгарувчининг адреси бўйича жойлаштириш кераклиги кўрсатилади. Byte туридаги массивни белгилар сатрига ќўйиш натижасида массив элементлари сатр ташкил топган белги кодлари ќийматларини ўзлаштиради:



Download 1.74 Mb.

Do'stlaringiz bilan baham:
1   ...   14   15   16   17   18   19   20   21   ...   96




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