Уводни део часа : 1. Који су основни типови података у PASCAL - у ? 2. Какви су то нестандардни типови података ? ------------------------------------------------------------------------------------------------------------------- Главни део часа : Поред стандардних, у PASCAL - у постоје и нестандардни типови података , које дефинише корисник. Прости нестандардни типови података могу бити набројиви и интервални тип података, чијом применом се олакшава решавање проблема и омогућава лакше праћење програма. При писању програма често можемо наћи податке који се не могу описати стандардним типовима података, као што су : дани у недељи, месеци, боје, ... Тада је потребно свакој вредности доделити неки број или слово, на пример : 0 - недеља, 1 - јануар, итд. Међутим, употребом набројивог типа може се избећи посредно обележавање, а програм учинити лакшим за праћење. Набројиви тип се задаје навођењем свих елемената типа, одвојених зарезом. Скуп имена је уређен редоследом набрајања. Пример : Написати набројиви тип којим се дефинишу дани у недељи. type dani=(ned, pon, uto, sre, cet, pet, sub); Име новог типа је dani, а елементи типа су ned, pon, uto, sre, cet, pet, sub. Набројиви тип може се користити као и остали стандардни типови. Како је скуп имена уређен, над променљивима и константама истог типа могу се применити операције поређења : =, <, >, >=, <=, <> и стандардне функције succ, pred и ord. nedutopon>ned Опис променљивих набројивог типа врши се у одељку за опис променљивих, на исти начин као и променљивих осталих типова : var d : dani; Променљива d је набројивог типа dani.Променљиве набројивог типа не могу се уносити или издавати наредбама за унос и издавање података. Иста имена не смеју се појавити у дефиницијама различитих типова. Према томе следеће дефиниције су погрешне : type dani=(ned, pon, uto, sre, cet, pet, sub); radnidan=(pon, uto, sre, cet, pet); Пример : Написати програм којим се израчунава укупан број радних сати за недељу дана. program primer(input,output); type dani=(pon,uto,sre,cet,pet,sub,ned); var s,sati : integer; i : dani; begin writeln('Unesite broj radnih sati'); s:=0; for i:=pon to ned do begin read(sati); s:=s+sati end; writeln('Ukupan broj radnih sati je',s:3); end. Одговорити на питања : 1. Који су прости нестандардни типови података ? 2. Како се задаје набројиви тип ? 3. Како се може користити набројиви тип ? 4. Где се врши опис променљивих набројивог типа ? 5. Да ли се могу иста имена појавити у дефиницијама различитих типова ? 6. Да ли се на променљиве набројивог типа могу применити наредбе улаза и излаза ? |