On-line učionica

23. aprila 2019.

Odlučivanje u programu

Filed under: C++,Programiranje — jelena100janovic @ 10:01 am

Već smo primetili da nam je potrebna biblioteka cmath da bismo izveli neka izračunavanja u programu. Na priloženom linku možete naći sve matematičke funkcije kojima biblioteka raspolaže. Probajte da kliknete na ime neke od njih. Na primer pow()… videćete da ima dva parametra i povratnu vrednost i da računa stepen:

Ili funkcija sin() za sinus ugla u radijanima:

ili abs() za apsolutnu vrednost broja:

ili sqrt() za kvadratni koren:

Hajde da napišemo jedan jednostavan program koji računa koren nekog broja:

Jesmo li sigurni da ovaj kod radi? Šta ako se desi nešto ovakvo:

Program nam je prijavio grešku. Moramo se baviti greškama, jer, ne zaboravite, programe koje mi pišemo koriste neki drugi ljudi! Ispravljen kod bi izgledao nekako ovako:

Prvo, u komentaru smo upozorili korisnika da broj koji unosi treba da bude pozitivan. Onda smo ipak proverili da li nas je poslušao u uslovu naredbe if. Onda imamo dva dela koda od kojih se samo jedan izvršava – onaj za koji je uslov tačan. Dakle, ako je broj ipak negativan, ispisuje se obaveštenje, a ako nije (posle ključne reči else), deo koda koji izračunava kvadratni koren.

Naredba if

Ovom naredbom, na osnovu uslova, odlučujemo koji od dva dela koda će se izvršiti:

Osim da bi reagovali na greške, naredbu if možemo koristiti i u programima koji proveravaju nešto. Na primer…

Napisati program koji proverava da li je uneti ceo broj paran ili neparan i ispisuje odgovarajuću poruku.

Ovde nam je potreban broj koji unosimo i provera da li je paran. To postižemo operatorom ostatka pri deljenju, jer su parni brojevi deljivi sa 2, odnosno daju ostatak 0 pri deljenju sa 2:

Dalje je prilično jednostavno, ako je uneti broj paran, ispisuje se obaveštenje, a ako nije, ispisuje se drugo obaveštenje.

Višestruki uslovi

Unutar if i else delova koda sa grananjem možemo pisati bilo koju naredbu, ukljčujući i još if naredbi. Da se ne bi zapetljavali u tome, treba napraviti uslove tako da se novo grananje pojavljuje samo u else delu. Da pogledamo primer.

Napisati program koji za uneti broj proverava da li je veći, manji ili jednak nuli i ispisuje odgovarajuću poruku.

Prvo, treba nam ceo broj. Provera veće/manje/jednako je jednostavna (>, <, ==). Samo još treba da lepo složimo te uslove. Ovako:

  • Ako je broj veći od nule, ispiši „Pozitivan“
  • Inače ako je manji od nule, ispiši „Negativan“
  • Inače ispiši „Nula“

Evo i koda i provere:

 

Prvo, primetite kako se kod piše kada imate if u else delu, bez zagrada. Primetite takođe da nigde nismo proveravali da li je broj jednak nuli. To je zato što smo proverili da li je veći i da li je manji. Ako broj nije ni veći, ni manji od nule, onda mora biti jednak nuli. Nema potrebe za dodatnom proverom. I još…

Domaći zadatak

  1. Napisati program koji ilustruje korišćenje funkcije pow() iz biblioteke cmath.
  2. Napisati program koji ilustruje korišćenje funkcije sin() iz biblioteke cmath.
  3. Napisati program koji od korisnika traži da upiše ne-nula broj i onda ispisuje da li je uneti broj pozitivan ili negativan. Pazite da odreagujete na eventualnu grešku!
Advertisements

Ostavite komentar »

Nema komentara.

RSS feed for comments on this post. TrackBack URI

Ostavite odgovor

Popunite detalje ispod ili pritisnite na ikonicu da biste se prijavili:

WordPress.com logo

Komentarišet koristeći svoj WordPress.com nalog. Odjavite se /  Promeni )

Google photo

Komentarišet koristeći svoj Google nalog. Odjavite se /  Promeni )

Slika na Tviteru

Komentarišet koristeći svoj Twitter nalog. Odjavite se /  Promeni )

Fejsbukova fotografija

Komentarišet koristeći svoj Facebook nalog. Odjavite se /  Promeni )

Povezivanje sa %s

Create a free website or blog at WordPress.com.

%d bloggers like this: