11.07.2015 Views

Beleške za pripremu prvog kolokvijuma iz Osnova ... - Alas

Beleške za pripremu prvog kolokvijuma iz Osnova ... - Alas

Beleške za pripremu prvog kolokvijuma iz Osnova ... - Alas

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Osnovi programiranjapriprema <strong>za</strong> prvi kolokvijumGoran Raki¢februar 2005.NapomenaPred vama se nalaze bele²ke sastavljene neposredno pred <strong>iz</strong>la<strong>za</strong>k na prvi kolokvijum<strong>iz</strong> <strong>Osnova</strong> programiranja. Bele²ke svakako nisu kompletne, niti je to i planirano da budu.Takože, ne postoji nikakva garancija da su <strong>iz</strong>nesene informacije uop²te ta£ne iako ja trenutnoverujem da jesu. Izvori su dati na kraju. Sve komentare (<strong>iz</strong>uzev onih uvredljive prirode) ¢urado primiti.1 Brojni sistemiBinarni (2): 0, 1Oktalni (8): 0, 1, 2, 3, 4, 5, 6, 7Dekadni (10): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9Heksadecimalni (16): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, FKonverzija <strong>iz</strong> 2, 8, 16 ⇒ 10 se vr²i pronalaºenjem sume umnoºaka cifre i stepenovane osnovena broj trenutne cifre po£ev sa desne strane umanjen <strong>za</strong> jedan <strong>za</strong> svaku cifru.Konverzija <strong>iz</strong> 10 ⇒ 2, 8, 16 se vr²i celobrojnim deljenjem brojem 2, 8 ili 16. Ostaci pri deljenjudaju cifre u traºenom <strong>za</strong>pisu. Poslednji ostatak pri deljenju (kada koli£nik postane 0) je prvacifra u novom <strong>za</strong>pisu i tako redom do <strong>prvog</strong> ostatka koji je poslednja cifra.Za konverziju <strong>iz</strong> 2 ⇒ 16 najpre treba podeliti cifre u binarnom <strong>za</strong>pisu u grupe od po £etiricifre (dopuniti nulama sa leve strane po potrebi, dakle 23 (10) = 10111 (2) postaje 00010111), aonda svaku grupu prevesti u heksadecimalni <strong>za</strong>pis. Rezultat se dobija cifra po cifra. Pomenutiprimer dakle postaje 0001 (2) = 1 (16) i 0111 (2) = 7 (16) , odnosno 10111 (2) = 17 (16) . Za konverzijuu obrnutom smeru, obrnuti ceo proces.I na kraju, konverzija <strong>iz</strong> 2 ⇒ 8 se <strong>iz</strong>vodi na slede¢i na£in. Umesto u grupe po £etiri, podelitina isti na£in u grupe od po tri cifre i <strong>iz</strong>ra£unati oktalni ekvivalent svake grupe £ime se dobijacifra po cifra broja u oktalnom <strong>za</strong>pisu. Za konverziju u obrnutom smeru, obrnuti ceo proces.2 Opseg tipova podataka u prog. jeziku CCelobrojni tip short int −128 . . . 127 1 bajtint −32768 . . . 32767 2 bajtalong int −2 31 . . . 2 31 4 bajtaPreks unsigned obezbežuje samo pozitivne vrednostipa datom tipu daje opseg 0 . . . 2 n − 1 <strong>za</strong> n bajtova.1


Float i Double tipovi sluºe <strong>za</strong> predstavljanje racionalnih brojeva (realnih brojeva saograni£enom prec<strong>iz</strong>no²¢u). Zauzimaju 4, odnosno 8 bajtova i £uvaju 6-7, odnosno 14-15zna£ajnih cifara i<strong>za</strong> decimalne ta£ke.3 Zapis negativnih brojeva, Komplement dvojkePredstavljanje negativnih brojeva se real<strong>iz</strong>uje preko komplementa dvojke. Formula glasi:gde je:N ∗ = 2 8·n − Nn - broj bajtova u <strong>za</strong>pisuN - pozitivni ceo broji N ∗ u notaciji komplementa dvojke <strong>za</strong>pisan broj -N.Prakti£no ovo zna£i da ¢e short int sa vredno²¢u -6 (-N) prika<strong>za</strong>n kao unsigned short int imativrednost N ∗ = 2 8 − 6 = 250.Kada posmatramo binarni <strong>za</strong>pis, ra£unanje komplementa je ne²to lak²e. Ve¢ pomenuti broj6 u binarnom <strong>za</strong>pisu glasi 00000110 (2) . Sada najpre odredimo komplement jedinice (invertovanjebitova) ²to je u ovom slu£aju 11111001 (2) i <strong>za</strong>tim dodamo 1. Dakle -6 prika<strong>za</strong>n kao komplementdvojke glasi 11111010 (2) = 250 (10) . Vidimo <strong>iz</strong> binarnog <strong>za</strong>pisa da je najve¢i broj koji na ovajna£in moºemo <strong>za</strong>pisati 2 n − 1, a najmanji −2 n .4 Konverzija tipova pri evaluaciji <strong>iz</strong>ra<strong>za</strong>Prilikom <strong>iz</strong>ra£unavanja nekog <strong>iz</strong>ra<strong>za</strong>, ukoliko su operandi razli£itih tipova bi¢e <strong>iz</strong>vr²ena konverzijaprema slede¢em pravilu:char < unsigned char < short < unsigned short < int


∼ Negacija nad bitovima. (1 postaje 0 i obrnuto). Promenljiva mora biti celobrojnog ili znakovnog tipa.& Konjukcija nad bitovima. Operandi su celobrojnog ili znakovnog tipa.| Disjunkcija nad bitovima. Operandi su celobrojnog ili znakovnog tipa.∧ Ekskluzivna disjunkcija (1 ∧ 1 = 0). Operandi su celobrojnog ili znakovnog tipa.Postoje i sloºeni operatori | =, & =, ≪=, . . .6 Prvenstvo operatora1) [LTR] () [] -> .2) [RTL] ! ~ ++ -- + - * (type) s<strong>iz</strong>eof3) [LTR] * / %4) [LTR] + -5) [LTR] >6) [LTR] < >=7) [LTR] == !=8) [LTR] &9) [LTR] ^10) [LTR] |11) [LTR] &&12) [LTR] ||13) [RTL] ?:14) [RTL] = += -= *= /= %= \&= ^= |= =15) [LTR] ,7 Vaºnije pozicije u ASCII tabeliRazmak (Space): 32'0': 48'A': 65'a': 97Napravljeno uz pomo¢ LATEX-a

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!