diff --git a/lekcije/ispis_realnih.md b/lekcije/ispis_realnih.md new file mode 100644 index 0000000..fd5fffc --- /dev/null +++ b/lekcije/ispis_realnih.md @@ -0,0 +1,32 @@ +# Ispis realnih brojeva + +Kako postići zaokruživanje na 2 decimale? U jeziku C++ pravilan način da se to postigne je korišćenjem funkcije `setprecision` iz biblioteke ``. Kod ispod ispisuje broj **π** (pi) zaokružen na 2 decimale: +```c++ +#include +#include +using namespace std; + +int main() { + double pi = 3.14159265; + cout << fixed << setprecision(2) << pi << endl; // ispisuje 3.14! + return 0; +} +``` + +## Lekcija o snalažljivosti + +Šta činiti ako smo zaboravili na `setprecision`? Najbitnija veština takmičara (ali i dobrog programera) je da ume da se *snađe ✨*. + +Jedan način koji znamo na koji možemo da odbacimo decimale iza zareza je konverzija (pretvaranje) realnog broja u ceo broj, a to mozemo postići čuvanjem realnog broja u celobrojnu promenljivu, na primer ovako: +```c++ +int ceo_deo = pi; // ovo će biti 3 +``` +Ali kako da izvučemo bas `3.14`? Množenjem broja `3.14159265` sa `100` dobijamo `314.159265` gde ponovo na istu foru umemo da izbacimo deo iza zareza: +```c++ +int pomocna_prom = pi * 100; // ovo će biti 314 +``` +Deljenjem ovog broja sa `100.0` dobijamo to što želimo 🙂 +```c++ +double rezultat = pomocna_prom / 100.0; // ... 3.14 +``` +Pazite na to da smo ovde morali da delimo baš sa `100.0` a ne sa `100` jer na ovaj način kažemo C++-u da treba deljenje da tretira kao realno, a ne celobrojno. diff --git a/lekcije/matematicke_funkcije.md b/lekcije/matematicke_funkcije.md new file mode 100644 index 0000000..90370e1 --- /dev/null +++ b/lekcije/matematicke_funkcije.md @@ -0,0 +1,46 @@ +# Matematičke funkcije + +C++ pruža nekoliko baš lepih i korisnih matematičkih funkcija koje mozete da koristite u vasem kodu ako uključite odgovarajuću biblioteku: +```c++ +#include +``` + +Funkcije koje su nama najbitnije su +- `max(a, b)` - računa maksimum dva data broja +- `min(a, b)` - računa minimum dva data broja +- `abs(a)` - računa apsolutnu vrednost datog broja +- `sqrt(n)` - računa kvadratni koren (**SQ**uare **R**oo**T**) broja +- `pow(broj, stepen)` - stepenuje dat broj +- `floor(b)` - zaokružuje broj nadole (npr 3.4 u 3) +- `ceil(b)` - zaokružuje broj nagore (3.4 u 4) +--- +Kako se ove funkcije koriste pogledajte u sledećem programu: + +```c++ +#include +#include + +using namespace std; + +int main() { + cout << "min(4, 2) = " << min(4, 2) << endl; + cout << "max(3.5, -5.0) = " << max(3.5, -5.0) << endl; + cout << "abs(4.66) = " << abs(4.66) << endl; + cout << "abs(-1) = " << abs(-1) << endl; + cout << "sqrt(4) = " << sqrt(4) << endl; + cout << "sqrt(2) = " << sqrt(2) << endl; + cout << "pow(5, 2) = " << pow(5, 2) << endl; + cout << "pow(2, 3) = " << pow(2, 3) << endl; +} +``` +ispisuje +``` +min(4, 2) = 2 +max(3.5, -5.0) = 3.5 +abs(4.66) = 4.66 +abs(-1) = 1 +sqrt(4) = 2 +sqrt(2) = 1.41421 +pow(5, 2) = 25 +pow(2, 3) = 8 +``` diff --git a/lekcije/sta_su_biblioteke.md b/lekcije/sta_su_biblioteke.md new file mode 100644 index 0000000..cbbac1e --- /dev/null +++ b/lekcije/sta_su_biblioteke.md @@ -0,0 +1,26 @@ +# Šta su biblioteke u jeziku C++? + +Standardni C++ je napravljen tako da stvara što manje i brže programe koji mogu da rade na svemu - od najjačih računara do jeftinih veš masina. Nisu potrebe svih uređaja iste, te naprednije funkcionalnosti jezika moraju ručno da se dodaju (*include*-uju) u program. + +Primeri takvih biblioteka su: +- `iostream` - služi za unos i ispis podataka, tj. `cin` i `cout` +- `iomanip` - za konfiguraciju ispisa, koristimo je kada želimo na primer da postavimo broj decimala pri ispisu (`setprecision(n)`). [O tome više ovde](./ispis_realnih.md). +- `cmath` - uključuje matematičke fuknkcije kao sto su `sqrt` i `pow`. [O tome više ovde](./matematicke_funkcije.md). + +Ubuduće ćemo koristiti puno više biblioteka, i da ne bismo morali u svakom programu da ih dodajemo postoji kraći nacin: +```c++ +#include +``` + +Ova linija umesto vas uključi sve standardne biblioteke C++a (otud `stdc++`), a to je i sve što nam je za sada potrebno. + +```c++ +#include + +using namespace std; + +int main() { + cout << "Radi!!!" << endl; + return 0; +} +```