Tipovi podataka
Pod tipom podataka se podrazumeva skup vrednosti koje može dobiti neka promenljiva i skup operacija nad datom promenljivom
Promenljiva Promenljiva je deo memorije računara u koji može da se smesti neka vrednost Promenljivu karakterišu ime, tip i vrednost. Ime služi za obraćanje memorijskoj lokaciji u kojoj se čuva vrednost promenljive Pre korišćenja svaka promenljiva koja se koristi u programu se mora deklarisati (opisati) u odeljku za opis promenljivih (VAR)
Standardni tipovi podataka Celobrojni tip – INTEGER Realni tip – REAL Logički tip – BOOLEAN Znakovni tip - CHAR
Celobrojni tip - INTEGER Celobrojni tip je podskup skupa celih brojeva Skup celih brojeva je skup koji obuhvata sve prirodne brojeve, nulu, kao i sve negativne brojeve Od načina registrovanja celog broja u memoriji računara zavisi njegov opseg vrednosti + cifra -
TIP INTERVAL MEMORIJA byte 0..255 8 bitova=1byte shortint -128..127 integer -32768..32767 16 bitova=2byte longint -231..231-1 32 bitova=4byte word 0..65535 int64 -263..263-1 64 bitova=8byte
Aritmetičke operacije * -množenje div – celobrojno deljenje mod – izdvajanje ostatka pri celobrojnom deljenju + - sabiranje - - oduzimanje Redosled prioriteta kao što je zapisano, operacije istog prioriteta izvršavaju se sleva nadesno. Istog prioriteta
Primeri: Div – division (deljenje) 25 div 7 = 3 -7 div 5 = -1 a div b 25 div 7 = 3 -7 div 5 = -1 2 div 4 = 0 -7 div -5 = 1 7 div -5 = -1 Mod – modulus (mera) Operacija je definisana za b≠0 25 mod 7 = 4 -7 mod 5 = -2 2 mod 4 = 2 -7 mod -5 = -2 7 mod -5 = 2
Standardne funkcije Standardne funkcije koje daju celobrojan rezultat: abs(x) – apsolutna vrednost od x sqr(x) – kvadrat od x; x2 succ(x) – sledeći ; x+1 pred(x) – prethodni; x-1 Standardne funkcije koje daju realan rezultat: sin(x) – sinus od x cos(x) – kosinus od x arctan(x) – arkus tangens od x sqrt(x) – kvadratni koren iz x
=, < >, <, >, <=, >= Operacije poređenja daju rezultat logičkog tipa (true, false) =, < >, <, >, <=, >= Funkcija odd(x) daje rezultat logičkog tipa: True – ako je x neparno False - ako je x parno
Zadatak 1 Izračunati vrednost sledećih izraza: 16 div 3 – 16 mod 3 =
Realni tip podataka - REAL Realni tip je prosti tip podataka koga čine svi brojevi. Najčešće korišćeni realni tipovi su: REAL DOUBLE EXTEND
Operacije koje daju realan rezultat * - množenje / - deljenje + - sabiranje - - oduzimanje U ovim operacijama jedan operand može biti ceo broj. Ako je izraz sastavljen od celobrojnih i realnih vrednosti rezultat je realan broj.
Funkcije koje daju realan rezultat abs(x) – apsolutna vrednost od x sqr(x) – kvadrat od x sin(x) – sinus od x cos(x) – kosinus od x arctan(x) – arkus tangens od x sqrt(x) – kvadratni koren od x frac(x) – vraća razlomljeni deo od x int(x) – vraća celobrojni deo od x
Primeri: frac(1.23) = 0.23 frac(3.75) = 0.75 int(1.23) = 1.00 Vrednost funkcije je između 0 i 1
Funkcije koje daju celobrojnu vrednost trunc(x) – izdvaja celobrojni deo realnog broja (x) round(x) – zaokružuje argument x do najbližeg celog broja
Primeri: trunc(6.3) = 6 trunc(-4.7) = -4 trunc(3.236) = 3 round(4.678) = 5 round(-5.35) = -5 round(3.5) = 4 round(-3.5) = -4
Zadatak 2 Izračunati vrednost sledeći izraza: -7 + 4 * 5 div 2 * round(2.367) – 3*4 = (trunc(7.3) – round(4.6)) * 2 mod 5 div 2 =
Logički tip podataka - BOOLEAN Koristi se kod programa kod kojih treba odrediti da li je nešto tačno ili netačno. Rezultat određivanja može biti TRUE ili FALSE U računaru se ove vrednosti prikazuju kao: TRUE ima vrednost 1 FALSE ima vrednost 0 TRUE >FALSE
Dozvoljene operacije Not - negacija And – konjukcija Or – disjunkcija Xor – ekskluzivna disjunkcija
p q not p p and q p or q p xor q false true
Prioriteti: not and or Primer : p or q and r p or (q and r) Operacija poređenja primenjena na celobrojne i realne operande daje vrednost logičkog tipa (true ili false) Operacije poređenja su: =, < >, <, >, <=, >= Primer: p <= q and r p <= (q and r)
Funkcije koje se koriste kod logičkog tipa ord -određuje redni broj ord(false) = 0 ord(true) = 1 succ – sledeća vrednost succ(false) = true succ(true) = nema vrednost pred – predhodna vrednost pred(true) = false pred(false) = nema vrdnost odd – daje vrednost logičkog tipa odd(5) = true odd(2) = false
Zadatak 3 Odrediti logičku vrednost izraza false > true ord(true) Odd(round(10 * p)) za p=0.599
Znakovni tip podataka - CHAR Vrednosti mogu biti svi znaci iz ASCII tabele (svi elementi azbuke programskog jezika) Vrednost znakovnog tipa se piše stavljanjem znakova uzmeđu apostrofa ’z’ Praznina je prazan znak
Funkcije pred(c) - daje predhodni znak succ(c) - daje sledeći znak pred(’h’) =’g’ pred(’/’) = ’.’ pred(’4’) = ’3’ succ(c) - daje sledeći znak succ(’H’) =’I’ succ(’4’) = ’5’ succ(’A’) = ’B’ UpCase(c)- malo slovo pretvara u veliko UpCase(’d’) =’D’ ord(c) – redni broj znaka ord(’A’) =65 ord(’B’) = 66 ord(’*’) = 42 ord(’a’) =97 ord(’b’) = 98 ord(’1’) = 49 chr(i) – znak čiji je redno broj i chr(100) =’d’ chr (70) = ’F’ succ(45) = ’-’
Zadatak 4 Da li su tačni sledeći iskazi pred(’C’) = chr(ord(’C’) – 1) succ(’C’) = chr(ord(’C’) +1)
Domaći Izračunati vrednost sledećih izraza: 6 div 2 – 6 mod 5 = 7 mod 2 + 13 div 3 – 2 = 4 + sqr(5) -17 + trunc(-14.7 – 3.2) = 25 > 31 = (3 >2) (5 > 6)= (2 >1) (5 < 4)= Not(30 > 10) = Napisati algoritam koji pomaže kasirki da obračuna kusur, tako što od nje traži da unese jediničnu cenu artikla, količinu artikala i koliko novca dobija od kupca.