Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дарис.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.78 Mб
Скачать

Дәріс №5. Object Pascal тіліндегі деректер типі.Деректер типінің, хабарландыру типінің жіктелуі.

Object Pascal-де деректер типі тілде қолданушымен анықталған, анықталмаған (тұрғызылған) типтер ретінде бөлуге болады. Анықталмаған типтерге бүтін, нағыз, символдар, жолдар, нұсқаулар, булевтер, vari­ant типтері жатады.

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

< тип идентификаторы> = < тип сипаттамасы>;

Мысал келтірейік. Хабарландыру

var Mode : (mRead, mEdit, mWrite);

қолданушы енгізген саналған тип бере отырып, Mode айнымалысын көрсетеді. Ал көрсетілім

type TMode : (mRead, mEdit, mWrite); var Mode1, Mode2 : TMode;

жаңа тип атын береді — TMode, қолданушы енгізген екі айнымалыны анықтайды — Mode1 және Mode2.

Типтер көрсетілімі тұрғызылған типтің бүркеніш атын құру үшін қолданылуы мүмкін. Мысалы, көрсетілім

type TMyString = string;

Тұрғызылған тип String жолының бүркеніш аты болып табылатын TMyString типін құрады.

Төменде әр түрлі типтердің ортақ қасиеттерін ескере отырып, Object Pascal типтерінің классификациясы көрсетілген:

қарапайым

реттелген

бүтін

символдар

булевы

саналған

шектелген

Нақты

жолдар

Құрылымдар

Жиындар

Массивтер

Жазбалар

Файлдар

Кластар

Класқа айдаулар (метакластар)

Интерфейстер

нұсқаушылар

Процедуралықтар

variant

Кестеде жеке топқа ұқсастықтары бір реттелген типтер ерекшеленген.Қарапайым деректер типі және жолдар

Типтердің келтірілуі

Өрнектерде және операторларда айнымалылар және әр түрлі типтегі тұрақтылар өздігінен бейнеленеді. Бұл жағдайда типтердің келтірілуі орындалуы мүмкін, бір типтің басқа типке ауысуы дегенді білдіреді. Типтердің келтірілуі айқын және айқын емес болуы мүмкін. Айқын емес келтірілуге ұқсас типтер автоматты түрде компиляторды туғызады. Осыдан әрқашан аз жадтың көлемін алатын кіші тип көп орын алатын тип алып келеді. Мысалы, егер I — бүтін айнымалы, ал А — нағыз болса , онда операторларға рұқсат етілген.

А := I;

А. :=> А + I;

Бірақ рұқсат етілмеген оператор

I := А + I;

бүтінді нағыз мәнге келтірлуді талап ететін.

Айқын типтер келтірулерді программист келесі конструкция арқылы орындайды;

< типтер идентификаторы >(<өрнек>)

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

Айқын айнымалы типтер келтірілуін өлшемі бір кез келген типтерге өткізуге болады. Бұдан бүтін және нағыз сандарды өзара түрленуге рұқсат етілмейді. Нағыз сандарды бүтін сандарға түрлендіру үшін Int және Trunc функцияларын қолдануға болады. Ал бүтін айнымалылар нақты анық еместе түрленеді.

Айқын айнымалы типтер келтірілуі орын басуда оң және сол операторларда қолданыла алады. Мысалы, осындай операторлар жазылуы мүмкін (Char типі бар Ch, aл I— integer айнымалылар ұсынылады):

Ch := Char(I); Shortint (Ch) := I; бұл екі операторлар тура сондай, бірдей нәтиже береді . Мысалы, егер I = 122 («z» символының ASCII коды ), онда Ch айнымалының мәні нәтижесінде «z» символына тең кез келген бұл операторларының орындалуы мүмкін.

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

Ch := Char(I-l);

Біріншіден жақшадағы өрнектер есептеледі, сосын Char типіне келтірілу шығарылады.