Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Реттелген типтер.






Реттелген типке: бү тін, логикалық, символдық, саналатын жә не аралық тип жактады. Аталғ ан типтердің ә рқ айсысы х ө рнегінің мә нінің реттік номерін беретін ORD(x) функциясын қ олдануғ а болады.

Бү тін типтер ү шін ORD(x) функциясы х тің мә нінің ө зін береді. ORD (x) функциясын логикалық, символдық жә не саналатын типтерге қ олданып: логикалық тип ү шін 0 мен 1 аралығ ындағ ы бү тін оң санды, символдық тип ү шін 0 мен 255 аралығ ындағ ы сандарды, ал саналатын типтер ү шін: 0 мен 65535 аралығ ындағ ы садарды береді. Аралық тип негізгі реттік типтің барлық қ асиеттерін сақ тайды, сондық тан оғ ан ORD(x) функциясын қ олдану сол типтің қ асиетіне тә уелді болады.

Сондай-ақ, реттелген типтерге тө мендегідей функцияларды қ олдануғ а болады:

PRED(X)П функциясы реттелген типтің алдынғ ы мә нін береді, яғ ни ORD(x-1) –дің реттік номеріне сә йкес мә н немесе ORD(Pred(x))= ORD(x)-1;

SUCC(X) функциясы ORD(X)+1-дің реттік номеріне сә йкес келетін реттелген типтің келесі мә нін берді, яғ ни ORD(Succ(x))= ORD(x)+1.

Мысалы, егер прораммада тө мендегшідей айнымалылар анық талғ ан болса,

Var C: Char;

Begin

C: =’5’;

End;

Онда PRED(C) функциясы ‘4’ символын, ал SUCC(C) п функциясы ‘6’ символын береді.

Егер кез келген реттелген типті сандық осьтің қ андай да бір кесіндісінен орын алатын солдан оң ғ а қ арай ө сетін реттелген мә ндер жиыны ретінде қ арастыратын болсақ, онда PRED(X) функциясы осы кесіндінің сол жақ ұ шына дейін, ал SUCC(X) функциясы оң жақ ұ шына дейін анық талмағ ан.

Бү тін типтер. Бү тін типтердің мү мкін болатын мә ндерінің аралығ ы олардың жадыдан алатын бір, екі, тө рт немесе сегіз байт орнына тә уелді болады. Бү тін типтердің мү мкін болатын мә ндерінің аралығ ын кесте тү рінде былай сипаттауғ а болады:

Атауы Ұ зындығ ы (байт) Мә ндер аралығ ы
Byte   0..255
ShortInt   -128..+128
SmallInt   -32768..+32767
Word   0..65535
Integer   -2147483648..+2147483647
LongInt   -2147483648..+2147483647
Long-Word   0..4294967295
Int64   -9*1018..9*1018
Cardinal   0..2147483647

 

B, s, w, I, l-ә ріптерімен сә йкес Byte, ShortInt, Word, Integer, LongInt

типтері белгіленеді; ал vb, vs, vw, vi, vl ә ріптерімен осы типтердің айнымалы екені кө рсетіледі. Квадрат жақ шада міндетті емес параметр кө рсетіледі.

Бү тін типтерге қ олданылатын стандартты процедуралар мен функциялардың типтері тө мендегі кестеде келтірілген.

жазылуы Нә тиже типі ә рекет
Abs(x) x х-тің модулін береді
Chr(x) Char Кодына сә йкес символды береді
Dec(vx[, i]) - Vx-тің мә нін i –ге азайтады, ал i болмаса 1-ге азайтады
Inc (vx[, i]) - Vx-тің мә нінi–ге арттырады, ал i болмаса 1-ге арттырады
Hi(w) byte Аргументтің ү лкен байтын береді
HI(l)   Есеп бойынша ү шінші байтты береді
Lo(i)   Аргументтің кіші байтын береді
Lo(w)   Бұ л да сондай
Odd(l) boolean Егер тақ сан болса, True мә нін береді
Random(w)   0..(п-1) аралығ ындағ ы псевдокездейсоқ санды береді
Sqr(x)   Аргументтің квадратын береді
Swap(i) integer Сө здегі байттардың орнын алмастырады
Swap(w) word Бұ л да сондай

Логикалық типтер. Логикалық типтерге: Boolean, ByteBool, Bool, WordBool жә не LongBool жатады. Стандартты Паскальда тек Boolean типі анық талғ ан, ал қ алғ ан логикалық типтер Windows жү йесімен ү йлесетін Object Pascal тілінде енгізілген: Boolean жә не ByteBool типтерінің ә рқ айсысы бір байт, Bool жә не WordBool-2 байт, LongBool-4 байт орын алады. Логикалық типтің мә ні ретінде алдын-ала хабарланғ ан False (жалғ ан) немесе True (ақ иқ ат) мә ндерінің бірі алынады. Логикалық типтер ү шін тө мендегі ереже орындалады:

Ord (False)=0;

Ord(True)< > 0;

Succ(False)= True;

Pred(True)=False;

Логикалық тип реттелген типке жататын болғ андық тан қ айталану операторында есептеу ү шін пайдалануғ а болады, мысалы,

Var

L: Boolean;

Begin

For L: =False to True do..

Delphi 32 жү йесінде Boolean типі ү шін алынатын мә н Ord(True)=+1, ал Bool WordBool жә не т.б. типтер ү шін Ord(True)= Ord(True)+1, екенін естен шығ армау керек. Сондық тан программа қ ұ ру барысында бұ л типтерді пайдаланғ анда мұ қ ият болу керек. Мысалы, Delphi –дің 6-нұ сқ асында тө мендегі For қ айталануындағ ы орындалатын оператор ShowMessage(

‘-----‘) бірде бір рет орындалмайды:

Var

L: Bool;

K: integer;

Begin

For L: =False to True do…

ShowMessage(‘____’)

End;

Егер L циклінің параметрінің типін Boolean типіне алмастырса, қ айталану орындалып, хабарлама экранда екі рет пайда болады.

Символдық тип. Символдық титің мә ні ретінде дербес компьютердегі барлық символдардың жиынтығ ы алынады. Ә рбір символғ а 0..255 аралығ ындағ ы аралығ ындағ ы кез келген бү тін сан сә йкес келеді.Бұ л сан символдың ішкі берілу коды деп аталады, оны Ord функциясы береді.

Коды 0..31 аралығ ындағ ы символдар қ ызметші кодқ а жатады. Егер бұ л кодтар программаның символдық мә тінінде кездесетін болса, онда олар бос орын болып есептеледі.

Char типіне қ атынас операциялары, сондай-ақ, орнатылғ ан функциялар қ олданылады:

Chr(B) типті функция; Byte типті ө рнекті символғ а тү рлендіріледі;

Upcase(CH)-char типті функция; егер СН латынның кіші ә ріпі болса, онда бас ә ріпті береді, кері жағ дайда СН символының ө зін береді.

Саналатын тип. Саналатын тип ө зі қ абылдайтын мә ндердің саналуымен беріледі. Ә рбір мә н қ андай да бір идентфикаторлармен аталып, тізімде дө ң гелек жақ шаның ішінде орналасады, мысалы,

Type

Tuster=(ak, kyzul, jasul)

 

Саналатын тип программаның кө рнектілігін арттырады. Егер пргораммада жыл ішіндегі айларғ а байланысты мә ліметтер пайдаланылса, ондай программа ү зіндісін былай келтіруге болады.

type Type Month=(jan, feb, mar, apr, may, jun, jul, aug, sep, okt, nov, dec);

Var

Month: TypeMonth;

begin

if month= “тамаша демалыс! ”;

end.

Саналатын типтердің мә ндері мен олардың реттік нө мірлерінің арасындағ ы реттілік нө мірі-0, екіншісі-1 жә не т.с.с.

Саналатын типтердің ең жоғ арғ ы мә ні-65536, сондық тан саналатын тип Word бү тін типінің ішкі жиыны тә різді жә не мә ндері 0, 1 жә не т.б. болатын бү тін тұ рақ тылар тобы ретінде қ арастырылуы мү мкін. Саналатын типке бү тін санды меншіктеуге болмайды.

Кез келген саналатын типтің айнымалысын алдын-ала сипаттамай-ақ хабарлауғ а болады, мысалы:

Var

Col (black, white, green);

Аралық тип. Аралық тип ө зінің базалық типінің ішкі жиыны болып табылады. Базалық тип ретінде аралық типтен басқ а кез келген реттелген тип алынады.

Аралық тип барлық типтің ө зінің ішкі мә ндерінің шекаралары арқ ылы беріледі:

< ең кіші мә н >... < ең ү лкен мә н >

Мұ ндағ ы, < ең кіші мә н > - аралық типтің ең кіші мә ні;

< ең ү лкен мә н > - оның ең ү лкен мә ні.

Мысалы,

Type

digit =’0’..’9’;

dig2 = 48..59;

Аралық типті Type бө лімінде сипаттау міндетті емес, айнымалыларды хабарлауда тікелей кө рсетуге болады.Мысалы:

Var

date: 1..31

month: 1..12

ichr: ’A’..’Z’;

Аралық типтерді анық тауда тө мендегідей ережелерді ескерген дұ рыс:

¨ “..” екі символ бір символ ретінде қ арастырылады, сондық тан олардың арасына бос орын қ алдыруғ а болмайды;

¨ Аралық тың сол жақ шегінен аспауы тиіс.

Аралық типке барлық типтің қ асиеті тә н, бірақ аздағ ан шектеулері бар.

Мысалы, егер айнымалы анық талғ ан болса,

type

days= (mo, tu, we, th, fr, sa, su);

weekend;

begin

w: = sa;

end.

онда Ord(w) функциясы 5 мә нін береді, ал Pred(w) функциясы қ ате жө нінде хабарлайды.

Object Pascal –дың стандартты кітапханасында аралық типтердің жұ мысын сү йемелдейтін екі функция бар:

Hight (x) – х айнымалысы жататын аралық типтің ең ү лкен мә нін береді;

Low (x)-аралық типтің ең кіші мә нін береді.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.