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

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

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Типови података

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

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

Page 2: Типови података

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

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

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

типа.

Page 3: Типови података

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

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

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

Page 4: Типови података

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

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

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

Page 5: Типови података

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

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

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

Page 6: Типови података

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

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

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

Page 7: Типови података

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

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

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

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

Page 8: Типови података

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

ime tipa

ime

konstanta konstanta

( )

,

..

Page 9: Типови података

Логички тип

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

Boolean = (false, true)

Page 10: Типови података

Логички тип

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

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

Page 11: Типови података

Логички тип

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

Page 12: Типови података

Логички тип

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

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

Page 13: Типови података

Знаковни тип

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

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

Page 14: Типови података

Знаковни тип

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

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

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

Page 15: Типови података

Знаковни тип

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

Page 16: Типови података

Знаковни тип

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

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

• Стога важи

chr(ord(c)) = n

ord(chr(n)) = c

Page 17: Типови података

Знаковни тип

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

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

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

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

)()( 2121 cordcordcc

Page 18: Типови података

Знаковни тип

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

Page 19: Типови података

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

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

–maxint-1..+maxint.

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

Page 20: Типови података

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

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

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

Page 21: Типови података

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

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

* - множење

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

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

+ - сабирање

- - одузимање

Page 22: Типови података

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

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

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

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

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

succ(i) = i + 1

pred(i) = i - 1

Page 23: Типови података

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

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

Page 24: Типови података

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

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

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

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

Page 25: Типови података

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

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

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

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

Page 26: Типови података

Реални тип

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

Page 27: Типови података

Реални тип

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

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

+ - сабирање,

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

Page 28: Типови података

Реални тип

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

Page 29: Типови података

Реални тип

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

Page 30: Типови података

Реални тип

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

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

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

Page 31: Типови података

Реални тип

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

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

Page 32: Типови података

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

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

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

Page 33: Типови података

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

type ime = ( )

,

ime

Page 34: Типови података

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

Пример

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

pol=(m,z);

Page 35: Типови података

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

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

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

Page 36: Типови података

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

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

Page 37: Типови података

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

type ime = .. konstantakonstanta

Page 38: Типови података

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

Пример

type index=1..100;

prirodni=1..maxint;