GIMNAZIJA
AKTUELNO
Forum
SAJTOVI
ZANIMLJIVO
Izrazi u PASCAL-u su konstrukcije koje se mogu izračunavanjem svesti na konstantu. Tip te konstante određuje vrstu izraza, a njena vrednost predstavlja vrednost izraza. Za svaku vrstu izraza definisani su operandi i operacije koje su u njima dozvoljene.
Sintaksa izraza u PASCAL-u je sledeća:
izraz ::= [un.op] operand {operacija [un.op] operand}
- pri tome operacija mora biti definisana nad tipom operanada na koje se odnosi.
Vrste izraza u PASCAL-u su :
Sintaksa celobrojnih izraza u PASCAL-u je sledeća:
cel_izraz ::= [-] cel_operand { cel_operacija cel_operand}
- Ceobrojni operandi su celobrojne konstante, clobrojne promenljive, celobrojne funkcije i celobrojni izrazi.
- Celobrojne operacije su: +, -, *, DIV i MOD.
Sintaksa decimalnih izraza u PASCAL-u je sledeća:
dec_izraz ::= [-] arit_operand { arit_operacija arit_operand}
- Decimalni operandi su aritmetičke konstante, aritmetičke promenljive, aritmetičke funkcije i aritmetički izrazi.
- Celobrojne operacije su: +, -, * i /.
- Svi celobrojni izrazi su i decimalni a obrnuto ne važi.
- U decimalnim izrazima dozvoljene su i operacije DIV i MOD, ali ako se koriste, one obavezno moraju imati celobrojne operande.
Sintaksa znakovnih izraza u PASCAL-u je sledeća:
znakovni_izraz ::= znakovni_operand
- Znakovni operandi su znakovne konstante, znakovne promenljive, znakovne funkcije i znakovni izrazi.
- Ne postoje operacije koje mogu direktno da se upotrebe u znakovnim izrazima. Međutim moguće je da operacija koje važe u drugim vrstama izraza, kada one čine deo takvog izraza u argumentima znakovnih funkcija.
Sintaksa stringovnog izraza u PASCAL-u je sledeća:
stringovni_izraz ::= tekst_operand { + tekst_operand}
- Tekstualni operandi su konstante, promenljive, funkcije i izrazi tipa CHAR ili STRING.
- Postoji samo jedna operacija definisana nad tipom STRING. To je + i ona predstavlja slepljivanje operanada koje zahvata.
- Svi znakovni izrazi su i stringovni a obrnuto ne važi.
Sintaksa relacionih izraza u PASCAL-u je sledeća:
relacioni_izraz ::= operand relaciona_operacija operand
- operandi mogu biti aritmetički, tekstualni ili logički, ali sličnog tipa. Tj. oba aritmetička ili oba tekstualna ili oba logička. Operandi skupovnog tipa nisu dozvoljeni u relacionim izrazima.
- Relacione operacije su : <, =, >, <=, <> i >=. Pri upotrebi ovih operacija obratiti pažnju na to da su one najnižeg prioriteta.
Sintaksa logičkog izraza (u užem smislu) u PASCAL-u je sledeća:
log_izraz ::= {NOT }l_operand {l_operacija {NOT }l_operand}
- Logički operandi su konstante, promenljive, funkcije i izrazi tipa BOOLEAN.
- Logičke operacije su : , =, >, <=, <> i >=.
Sintaksa izraza pripadnosti skupu u PASCAL-u je sledeća:
pripadnost_skupu ::= s_b_operand IN skupovni_operand
- Set base operandi su operandi čije su ordinarne vrednosti u granicama [0..255]. To znači: skupovi, BYTE, CHAR, nabrojivi tip koji ima ne više od 255 konstanti i intervalni tip kada granice intervala ne izlaze iz opsega ordinarnih brojeva od [0..255].
- Skupovni operandi su operandi tipa SET OF tip pri čemu tip odgovara tipu set base operanda.
Sintaksa skupovnih izraza u PASCAL-u je sledeća:
skup_izraz ::= skup_operand {skup_operacija skup_operand}
- Skupovni operandi su konstante, promenljive, funkcije i izrazi tipa SET OF ....
- Skupovne operacije su: + unija skupova, - razlika skupova i * presek skupova.