za prvi test racunari i programiranje2
DESCRIPTION
Materijal za testTRANSCRIPT
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
OSNOVNI POJMOVI O JEZIKU
Jezik C je programski jezik visokog nivoa pogodan i za sistemsko programiranje. To je jezik sa modernom kontrolom programa, sa mogućnošću definisanja različitih struktura podataka, sa velikim skupom operatora i tipova podataka.
Jezik C je posebno pogodan za projektovanje operativnih sistema i njegovih pomoćnih programa, naučnih aplikacija i sistema za upravljanje u realnom vremenu.
U mašinstvu programski jezik se koristi za rešavanje određenih zadataka vezanih za predmete: Mašinski elementi, Mehanika, Otpornost materijala i Konstruisanje.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Raćunari i programiranje
ZADATAK PROGRAMIRANJAU izradi programa postoje sledeće faze:
-Utvrđivanje zahteva-Projektovanje programa-Pisanje programa-Provera programa-Završno uobličavanje programa
ODREĐIVANJE ZAHTEVAPrilikom programiranja treba precizno formulisati problem
gde se nedvosmisleno uočavaju zadate veličine i veličine koje treba odrediti. Ovo ćemo ilustrovati na sledećem primeru, koji se odnosi na zadatak iz mehanike.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Iz Beograda i Niša istovremeno u susret polaze dva automobila krećući se brzinama 54 km/h i 72 km/h. Posle kog vremena i na kom mestu će se automobili sresti?
Pisati program za rešavanje ovakvog problema na računaru nema smisla jer se radi o pojedinačnom problemu a program treba da rešava što šire aspekte sličnih problema. Međutim, ovaj zadatak može se postaviti i ovako: Iz dva grada na rastojanju D km krenu istovremeno dva
automobila jedan drugom u susret krećući se brzinama V1 i V2. Posle kog vremena i na kom mestu će se automobili sresti? Ovako postavljen problem rešava klasu srodnih problema. Sada mogu to biti bilo koja dva grada a automobili se mogu kretati bilo kojom brzinom.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
PROJEKTOVANJE PROGRAMAPosle dobro postavljenog problema dolazi faza njegovog
rešavanja. U rešavanju polazimo od postavke problema. Iz postavke zadatka moramo dobro razumeti šta je poznato a šta se traži. U stvari, rešavanje problema se sastoji u tome da se tražene veličine odrede ili izračunaju, na osnovu poznatih ili zadatih veličina. Da bismo ovo uradili, neophodno je da uspostavimo veze između poznatih i nepoznatih veličina, koja će nam omogućiti da sprovedemo neophodna izračunavanja. Da bismo uspostavili veze izmedju ulaznih i izlaznih veličina, u ovom slučaju neophpdno nam je znanje iz predmeta Mehanika, oblast Pravolinijsko kretanje. Ako pažljivo pročitamo zadatak, vidimo da su poznate veličine rastojanje između gradova D i brzine kretanja automobila V1 i V2.
Nepoznate veličine su rastojanje mesta susreta automobila od
gradova, označimo ih sa D1 i D2 i vreme susreta T.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Sa slike se vidi jedna veza – ograničenje da je: D=D1+D2Međutim jedna veza ovde nije dovoljna za rešavanje problema. Zato moramo tražiti nove veze. Ove veze treba tražiti, pre svega, između poznatih i nepoznatih veličina koje nisu obuhvaćene već navedenom vezom. U našem primeru veličine V1, V2 i T se ne javljaju u postojećoj vezi. Ovde nam treba znanje iz Mehanike da je “pređeni put jednak proizvodu brzine i vremena”. Tako sada imamo dve veze:
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
D1=V1*TD2=V2*T
Kako je vreme T isto za oba automobila, zamenom u prvu jednačinu za ukupno rastojanje D imaćemo:
D=D1+D2=V1*T+V2*T=T(V1+V2) Rešavanjem ove jednačine po T dobićemo:
T=D/V1+V2Iz ove jednakosti za zadato D, V1 i V2 možemo izračunati T a zatim iz prethodnih veza izračunamo D1 i D2 i tako smo problem rešili i pripremili za pisanje algoritma.
ZAPIS ALGORITMAKada smo uspostavili sve moguće veze između poznatih i nepoznatih veličina, rešili smo problem. Ako želimo da na osnovu poznatih veličina izračunamo nepoznate moramo sastaviti postupak u kome ćemo precizno definisati redosled izračunavanja.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Ovakav postupak rešavanja nekog zadatka nazivamo
algoritam.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
PISANJE PROGRAMADa bismo napisali program za prethodni problem mora da poznajemo sintaksu programskog jezika “C”.
Sintaksa programskog jezika je pravilan način pisanja određenih naredbi za taj programski jezik./*Iz dva grada na rastojanju D km krenu istovremeno dva automobila jedan drugomu susret krecuci se brzinama V1 i V2 km/h.Posle kog vremena i na kom mestu ćese automobili sresti?*/
#include<stdio.h>#include<math.h>main(){float D,V1,V2,T,D1,D2;printf("Unesi rastojanje izmedju gradova u km:\n");scanf("%f",&D);printf("Unesi brzinu prvog automobila u km/h:\n");scanf("%f",&V1);printf("Unesi brzinu drugog automobila u km/h:\n");scanf("%f",&V2);T=D/(V1+V2);D1=V1*T;D2=V2*T;printf("Vreme susreta je posle:T=%f sati\n",T);printf("Predjeni put prvog automobila je:D1=%f km\n",D1);printf("Predjeni put drugog automobila je:D2=%f km\n",D2);getch();}
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
PROVERA PROGRAMAProvera ispravnosti-korektnosti programa jeste operacija koja
treba da pokaže da li program za zadate ulazne podatke daje tačan rezultat. Ova operacija naziva se testiranje programa. Ako se pri prevođenju programa nađe greška, ona se mora otkloniti jer takav program ne radi uopšte.Greške u pogramu mogu biti sintaksne i semantičke.
Sintaksna greška se odnosi na pravilan zapis naredbe u programu i kontroliše je prevodioc ili interpretator.
Semantička greška je jezička greška u logici rešenja koja je ostvarena u programu i takva greška ne mora biti otkrivena u toku izvršavanja programa.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
GRAFIČKO PRIKAZIVANJE ALGORITMAGrafičko prikazivanje algoritma u obliku dijagrama toka
daje najviše uvida u strukturu predstavljene obrade problema. Postoje dve vrste dijagra matoka:1) Standardni2) Strukturirani
STANDARDNI DIJAGRAM TOKANajvažniji elementi standardnog dijagrama toka dati su na
sledećoj slici: Početak programa Kraj programa
Element početak ima jednu odlaznu granu i obeležava mesto odakle počinje algoritam.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Ulazni podaci Obrada podataka Skretnica
Kolektor Izlazni podaci Baza podataka
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Element obrada predstavlja određene radnje nad podacima. Ima jednu dolaznu i jednu odlaznu granu. Može da sadrži i veći broj radnji zbog čega je njegov sadržaj obeležen kao blok. Jedino unutar elementa obrada mogu da se dobiju neki rezultati na osnovu odgovarajućih početnih podataka.
Element skretnica služi za grananje u dijagramu duž jedne od odlaznih grana. Sadržaj skretnice je uslov. Ako je uslov ispunjen, obrada se nastavlja duž grane koja je obeležena oznakom T (True - Istinito). Ako uslov nije ispunjen, nastavlja se duž grane sa oznakom F (False - Pogrešno).
Pomoću elementa kolektor nekoliko dolaznih grana spajaju se u jednu odlaznu granu, a pri tome se ne vrši nikakva obrada ili ispitivanje.
Kraj algoritma obeležava se sa kraj. Taj element ima samo jednu dolaznu granu.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
STRUKTURIRANI DIJAGRAMI TOKA
Strukturirani dijagrami tokova su novijeg datuma i podržavaju principe strukturiranog programiranja. Strukturirano programiranje podrazumeva algoritme i programe sa jasno definisanom i lako razumljivom strukturom.
Nasledećoj slici su prikazani osnovni elementi strukturiranog dijagrama toka:
Obrada Selekcija Ciklus
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Standardni i strukturirani dijagrami tokova
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
IDENTIFIKATORIIdentifikatori služe za označavanje svih vrsta elemenata
programa: Promenljive, Simboličke konstante, Tipove podataka koje definiše korisnik, Labele koje služe kao odredište za naredbe skokova i Potprogrami.
Identifikator se sastoji od slova (od a do z i A do Z) i cifara (od 1 do 9) i znaka povučeno ( _ ). Da bi se razlikovao od broja, identifikator mora početi slovom ili znakom podvučeno ( _ ). Pravi se razlika između malih i velikih slova, a to znači da su G i g dva različita identifikatora.
Nekoliko primera ispravnih identifikatora: alfaALFAdozvoljeni _ naponstepen _ sigurnostix55 _ 123početna _ brzinaV1
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Nekoliko primera neispravnih identifikatora:13a55 /* prvi znak ne sme da bude cifra */alfa, beta /* znakovi interpunkcije nisu dozvoljeni */x-y /* operatori nisu dozvoljeni */int /* rezervisane ključne reči nisu dozvoljene */
Rezervisane ključne reči predstavljaju unapred definisane reči nekog programskog jezika, i one se ne smeju prikaziva ti kao identifikatori. U jeziku C to su sledeće reči:
auto double int structbreak else long switchcase enum register tupedefchar extern return unionconst float short unsignedcontinue for signed voiddefault go to size of volatiledo if static while
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
PROMENLJIVEJezik C koristi promenljive čija je osnovna funkcija vrlo slična
promenljivama u matematici. Svaka promenljiva ima svoje ime i može joj se dodeliti određena vrednost. U stvari, pomenljiva je identifikator kojem se može dodeliti vrednost u programu. Sve promenljive moraju se deklarisati na početku programa pre nego što počnu da se koriste. Deklaracijom se navode tip, naziv i eventualno početna vrednost promenljive. Pažljivo treba odabrati ime promenljive jer ono asocira na namenu promenljive u programu.
U jeziku C postoje tri osnovna tipa promenljive: - Int (celobrojna promenljiva)- Float (brojna promenljiva u pokretnom zarezu – realan broj)- Char (znakovna promenljiva)
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Promenljiva tipa int predstavlja pozitivnu ili negativnu celobrojnu vrednost. Postoje tri tipa int promenljive:- int - short int- long int
Uz ova tri tipa celobrojne promenljive postoje i tri dodatna tipa koja se dobijaju dodavanjem rezervisane reči unsigned:- unsigned int- unsigned short int- unsigned long int
Svaka promenljiva jednog od ova tri dodatna tipa odgovara po veličini odgovarajućem tipu bez unsigned, samo je vrednost brojne promenljive koja je smeštena u njih uvek nenegativna.
Promenljiva tipa float predstavlja brojnu vrednost datu u pokretnom zarezu. Postoje dva tipa ove promenljive:- float- double
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Promenljiva tipa char je promenljiva kojoj možemo dodeliti samo jedan znak iz datog skupa znakova. Prema tome dužina promenljive char je 1 bajt (B) i ona je smeštena kao brojna vrednost koja odgovara internom predstavljanju dodeljenog znaka. Znak koji se dodeljuje ovom tipu promenljive mora uvek biti dat između dva apostrofa.
KONSTANTEKonstante predstavljaju promenljive koje ne menjaju vrednost
tokom izvšenja programa. U programskom jeziku C postoje sledeće konstante: - celobrojne konstante- realne konstante- znakovne konstante- konstantni znakovni nizovi- simboličke konstante- nabrojane konstante
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
CELOBROJNE KONSTANTECelobrojne konstante na jeziku C mogu da se pišu u
decimalnom, oktalnom i heksadecimalnom brojnom sistemu.
Sintaksni dijagram celobrojne konstante
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Decimalne konstante se sastoje od niza decimalnih cifara ispred koga može da se nalazi predznak + ili - . Prva cifra u nizu ne može da bude nula. Ukoliko nedostaje predznak, broj se smatra pozitivnim.
Konstanta čija je prva cifra ( 0 ) pripada oktalnom brojnom sistemu tj. brojnom sistemu sa osnovom 8. Dozvoljene cifre su 0,1, ..., 7.
Sintaksni dijagram oktalne cifre
Heksadecimalne konstante (osnova brojnog sistema 16) počinju znakovima 0x ili 0X. Šesnaest heksadecimalnih cifara obeležavaju se ciframa 0, 1,..., 9 i slovima a, b, c, d, i, f. Dozvoljena i upotreba velikih slova, ravnopravno sa malim slovima.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Sintaksni dijagram heksadecimalne cifre
U svim slučajevima, bez obzira na korišćeni brojni sistem, tip dobijene konstante je int osim ako je konstanta suviše velika za taj tip. Tada se podrazumeva tip long int. Dodavanjem sufiksa u ili U iza niza cifara u sva tri brojna sistema dobija se neoznačena ( samo pozitivna ) celobrojna konstanta. Tip dobijene konstante je unsigned int ili unsigned long int, zavisno od veličine broja.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Dodavanjem sufiksa l ili L iza niza cifara u sva tri brojna sistema dobija se skonstanta tipa long int ili unsigned long int zavisno od toga da li je naveden i sufiks u ili U. U tom slučaju veličina broja ne utiče na tip dobijene konstante. Evo nekoliko isptavnih celobrojnih konstanti na jeziku C: 947 65000u 1231 123456789UL-3586 14567U -785L 07777777uL0123 0177777u 01234567l 0xfiA54ECul0xf7a5 0xFFFFU 0xabcdefL0xf7A5 20000000
i nekoliko primera neispravnih:-13p76 /* slova nisu dozvoljena03928 /* 8 i 9 nisu oktalne cifre3ab89 /* a i b niju decimalne cifre2.345 /* tačka označava ralnu konstantu
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
REALNE KONSTANTE
Realne konstante na jeziku C pišu se samo u decimalnom brijnom sistemu. Za brojeve sa vrlo velikim i vrlo malim apsolutnim vrednostima koristi se eksponencijalna notacija. Eksponencijalna notacija je oblika mEe, gde se m naziva mantisa a e eksponenta. Vrednost predstavljenog broja je mx10e
Primer: vrednost broja 1.34e3 dobija se kao proizvod 1.34 i broja 10 stepenovanog sa 3 a to je 1340. Vrednost 1.34 je mantisa broja, a 3 je eksponent.
Sintaksni dijagram realne konstante
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Realne konstante mogu biti tipa float i double. Razlika je u tačnosti predstavljanja reaknih vrednosti, odnosno u broju decimalnih cifara koje mogu da se memorišu. Promenljiva tipa double (dvostruka tačnost) može da upiše dvostruko više decimalnih cifara. Za podatke tipa float potrebno je 4 bajta a za podatke tipa double 8 bajta.
Ispravno napisane realne konstante:
1.23 1e5 345.785f 532.e-21 - 125. 123,456E-2 2.0E+6F 0.12345L
Neispravno napisane realne konstante:
1,23 /* ne koristi se decimalni zarez */ 123.abcE02 /* sloba abc nisu dozvoljena */ -592 /* celobrojna konstanta */
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
ZNAKOVNE KONSTANTE
Suntaksni dijagram znakovne konstante
Promenljive i konstante tipa char memorišu karaktere. U deklarativnim iskazima koristi se ključna reč char. Char je skraćenica od reči charakter. Konstante tipa char dobijaju se stavljanjem karaktera izmedju jednostrukih navodnika, na primer: ‘A’, ‘1’, itd… U funkcijama printf() i scanf() konverzioni karakter za promenljive i konstante tipa char je %c.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
KONSTANTNI ZNAKOVNI NIZOVIKonstantni znakovni niz je sažeti način zapisivanja niza
znakovnih konstanti. Opšti oblik je prikazan na sledećoj slici:
Sintaksni dijagram konstantnog znakovnog niza
U osnovi to je niz znakova stavljen izmedju para znakova navoda (“). Npr: “Zdravo!”Predstavlja niz od 8 znakova: ‘Z’ ‘d’ ‘r’ ‘a’ ‘v’ ‘o’ ‘!’ ‘\0’
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
SIMBOLIČKE KONSTANTESimbolička konstanta je konstanta kojoj je dodeljen identifikator.
Kasnije se u programu kotisti identifikator a ne vrednost konstante. Simbolička konstanta se definiše naredbom #define čiji je opšti oblik prikazan na sledećoj slici:
Sintaksni dijagram simboličke konstante
Tip simboličke konstante je određen tipom konstante koja se navodi kao vrednost konstante. Identifikatori simboličkih konstanti pišu se obično velikim slovima da bi se razlikovali od identifikatora promenljivih koji se obično pišu malim slovima.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Nekoliko primera definisanja simboličkih konstanti: #define MIN 0 #define MAX 1000 #define PI 3.1415 #define PORUKA “Pozdrav svima!”
NABROJANE KONSTANTENabrojane konstante su celobrojne simboličke konstante kojima
su vrednosti dodeljene eksplicitno ili implicitno nabrajajući njihove identifikatore u jednom nizu.
Nabrojane konstante se definišu naredbom enum čiji je opšti oblik prikazan na sledećoj slici:
Sintaksni dijagram naredbe enum
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Nvođenje identifikatora nabrajanja u naredbi enum omogućava da se kasnije definišu promenljive koje bi smele da imaju samo vrednosti koje su nabrojane u naredbi enum.
Opis nabrajanja navodi konstante koje se definišu između para vitičastih zagrada ({ }).
Sintaksni dijagram opisa nabrajanja
Ako iza identifikatora konstante nema vrednosti konstante, konstanta će imati vrednost koja je za jedan veća od vrednosti prethodne konstante u nizu. Ako iza prvog identifikatora u nizu nema vrednosti, prva konstanta imaće vrednost nula.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Vrednost konstante može da bude proizvoljan konstantan izraz celobrojnog tipa. Konstantan izraz je aritmetički izraz čiji su svi operandi konstante ili simboličke konstante.
Nekoliko primera nabrojanih konstanti:
enum { NE, DA } ; enum { CRNA, SIVA, SMEĐA, CRVENA, ŽUTA, ZELENA, PLAVA } ; enum meseci { JAN = 1, FEB, MAR, APR, MAJ, JUN, JUL, AVG, SEP, OKT, NOV, DEC } mesec; enum dani { ponedeljak = 1, utorak, sreda, četvrtak, petak, subota, nedelja } dan ;
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
ULAZNA I IZLAZNA KONVERZIJA PODATAKA
UVODPodaci se preko tastature unose u obliku niza znakova. Sa druge
strane podaci u memoriji računara predstavljaju se u binarnom obliku. U toku tog prenosa neophodno je da se izvrši konverzija pročitanih podataka iz spoljašnjeg “tekstualnog” u unutrašnji binarni oblik. Ta radnja naziva se ulaznom konvezijom.
Obrnuto, prilikom štampanja podataka na ekran potrebno je da se vrši izlazna konverzija podataka. Time se podaci iz unutrašnjeg binarnog oblika pretvaraju u spoljašnji tekstualni oblik, tj. u niz slova, cifara i specijalnih znakova.
Na jeziku C ulazna i izlazna konverzija realizuju se pomoću dve standardna funkcije: scanf i printf.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
ULAZNA KONVERZIJA
Ulazna konverzija podataka vrši se pozivanjem funkcije scanf pomoću izraza čiji je opšti oblik prikazan na sledećoj slici:
Sintaksni dijagram funkcije scanfPrvi argument funkcije scanf je format kojim se odredjuju konverzije koje
treba da se izvršavaju u toku unosa podataka. Preostali argumenti, koji su nazvani ulazni podaci, predstavljaju promenljive u kojima će biti smešteni rezultati konverzije.
Ulazni podatak može da bude skalarna promenljiva ili znakovni niz koji se predstavljaju svojim identifikatorima. Operator & ispred identifikatora skalarne promenljive označava da se u funkciji scanf dostavlja adresa navedene promenljive.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Format je znakovni niz kojim se pojedinačne konverzije iskazuju podnizovima koji počinju znakom % i završavaju se sa slovom koje označava vrstu konverzije.
Evo nekoliko primera pozivanja funkcije scanf:scanf (“%d”, &v)scanf (“%f”, &V)scanf (“%lf”, &g)
Konverzioni karakter Konverzija ulaznog niza
% c karakter
% d ceo broj
% f realan broj jednostruke tačnosti
% lf realan broj dvostruke tačnosti
% s niz karaktera
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
IZLAZNA KONVERZIJAIzlazna konverzija podataka vrši se pozivanjem funkvije printf pomoću
izraza prikazanog na slici:
Sintaksni dijagram poziva funkcije printf
Sintaksni dijagram izlaznog podatka
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Prilikom unošenja ulaznih podataka koristimo funkciju printf koja se sastoji od: - znakova koji se sirektno ispisuju na ekran između znakova navoda- opisa formata podatka (npr. ako je celobrojna konstanta onda je %d)- \n znak koji označava prelazak u novi red
Primer:printf (“unesi početnu brzinu prvog automobila u m/s \n”);printf (“unesi vrednost za poluprečnik kruga r u cm \n”);
Prilikom štampanja izlaznih podataka takođe koristimo funkciju printf s tim što se vrši konverzija podataka iz binarnog oblika u određeni tekstualni oblik u zavisnosti od tipa podataka. Primer:printf (“pređeni put automobila je: %f km \n”, s);
#include<stdio.h>#define IME “RONALDINJO”#define BROJ 10main(){printf (“Najbolji fudbaler sveta %s nosi dres broj %d \n”, IME,BROJ);printf (“Prosečan %s godišnje popije %s litara čaja \n”,”ENGLEZ”, 200);printf (“Autor knjige je %s %s \n”, ime, prezime);
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
BROJNI SISTEMI
U programskom jeziku C koristimo dekadni i binarni brojni sistem. Binarni brojni sistem koji se koristi u računarima ima za osnovu broj 2 a dozvoljene cifre su 0 i 1.
PRETVARANJE DEKADNOG U BINARNI BROJNI SISTEM
Primer:
70:2=35+0 binarni broj je 1000110 35:2=17+1 17:2=8+1 8:2=4+0 4:2=2+0 2:2=1+0 1:2=0+1 (ostatak nula)
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
PRETVARANJE BINARNOG U DEKADNI BROJNI SISTEM
1000110=1*26+0*25+0*24+0*23+1*22+1*21+0*20=64+0+0+0+4+2+0=70
10101010=1*27+0*26+1*25+0*24+1*23+0*22+1*21+0*20=128+0+32+0+8+0+2=170
MATEMATIČKE FUNKCIJE U C JEZIKU
U sledećoj tabeli biće prikazane matematičke funkcije napisane u C jeziku:
Matematičke funkcije definisane su u standardnoj biblioteci math.h.
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
Funkcija biblioteke Vrednost funkcije
sin(x) sin x
cos(x) cos x
tan(x) tg x
asin(x) arc sin x, x=(-1, 1)
acos(x) arc cos x, x=(-1, 1)
atan(x) arc tg x, x=(-pi/2, pi/2)
atan2(x,y) arc tg x/y
sinh(x) sh x
cosh(x) ch x
tanh(x) th x
exp(x) ex
Sqrt(x) X1/2
pow(x,y) Xy
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
PISANJE SLOŽENIH IZRAZA U C JEZIKU
Za razliku od načina pisanja složenih izraza u matematici, prilikom pisanja ovakvih izraza u jeziku C mora da se poštuju sledeća pravila:- Operator množenja (*) uvek mora da se napiše- Ne mogu da se pišu razlomci na više nivoa (dvojni), već ceo izraz mora da se piše u jednom redu korišćenjem operatora za deljenje (/) između broioca i imenioca. Izrazi u broiocu i imeniocu treba da se stave u zagradama.- Indeksi i stepeni ne mogu da se pišu podignuto i spušteno već moraju da se pišu na istom nivou i znakovima iste veličine kao i osnovni deo izraza.- Izraz po potrebi može da se proteže na više redova.
Evo nekoliko primera izraza napisanih u matematici i tih istih izraza u C jeziku:
→ sdsd
→ dsds
PROGRAMSKI JEZIK “C”
Dušan Stojanović Računari i programiranje
.
→ s
→ (x-y)/((x/y)-2)