Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Реттелген типтер.
Реттелген типке: бү тін, логикалық, символдық, саналатын жә не аралық тип жактады. Аталғ ан типтердің ә рқ айсысы х ө рнегінің мә нінің реттік номерін беретін 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) функциясы оң жақ ұ шына дейін анық талмағ ан. Бү тін типтер. Бү тін типтердің мү мкін болатын мә ндерінің аралығ ы олардың жадыдан алатын бір, екі, тө рт немесе сегіз байт орнына тә уелді болады. Бү тін типтердің мү мкін болатын мә ндерінің аралығ ын кесте тү рінде былай сипаттауғ а болады:
B, s, w, I, l-ә ріптерімен сә йкес Byte, ShortInt, Word, Integer, LongInt типтері белгіленеді; ал vb, vs, vw, vi, vl ә ріптерімен осы типтердің айнымалы екені кө рсетіледі. Квадрат жақ шада міндетті емес параметр кө рсетіледі. Бү тін типтерге қ олданылатын стандартты процедуралар мен функциялардың типтері тө мендегі кестеде келтірілген.
Логикалық типтер. Логикалық типтерге: 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)-аралық типтің ең кіші мә нін береді.
|