ТУРБО ПАСКАЛЬ тілінің типтерінің сұрыпталуы

Есеп шешілу барысында түрлі типті ақпараттар өңделеді. Деректердің типі дегеніміз – рұқсат етілген операциялармен біріккен мөлшерлердің жиыны. Әр типтіңөзінің мәндерінің диапазоныжәне оны суреттеу үшін арнайы бөлінген сөздері бар.

Деректердің стандартты типтерi.

Бүтiн типтi шамалар.

Паскаль тiлiнiң бiр артықшылығы болып шамалардың әр түрлi типтерiнiң ауқымды жиынтығын қолдана алу мүмкiндiгi табылады. Шамалардың типi осы типке жататын тұрақтылардын, айнымалылардың, функциялардың, өрнектердiң мүмкiн мәндерiң, ЭЕМ-ге таныстыру формасын және солардың үстiмен орындала алатын операцияларды анықтайды. Шамалардың барлық типтерiң жай және күрделi деп бөлемiз. Жай тип — бұл шамалардың стандартты және айнымалы типтерi. Стандартты типтерге INTEGER — бүтiн, REAL — нақты, BOOLEAN — логикалық, CHAR — символдық шамалар типi жатады. Ал жай типтердiң әр түрлi комбинацияларын күрделi типке жатқызамыз (массивтер, жазбалар, файлдар).

Бүтін типтер бөлінеді келесі түрлерге: byte, shotint, iteger, word, longint.

Бүтiн типтi константа — тұрақты, яғни бұтiн тұрақты дегенiмiз нүктесiз жазылған кез — келген ондық сан. Бүтiн типтi тұрақтыны мән ретiнде қабылдайтын айнымалылар да бүтiн типтi болып табылады (INTEGER типi). Бүтiн типтi шамаларға бүтiн нәтиже беретiн келесi арифметикалық амаларды қолдануға болады: + (қосу), — (азайту), * (көбейту), DIV — бөлшек бөлiктi тастап бөлу (бүтiн шаманы бүтiнге бөлгенде шығатын бөлiндiнiң бүтiн бөлiгiн алу), MOD — бүтiн шаманы бүтiнге қалған бүтiн қалдықты алу. Бүтін типті шамалар жадыда 1-ден 4 байтқа дейн орын алуы мүмкін. Тип диапазоны және жады көлемі типтар бойнша 4 кестеде келтірілген.

Бүтін типті сандар үшін келесі стандартты функциялар анықталады:

Odd(x)-логикалық типтің нәтижесін қайтарады:жұп аргументтер үшін-false; ал тақ аргументтер үшін- true;

Succ(x) –келесі бүтін санды қайтарады (x+1);

Pred (x)-алдыңғы бүтін санды қайтарады(х-1);

Ord(x)-х аргументін қайтарады;

Abs(x)-х модулін қайтарады;

Chr(x)-х тең ASCII-код символын қайтарады;

Sqr(x)-х санының квадратын қайтарады;

Sqrt(x)-х тен квадрат түбірінің мәнін қайтарады;

Exp(x)-х (экспонентті) деңгейіне е-ні қайтарады,нақты типтің нәтижесін;

Sin(x)-синус х қайтарады, нақты типтің нәтижесін;

Cos(x)-косинус х қайтарады, нақты типтің нәтижесін;

Ln(x)-х натуралды логарифмді қайтарады, нақты типтің нәтижесін;

Arctan(x)-арктангенс х қайтарады, нақты типтің нәтижесін;

Бүтін типті сандар үшін келесі стандартты процедуралар анықталады:

Dec(x,i) -х мәнін i-ге кішірейтеді, егер i берілмесе, онда 1-ге;

Inc(x,i)-x мәнін i –ге көбейтеді, егер бермесе, онда 1-ге.

Нақты типтi шамалар.

Нақты типті деректер – жадыда 4-тен 6 байтқа дейін орын алатын, арифметикалық сөйлемдерде қолданатын нақты мәндер. Нақты типтi шамаларға нақты нәтиже беретiң келесi амалдарды қолдануға болады: + (қосу), — (азайту), * (көбейту), /(бөлу). Бүтiн және нақты типтi шамалдарды арифметикалық шамалар деп атайды. Нақты мәндерді екі түрде қөрсетуге болады:

Бекітілген нукте формасы, мысалы 7.32

жылжымалы нукте формасы, мысалы 1.5E-05

Нақты типтермен келесі операциялар орындалады: +,-, *, /, >.<.>=.<=.<>.=.

Нақты типтер тағы бес түрге бөлінеді. Тип түрлері, мәндердің аралығы және жады көлемі 5 кестеде келтірілген.

Нақты сандар үшін келесі стандартты функциялар анықталады:

Abs(x) – х модулін қайтарады;

Chr(x)— х-ке тең ASCII-код символын қайтарады;

Sqr(x) — х санының квадратын қайтарады;

Sqrt(x)-х тен квадрат түбірінің мәнін қайтарады;

Exp(x)— х (экспонентті) деңгейіне е-ні қайтарады,нақты типтің нәтижесін;

Sin(x)— синус х қайтарады, нақты типтің нәтижесін;

Cos(x) — косинус х қайтарады, нақты типтің нәтижесін;

Ln(x) -х натуралды логарифмді қайтарады, нақты типтің нәтижесін;

Arctan(x) -арктангенс х қайтарады, нақты типтің нәтижесін;

Truns(x)— бөлшек бөлімін лақтыру жолымен х нақты аргументін бүтін санға қайта жөндейді;

Round(x) — жақын бүтінге дейін шеңберлеу жолымен нақты х аргументін бүтін санға қайта жөндейді;

Логикалық типтi шамалар.

Шамалардың логикалық типiн ағылшын математигiД. Бульдiң атымен кейде бульдiк деп атайды.

Паскаль тiлiнде екi логикалық тұрақты бар: TRUE (шындық) және FALSE (жалған). Логикалық айнымалы осы мәндердiң бiрiн қабылдап BOOLEAN типiне жатады. Логикалық шамалар кейбiр шарттардың дұрыстығын тексергенде және өлшемдердi салыстырғанда кеңiнен қолданылады. Нәтиже “шындық” немесе “жалған” болуы мүмкiн. Шамаларды салыстыру үшiн келесi таңбалар қолданылады: < (кiшi), <= (кiшi немесе тең), = (тең), <> (тең емес), >= (артық немесе тең), > (артық). Логикалық шамаларға келесi операциялар қолданылады: OR (логикалық қосу, немесе), AND — логикалық көбейту (және), NOT — логикалық жоққа шығару (емес). OR және AND логикалық операциялары екi өлшемге қолданылады, ал NOT операциясы бiр өлшемге қолданылады.

Логикалық қосу. Егер логикалық өлшемдердiң (А және В) тым болмағанда бiреу шындық болса онданәтиже шын мәнді бередi. Егер екi өлшемнiң де (А және В) мәндерi жалған болса, онда операция нәтижесi де жалған болады.

Логикалық көбейту. Егер екi өлшем де шындық болса ғана шындық нәтиже бередi. Егер өлшемдердiң тым болмағанда бiреуi жалған болса, онда операцияның нәтижесi де жалған болады.

Логикалық жоққа шығару. Егер өлшемiнiң мәнi шындық болса жалған нәтиже бередi және керiсiнше. Логикалық FALSE TRUE — мен анықталады. Ол қолданылатын логикалық шамалар мен операциялардың информатикада маңызы зор.

Символдық типтi шамалар.

Символдық типтi шамалар программаға текстер еңгiзуге және редакциялық операциялар жүргiзуге, мысалы орфографиялық қателердi жөндеу, жекелеген әрiптер мен сөздердi еңгiзуге және жоюға мүмкiндiк бередi. Сондай-ақ символдық типтi шамалар алуан түрлi ведомость, iс қағаздар, справочниктер құрастыруға мүмкiндiк бередi. Символдық немесе литерлiк тұрақты дегенiмiз — апострофқа алынған кез келген символ.

Символды айнымалы (CHAR типi) — бұл символдық тұрақтынын мәнiн қабылдайтын айнымалы.

Символдық шамаларға салыстыру операциялары “<”, “<=”, “=”, “<>”, “>”, “>=” қолданылады, мысалы “А” > “W”. Символ типті сандар үшін келесі стандартты функциялар анықталады:

Chr(x)byte типтің х өрнегін символға алмастырады және символдың мәнін қайтарады;

Ord(ch) — ch символын оның byte типтіі кодына алмастырады және код мәнін қайтарады;

Pred(ch)ch алдындағы символды қайтарады;

Succ(ch)ch –тан кейінгіі символды қайтарады.

Мысалдар: Ord(‘:’)=58;Ord(‘A’)=65; Chr(128)=Б; pred(‘Б’)=A;succ(‘Г’)=Д’

Паскаль тiлiнiң кейбiр версияларында символдық тұрақты ретiнде апострофқа алынған, үзындығы 256 таңбадан аспайтын символдар тiзбегiн қолдануға жол берiледi. Iшкi апострофты қою үшiн екi апостроф қолданылады.

6.2. Деректердің құрылымды типтері.

Берілгендердің құрылымдық типтері біртекті және әртекті компонентерінің жиынтықтарын анықтайды. Компонентердің типтері басқа (қарапайым, құрылымдық, көрсеткіштер және т.б.) типтерден құрылады.

Tpascal тілінде құрылымдық типтердің келесідей типтері бар:

Массив-тип

Жазу-тип

Жиын-тип

Файл-тип

Бұдан басқа TPascal-да тағы екі тип бар: жол-тип String және жол-тип Pchar. Бұлар массив түріне жатады. Бұдан былай құрылымдық типтердің объектілері қысқаша «тип» сөзісіз өз аттарымен белгілейміз: массив, жазу, жиын, файл, жол.

Тілдің стандартында туйілген (упакованные) және түйілмеген (неупакованные) құрылымдық типтер бар. TPascal-даpacked сөзі йшбрр әсер етпейді, егер мұндай жағдай мүмкін болса берілгендерді түю автоматты түрде іске асады.

6.3. TurboPascal тілде жазылған программаның құрылымы.

Паскаль тiлiнде программа тақырыпшадан, сипаттау бөлiмiнен, операторлар бөлiмiнен тұрады:

PROGRAM аты

Сипаттау бөлiмi;

BEGIN

Операторлар бөлiмi;

END.

Сипаттау бөлiмi программада кездесетiн барлық шамаларды және олардың сипатын (шамалардың атын, олардың типiн, ықтимал мәндерiн) көрсетуге бағытталған. Бұл бөлiм өз кезегiнде белгiлердi, тұрақтыларды, типтердi, айнымалыларды, процедура мен функцияларды сипаттайды.Процедура мен функцияны хабарлау өз алдына жеке бөлiм болып табылады. Әрбiр программада жоғарыда көрсетiлген бөлiмдердiң бәрiнiң бiрдей болуы мiндет емес екенiң ескере кеткен жөн. Қарапайып программада, мысалы, тұрақтылар мен айнымалыларды хабарлау бөлiмi ғана талап етiлуi мүмкiн. Әрбiр сипаттаудан кейiн нүктелi үтiр “;” қойылады.

Операторлар бөлiмi BEGIN және END түрiндегi операторлық жақшаға алынады. END операторынан кейiн нүкте қойылады. Операторлар бөлiмiнде орындалатын операторлардың тiзбегi жазылады. Әрбiр оператор мiндеттi түрде орындалатынәрекеттi көрсетедi. Орындаушы операторлар бiр бiрiнен нүктелi үтiр “;” арқылы ажыратылады. Төменде Паскаль тiлiндегi программаның қурылымы жалпы түрде көрсетiлген:

PROGRAM аты ;

LABEL — таңбалар бөлiмi

CONST — тұрақтылар бөлiмi

TYPE — типтер бөлiмi

VARайнымалылар бөлiмi

PROCEDURE, FUNCTION

BEGIN

1 — операторлар;

2 — операторлар;

n — операторлар;

END.

Мысал ретiнде қарапайым, V=4/3(R формуласымен есептелетiн шардың көлемiн есептеу программасын қарастырайық, мұнда R=0,2 — шардың радиусы; PI=3,14.

PROGRAM E10 ;

CONST PI=3.14;

VAR R: REAL; (*шар радиусы*)

V: REAL; (*шар көлемi *)

BEGIN

R:=0.2;

V:=4*PI*R*R*R/3;

WRITELN (‘шар көлемi=’, V:8:3)

END.

PROGRAMтақырыпшасында программаның аты Е10 жазылады. CONST — тұрақтыны сипаттау бөлiмiнде PI=3.14 мәнi берiлген. Бiрақ Паскаль тiлiнде “p” символы жоқ болғандықтан оны PI атауымен алмастырады. Айнымалыларды сипаттау бөлiмiнде R және V екi айнымалы көрсетiлген. Олар REAL типiне жатады, яғни олар нақтысандар болуы мүмкiн. Осы жерде сондай-ақ R және V айнымалылардың физикалық мағынасын түсiндiру үшiн комментарий қолданылады. Комментарийдi Паскаль тiлiнде не фигуралық жақшаға, не болмаса (**) қоршауда жазылады.Операторлар бөлiмiнде ең алдымен R:=0.2; операторының көмегiмен радиустың мәнi берiледi. Паскаль тiлiнде “:=” меншiктеу белгiсi “=” — теңдiк белгiсiне сәйкес келедi (R=0.2). Әрi қарай мiндеттi түрде шардың көлемi V:=4*PI*R*R*R/3; операторымен есептеледi. V — ның есептелiнген мәнi ЭЕМ ; сақталады. Бұл мәндi экранға шығару үшiн WRITE (‘шардың көлемi=’, V:8:3) операторы қолданылады. Бұл оператор экранғашардың көлемi= деген түсiндiрме текстi шығарады және есептелген V мәнiн 8:3 форматы бойынша (8 — барлық санды бейнелеуге қажеттi позиция саны; 3 -бөлшек бөлiгiн бейнелеуге қажеттi позиция саны) экранға шығарады. Осылайша, программаны орындағаннан кейiн экранда нәтиже пайда болады: шардың көлемi = 0.033