3.2.4. Булев типи
Булев типи икки хил киймат билан берилади: True (рост) ва False (ёлгон). Бу кийматлар мантикий ифодаларда ва муносабат ифодаларида кенг кулланади.
2.4. Фодаланувчининг типлари
Паскал тилида стандарт типлардан ташкари фойдаланувчи томонидан аникланган скаляр типлар мавжуд. Буларга санаб утиладиган ва интервал типлар киради ва хотирада 1 байт жой эгалайди.Шунинг учун фойдаланувчининг типлари 256 белгидан ошмаслиги керак. Уларни куллаш дастур куринишини анча узгартиради, хатоларни топиш осонлашади ва хотира тежалади.
Санаб чикиладиган типлар шу типдаги берилганлар кандай кийматларни кабул килса , шу кийматларни санаб чикиш оркали берилади. Алохида кийматлар велуль оркали ажратилади, хамма руйхат эса кавс ичига олиб курсатилади.
Ёзилиши: TYPE
<тип номи> = (<1-киймат, 2- киймат,...,п- киймат>);
VAR
<идентификатор,...> : < тип номи>;
Мисол.
TYPE
Gaz = (C, O, N, F);
Metall = (Fe, Co, Na, Cu, Zn); VAR
G1, G2, G3 : Gaz;
Met1, Met2 : Metall;
Season: (Winter, Spring, Summer, Autumn);
Бу мисолда фойдаланувчи типининг иккита Gaz ва Metall куринишидаги ёзувлари берилган. Уларни кийматини аниклаш - Менделеев Д.И даврий системасидаги газ ва металларнинг белгиланишини беради. G1, G2, G3 ва Met1, Met2 узгарувчилари юкорида келтирилган кийматларнинг биттасини кабул килиши мумкин. Бошка кийматларни кабул килиш дастурни узилишига олиб келади. Учинчи типдаги санаб утиладиганлар ананим (номсиз) ва улар VAR да кийматларни санаб утиш оркали берилади.
Season шу типдаги узгарувчи булиб, Winter, Spring, Summer ва Autumn кийматларин кабул килиши мумкин.
Бир хил типдаги санаб утиладиган кийматлар учун муносабат ва мантикий операцияларни куллаш мумкин. Тартиблаш ёзув типи элементинининг тартиб номери оркали амалга оширилади. Масалан, Winter < Spring ифодаси рост булади чунки, ёзув типида Spring Winter га нисбатан катта тартиб номерига эга.
Паскаль бошка типларга нисбатан фарклирок , фойдаланувчининг санаб утиладиган типларида киритиш-чикариш операцияларини кулламайди.Керкак буган пайтда фойдаланувчининг уэи киритиш-чикаришни ташкил килади.Санаб утилган типлар билан ишлаш учун Паскаль тилида Succ, Pred, Ord. стандарт куйи дастурларидан фойдаланилади..
Интервал тип , берилган узгарувчи учун кийматлар чегараси диапозонини аникловчи иккита консантани бериш имконини беради.
Компилятор интервал типдаги узгарувчиларда хар бир операциядан кейин урнатилган ички диапазонда узгарувчининг киймати коладими ёки йукми, текшириш кисм дастурини генерация килади. Иккала константа хам стандарт типларнинг бирортасига (real дан ташкари)тегишли булиши шарт. Биринчи константанинг киймати албатта иккинчи костанта кийматидан кичик булиши шарт.
Ёзилиши: TYPE
<типнинг номи> = <1-константа> . . <2-константа>;
VAR
<идентификатор,...> : <тип номи>;
Мисол.
TYPE
Days = 1 .. 31;
VAR
RabDay, BolnDay : Days;
Бу мисолда RabDay ва BolnDay узгарувчилари Days типида булиб, улар 1...31 диапазонда хар кандай кийматларни кабул килиши мумкин. Диапазондан чикиш дастур узилишига олиб келади. Интервал типни бошкачарок, универсал усул билан хам аниклаш мумкин. Бу усулда диапазон чегарасини константа кийматлари билан эмас, номи оркали аниклаш мумкин:
CONST
Min = 1; Max = 31;
TYPE
Days = Min .. Max; VAR
RabDay, BolnDay : Days;
Do'stlaringiz bilan baham: |