Типови података

Preview:

DESCRIPTION

Типови података. Прости типови података Логички тип Знаковни тип Целобројни тип Реални тип Побројани тип Интервални тип. Прости типови податка. Тип податка се карактерише скупом вредности који податак тог типа може да има и операцијама дозвољеним над подацима тога типа. - PowerPoint PPT Presentation

Citation preview

Типови података

• Прости типови података• Логички тип• Знаковни тип• Целобројни тип• Реални тип• Побројани тип• Интервални тип

Прости типови податка

• Тип податка се карактерише• скупом вредности који податак тог типа може да

има и• операцијама дозвољеним над подацима тога

типа.

Прости типови податка

• Постоји и трећа карактеристика типа која се тиче количине меморије коју заузима податак неког типа.

• То обично није карактеристика самог програмског језика већ машине на којој се програм преводи и извршава.

Прости типови податка

• У програмском језику Паскал све типове података можемо сврстати у три групе:

• Прости типови;• Структурни типови;• Показивачи.

Прости типови податка

• Они типови података који су линеарно уређени називају се скаларним и то су сви прости типови.

• Ако је над елементима скаларног типа дефинисан поредак, тј. све вредности (осим прве и последње) имају једног непосредног претходника и једног непосредног следбеника, онда кажемо да се ради о редном типу.

Прости типови податка

• Редни типови су сви скаларни типови осим типа real.

• Над редним типовима дефинисане су стандардне функције succ (враћа првог непосредног следбеника), pred (враћа првог непосредног претходника) и ord (враћа редни број елемента у оквиру типа).

Прости типови податка

• Прости типови података могу бити:– Стандардни:

• логички (Boolean),• целобројни (inteдer),• реални (real),• знаковни (char).

– Кориснички:• побројани (enumerated),• интервални (subranдe).

Прости типови податка

ime tipa

ime

konstanta konstanta

( )

,

..

Логички тип

• Логички тип је стандардни редни тип података који има само два елемента: true и false.

Boolean = (false, true)

Логички тип

• Стандардни оператори not, and и or.

• Релацијски оператори за резултат дају вредност логичког типа.

Логички тип

• Захваљујући особини да је false < true можемо дефинисати и логичке функције искључиво ИЛИ (у TurboPascalu постоји стандардни оператор xor), импликацију и еквиваленцију уз помоћ оператора <>, <= и =, респективно.

Логички тип

• Стандардне функције odd(x), eof(f) и eoln(f) враћају резултат логичког типа.

• Податак логичког типа заузима један бајт меморије.

Знаковни тип

• Char је стандардни редни тип података који представља уређени коначни скуп знакова (слова, цифре, интерпункција, специјални знаци).

• Најчешће је случај да се тај скуп знакова поклапа са ASCII кôдом.

Знаковни тип

• Сваком знаку придружен је његов редни број.

• Константе овог типа наводе се у једноструким знацима навода.

• TurboPascal дозвољава навођење константи и децималном вредношћу ASCII кôда када им претходи знак '#', односно хексадецималном вредношћу када им претходи знак '$'.

Знаковни тип

• TurboPascal дозвољава навођење константи и децималном вредношћу ASCII кôда када им претходи знак '#', односно хексадецималном вредношћу када им претходи знак '$'.

Знаковни тип

• Дефинисане су стандардне функције:– ord(c) која враћа редни број знака c у

оквиру типа и– chr(n) која враћа знак чији је редни број n.

• Стога важи

chr(ord(c)) = n

ord(chr(n)) = c

Знаковни тип

• Тип char је уређен сагласно редним бројевима знакова. Ако је неки релацијски оператор онда важи

• Функције pred и succ дефинисане су на следећи начин

pred(c) = chr(ord(c)-1)

succ(c) = chr(ord(c)+1)

)()( 2121 cordcordcc

Знаковни тип

• Вредност типа char заузима један бајт меморије.

Целобројни тип

• Integer је стандардни редни тип података који представља коначан подскуп скупа целих бројева у опсегу

–maxint-1..+maxint.

• У општем случају је maxint=2n-1-1, где је n број битова који се користи за представљање података овог типа.

Целобројни тип

• На 16-битној машини maxint=32767

• На 32-битној машини maxint=2147483647.

Целобројни тип

• Над типом integer дефинисане су следеће стандардне операције:

* - множење

div - целобројно дељење

mod - остатак при целобројном дељењу

+ - сабирање

- - одузимање

Целобројни тип

• Следеће стандардне функције дају резултат типа integer:abs(i) - апсолутна вредност целог броја i

sqr(i) - квадрат целог броја i

trunc(x) - цео део разломљеног броја

round(x) - најближа целобројна вредност

succ(i) = i + 1

pred(i) = i - 1

Целобројни тип

• Тип integer користи два или четири бајта меморије што зависи од рачунара на коме се примењује.

Целобројни тип

• У језику TurboPascal дефинисани су и други целобројни типови:word - неозначени број који представљен

са два бајта може бити у опсегу од 0 65535.

longint - проширени целобројни тип који заузима четири бајта и има опсег вредности од -2147483648 до +2147483647.

Целобројни тип

byte - подтип типа integer који заузима један бајт а опсег вредности је од 0 до 255.

shortint - скраћени integer који заузима један бајт меморије а опсег вредности је од -128 до +127.

comp - заузима 8 бајтова меморије и може се користити уз нумерички копроцесор. Опсег вредности је од -263 до +263.

Реални тип

• Тип real је стандардни тип података чије вредности представљају коначни подкуп скупа реалних бројева.

Реални тип

• На овом типу су дефинисане основне операције:* - множење,

/ - дељење (резултат је типа real чак и када су операнди типа integer),

+ - сабирање,

- - одузимање.

Реални тип

• Стандардне функције abs(x) и sqr(x) дају резултат типа real ако су аргументи типа real.

Реални тип

• Следеће функције дају резултат типа real без обзира да ли су аргументи типа real или integer:– atan(x) или arctan(x),– sin(x),– cos(x),– exp(x),– ln(x),– sqrt(x).

Реални тип

• У TurboPascalu постоје четири стандардна типа за приказивање реалних бројева:real - заузима шест бајтова меморије и

има опсег од 1Е-38 до 1Е+38. Даје 10 тачних цифара.

single - заузима четири бајта меморије са прецизношћу од осам децимала, док је опсег од 10-45 до 1038.

Реални тип

double - заузима осам бајтова меморије и даје прецизност до 16 цифара у опсегу 10-324 до 1030.

extended - заузима десет бајтова меморије и даје прецизност до 20 цифара у опсегу 10-4931 до 10+4932.

Побројани тип

• Програмски језик Паскал дозвољава кориснику да дефинише сопствени тип као линерно уређени скуп података.

• Задавање таквог типа врши се тако што се у заградама наведу сви елементи типа а уређење међу њима је дефинисано редоследом набрајања.

Побројани тип

type ime = ( )

,

ime

Побројани тип

Пример

type radnidani=(pon,uto,sre,cet,pet);

pol=(m,z);

Интервални тип

• Интервални тип података задаје се као интервал претходно дефинисаног редног типа задавањем доње и горње границе интервала са знаком '..' између њих.

• Доња граница не може бити већа од горње а уређење се наслеђује од придруженог редног типа.

Интервални тип

• На интервалном типу су дефинисане све функције и операције као и на придруженом редном типу.

Интервални тип

type ime = .. konstantakonstanta

Интервални тип

Пример

type index=1..100;

prirodni=1..maxint;

Recommended