180 likes | 368 Views
Fakultet za poslovnu informatiku. Uvod u programiranje II 2 i 3 (Realni brojevi i iteracije) C++ za program ere poslovnih aplikacija. C++ for Business Programmers John C. Molluzzo - Pace University, New York Prentice Hall , August 02, 2005. Poglavlje 2 – Realni brojevi.
E N D
Fakultet za poslovnu informatiku Uvod u programiranje II2 i 3(Realni brojevi i iteracije)C++ za programere poslovnih aplikacija C++ for Business Programmers John C. Molluzzo - Pace University, New York Prentice Hall, August 02, 2005
Poglavlje 2 – Realni brojevi • float (4 bajta, 7 cifara preciznost) • double (8 bajtova, 15 digit precision) #include <iostream> using namespace std; int main() { cout << “Na ovom racunaru broj bajtova odvojenih za tip float je" << sizeof(float) << endl; cout << "On this computer a double occupies this many bytes " << sizeof(double) << endl; return 0; }
Realni brojevi Problemi: - kontrola broja cifara iza decimalne tačke - prebacivanje na naučnu notaciju i - gubitak završne nule, cout << setprecision(2) // two digits to right of decimal << setiosflags(ios::fixed) // display in fixed form << setiosflags(ios::showpoint); // print trailing zeros • Mora da se uključi heder fajl iomanip #include <iomanip>
Aritmetika • Konverzija u tip double pre aritmetičkih operacija • Kada aritmetički izraz sadrži više promenljivih tipa int ili long i više promenljivih tipa float ili double, C++ automatski konvertuje sve promenljive u tip double pre nego što izvrši aritmetičke operacije. Sledi, rezultat je tipa double • type cast • Tip cast (C++ data type nakon koga sledi izraz u malim zagradama) menja tip podatka – vrednosti koja je uključena u određeni tip. • int i = 5;double(i) casts (kastuje, menja) vrednost promenljive i, odnosno konvertuje vrednost i u double 5.0. • Konverzija desne strane pridruženja u levu • Kada se tip podatka desne strane znaka pridruženja razlikuje od tipa podatka promenljive sa leve strane, C++ konvertuje vrednost desne strane u tip podatka varijable sa leve strane • ...
Aritmetika • Svaki izraz u C++ ima numeričku vrednost
Poglavlje 3 – Iteracije (petlje) • U C++, ako je relacioni uslov true-tačno, ceo uslov ima numeričku vrednost 1. Ako je relacioni uslov false-netačno, ceo uslov ima numeričku vrednost 0. Sledi, C++ uzima svaku vrednost različitu od nule kao true, a vrednost 0 kao false-netačno. • Iteracije (looping - while loop, do loop, i for loop) #include <iostream> using namespace std; int main() { int i = 3, j = 8, k = 5, result; result = (i < j < k); cout << "result = " << result << endl; return 0; }
Petlja • while (control-expression) loop-body
Korišćenjecin.get() Ako deklarišemo promenljivu tipa character char ch; Sledeća naredba pridružuje sledeći karakter iz ulaznog strima varijable ch ch = cin.get();
for() • fornaredba
Ugnežđene while petlje Nested while Loops Kako da signaliziramo programu da ne želimo više da unosimo kataktere? C++ ima specijalnu simboličku konstantu EOF da bi se označio kraj ulaza. EOF je mnemonic koji znači "end of file“, definisan u standardnom heder fajlu iostream. Vrednost EOF je sistemski zavisna, mada većina sistema koristi int vrednost 1. U Windows-u, da bi se ubacila sa terminala korektna vrednost EOF, mora da ukucate ^Z; U UNIX/Linux-u, enter ^D za vrednost EOF.
U poslednjem primeru ... • ... promenljiva ch u koju se smešta karakter koji korisnik unosi preko tastature je tipa int umesto tipa char. Jedina razlika u skladištenju karaktera recimo 'a', u int type variable umesto u char type variable je da int variable zahteva 2 ili 4 bajta memorije dok char type variable zahteva 1 ili 2 bajta (dva bajta za Unicode karaktere) memorije. U oba slučaja karakter 'a' je uskladišten kao integer value 97.