Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекцый для 1 курса-1 семестр.doc
Скачиваний:
3
Добавлен:
09.11.2019
Размер:
2.95 Mб
Скачать

Абсалютныя пераменныя

Папярэднія пераменныя атрымлівалі ў памяці тое месца, якое ім да­ваў кампілятар. Але ёсць іншая магчымасць. Пераменныя можна апісаць так, што яны будуць размяшчацца па пэўным адрасе ў памяці, і тады яны на­зы­ва­юц­ца абсалютнымі.

Аб’яўленне абсалютнай пераменнай:

Дырэктыва абсалютнай пераменнай:

Першая форма з дырэктывай ABSOLUTE утрымлівае адрас пе­ра­мен­най, зададзены як сегмент і зрушэнне. Абедзве канстанты не павінны вы­ходзіць за межы дыяпазону ад $0000 да $FFFF (ад 0 да 65 535).

Другая форма выкарыстоўваецца для аб’яўлення пераменнай, якая змяш­ча­ец­ца «паверх» другой пераменнай, г. зн. па тым жа адрасе, што і першая пераменная.

VAR

A : Byte;

B : Char ABSOLUTE A;

Імя пераменнай з’яўляецца «абалонкай». Апошнюю можна запоўніць роз­ны­мі значэннямі, якія дапускае дадзены тып.

Акрамя канстант і пераменных існуюць так званыя тыпізаваныя кан­с­тан­ты – гэта пераменныя з пачатковым значэннем, аднак яны выз­на­ча­юц­ца ў секцыі CONST.

Фармат вызначэння тыпізаванай канстанты:

CONST

Ідэнтыфікатар : тып = значэнне;

Прыклад вызначэння тыпізаванай канстанты:

CONST

Max : Word = 10000;

У прыкладным аспекце тыпізаваная канстанта – гэта пераменная з за­гадзя ініцыялізаваным значэннем. Над ёй у праграме могуць вы­кон­вац­ца тыя ж дзеянні, што і над пераменнай.

Апісанне канстанты:

Вызначэнне тыпізаванай канстанты:

Вызначэнне канстанты:

Цэлалікавыя даныя

Гэтая група тыпаў абазначае мноства цэлых лікаў у розных дыя­па­зо­нах. Існуе пяць цэлых тыпаў, якія адрозніваюцца дапушчальным дыяпа­зо­нам зна­чэн­няў і памерам аператыўнай памяці. Іх характа­рыс­тыкі і наз­вы прыведзены ў табліцы.

Цэлы тып

Дыяпазон

Памер памяці

Уласцівасць

Shortint

–128..127

1 байт

Са знакам

Integer

–32768..32767

2 байты

Longint

–2147483648..2147483647

4 байты

Byte

      0..255

1 байт

Без знака

Word

          0..65535

2 байты

Прыклад вызначэння пераменных цэлых тыпаў прыведзены ніжэй:

VAR x1, x2 : Byte;

Y1 : Word;

Z : Integer;

a, b : Longint;

c : Shortint;

У памяці ЭВМ даныя цэлага тыпу ўяўляюцца ў двайковым кодзе да­клад­на ў форме з фіксаванай кропкай; кропка мяркуецца за правым край­нім разрадам адведзенага поля (ячэйкі). Вызначана стандартная кан­с­тан­та MAXINT. Значэнне яе – найбольшае цэлае значэнне, якое да­пуш­ча­ль­на ў дадзенай ЭВМ. Звычайна гэта 32 767 ці 2 147 483 647. Акрамя кан­с­тант MAXINT да цэлага тыпу адносяцца тыя канстанты, выявы якіх у праг­ра­ме ўяўлены цэлым лікам.

Над цэлымі данымі вызначаны наступныя аперацыі, якія даюць цэлы вы­нік: *, +, –, DIV, MOD, але / – дзяленне – дае вынік сапраўдны.

DIV – дзяленне цалкам (з усячэннем), адкідваецца дробная частка. Нап­рык­лад, выкананне аперацыі 17 DIV 3 дае вынік 5, а 17 DIV 0 пры­водзіць да па­мыл­кі.

MOD – вылучэнне рэшты ад дзялення двух цэлых аперандаў. На­пры­клад: 17 MOD 2 дае вынік 1.

Акрамя арыфметычных аперацый, да даных цэлага тыпу пры­мя­ня­юць аперацыі адносін: <, >, =, <>, <=, >=. Вынікам аперацый адносін з’яў­ля­ец­ца True (праўда) або False (няпраўда).

Значэнні цэлых тыпаў могуць адлюстроўвацца ў праграме двума спо­са­ба­мі: у 10-й с/зл і 16-й с/зл. У апошнім нетрадыцыйным выпадку ліч­бы, старэйшыя за 9, абазначаюцца лацінскімі літарамі ад A да F (можна ма­лы­мі), а ў пачатку ставіцца сімвал $ (знак долара).

Прыклады: 123 –1 B80 $F1 $123

Максімальна дапушчальны дыяпазон: –2 147 483 648 .. 2 147 483 647 ( $7FFFFFFF).

Сінтаксічная дыяграма для задання выявы цэлых лікаў:

Шаснаццацірычныя лікі выкарыстоўваюць для нагляднасці, калі трэ­ба адлюстраваць значэнне пэўных бітаў у нейкім даным цэлага тыпу.

Цэлы вынік даюць таксама наступныя стандартныя функцыі (аргумент ад імені функцыі аддзяляецца круглымі дужкамі):

аргумент – цэлага тыпу, вынік – абсалютнае значэнне

аргумент – цэлага тыпу, вынік –

  аргумент – рэальнага тыпу, вынік – цэлая частка дро­ба­вая – адкідваецца,

  – сапраўднае, вынік – акругленае цэлае. Пры

Булеўскі (лагічны) вынік дае функцыя – цэлага тыпу. Калі няцотнае, то вынік TRUE, інакш – FALSE.

У наступных функцыях аргумент можа быць цэлалікавы, але вынік будзе сапраўдны: sin(x), cos(x), arctan(x), ln(x), exp(x), sqrt(x).

Працэдуры Dec(x[,n]) і Іnc(x[,n]) пераводзяць цэлалікавы ар­гу­мент у цэлалікавы.

Працэдура Dec(x[,n]) памяншае значэнне цэлалікавай пе­ра­мен­най на цэлае зна­чэнне Калі неабавязковы параметр адсутнічае, па­мян­ша­ец­ца на 1. Выклік працэдуры Dec(x,і) эквівалентны апе­ра­та­ру х:=х-і, а Dec(x) эквівалентны х:=х-1.

Працэдура Іnc(x[,n]) павялiчвае значэнне цэлалікавай пе­ра­мен­най на цэлае зна­чэнне Калі неабавязковы параметр адсутнічае, па­вя­ліч­ва­ец­ца на 1. Выклік працэдуры Іnc(x,і) эквівалентны аператару х:=х+і, а Іnc(x) эквівалентны х:=х+1.