Programiranje - Naredbe za kontrolu toka programa – 1. dio

Slides:



Advertisements
Similar presentations
Vježbenica 2: struktura grananja
Advertisements

לולאות קרן כליף.
Zašto Python? Najbolje od QBasic-a i LOGO-a
Uvod u programiranje - matematika – VI predavanje
Petlje WHILE – WEND.
Ponavljanje gradiva 2. razreda
ZADACI ZA VJEŽBU struktura grananja
RP3/predavanje08 Ugniježdeni tipovi Iznimke 10/11/2018
PONAVLJANJE CheckBox Koristi se za rešavanje zadataka gde je potrebno omogućiti uključivanje ili isključivanje jedne ili više opcija. Važna svojstva: –Checked.
Programiranje - Blokovi naredbi i logički tipovi –
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Struktura petlje.
Java Petlje i logika - 1.
Programiranje u VB Uvod
Random Number Generation
Quick Basic.
Petlje FOR - NEXT.
REPEAT…UNTIL Naredbe ciklusa.
Programi,Podaci,Varijable,Računanje - 2
PROGRAMSKE PETLJE Milenković Gabrijela.
Објектно орјентисано програмирање
Europski dan programiranja
RAZGRANATA STRUKTURA Zadaci i rešenja
Elektrotehnički fakultet – Podgorica Operativni sistemi
Arrays and strings -1 (nizovi i znakovni nizovi)
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Naredba Case Višestruko grananje.
UPOTREBA RAČUNALA U PSIHOLOGIJI Ak. god. 2018/19 Doc. Dr. sc
MessageBox.
KORELACIJSKA I REGRESIJSKA ANALIZA
Starting Out with C++: From Control Structures through Objects
اصول کامپیوتر ۱ مبانی کامپیوتر و برنامه‌سازی
Programski jezik C++ - Vježbe - 2. dio
PROGRAMSKI JEZIK PASCAL
Visual Basic – Prvi primjer
Osnovni simboli jezika Pascal
Razvojne okoline Kolegij: Programski jezik C++ Ak. god. 2017/2018
FAKULTET KEMIJSKOG INŽENJERSTVA I TEHNOLOGIJE
Do While ... Loop struktura
Objektno-orijentirano programiranje
Programiranje – Small Basic
Kontrola toka programa
Programiranje - Uvod - Kolegij: Programski jezik C++
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Strukture podataka i algoritmi 5. VRIJEME IZVRŠAVANJA ALGORITMA
Nizovi.
C++ WORKSHOP Šimec Tino - FOI.
Naredbe u php-u.
Programski jezik C++ - Vježbe - 5. dio
Programski jezik Python
Vježba- grananje-naredba if
Programiranje - Naredbe za kontrolu toka programa – 1. dio
INPUT, PRINT P1 PMF Split.
Programski jezik C++ - Vježbe - 4. dio
Naredbe u php-u.
Vježbanje.
Programiranje - Naredbe za kontrolu toka programa – 3. dio
Programski jezik C++ - Vježbe - 1. dio
LimeSurvey Uvjetni prikaz pitanja Internetska istraživanja
(Dreaded) Quiz 2 Next Monday.
Programming Strings.
Ponavljanje Pisana provjera
EUROPSKI TJEDAN PROGRAMIRANJA-LOGO
INTERPOLACIJA PO DIJELOVIMA POLINOMIMA
Vježbenica 2: struktura grananja – 2.dio
Programiranje - Osnovni tipovi podataka i operatori -
Uvjetne petlje.
Višestruko grananje.
Programski jezik C++ - Vježbe - 2. dio
Programiranje1 ALGORITMI 1. Programiranje2Algoritam Precizno opisan način rješenja nekog problema Jednoznačno određuje što treba napraviti Kao ishod algoritma.
Presentation transcript:

Programiranje - Naredbe za kontrolu toka programa – 1. dio Kolegij: Programski jezik C++ Ak. god. 2018/19 Izv. Prof. Dr. Sc. Marko Maliković

Grananje toka programa naredbom if Prvi oblik naredbe if: if (logicki_izraz) { blok_naredbi } Ako je vrijednost izraza logicki_izraz jednak: true – onda se izvodi blok_naredbi false – onda se blok_naredbi preskače i izvođenje programa se nastavlja od prve naredbe iza bloka

Grananje toka programa naredbom if Iako se u slučaju samo jedne naredbe u bloku naredbi vitičaste zagrade mogu izostaviti, ipak se preporučuju stavljati: if (a >= 0) { korijen = sqrt(a); }

Primjer: Dijeljenje s nulom Ako se u kôdu pojavi dijeljenje s nulom, program će se “srušiti” Rješenje je prije naredbe u kojoj može doći do dijeljenja s nulom umetnuti ispitivanje i omogučiti tu operaciju samo ako je nazivnik različit od nule: if (nazivnik!=0) { rezultat = brojnik/nazivnik; }

Grananje toka programa naredbom if Drugi oblik naredbe: if (logicki_izraz) {blok_naredbi_1} else {blok_naredbi_2} Ako je vrijednost izraza logicki_izraz jednaka true - izvodi se blok_naredbi_1 false – izvodi se blok_naredbi_2 if (a < 0) {cout << "Broj je negativan!" << endl;} {cout << "Broj je pozitivan ili nula!" << endl;}

Primjer: Dijeljenje s nulom if (nazivnik!=0) { rezultat = brojnik/nazivnik; } else cout << "Ne smijete dijeliti s 0!";

Nadovezivanje if naredbi if (logicki_izraz_1) {prvi_blok_naredbi} else if (logicki_izraz_2) {drugi_blok_naredbi} if (logicki_izraz_3) {treci_blok_naredbi} ... else {n_ti_blok_naredbi}

Nadovezivanje if naredbi int a; cin >> a; if (a < 0) { cout << "Broj je negativan!" << endl; } else if (a > 0) cout << "Broj je pozitivan!" << endl; cout << "Broj je jednak nuli!" << endl;

Primjer - Program za rješavanje kvadratne jednadžbe #include <iostream> #include <cmath> using namespace std; int main() { double a, b, c; cout << "Unesi koeficijente kvadratne jednadzbe:" << endl; cout << "a = "; cin >> a; cout << "b = "; cin >> b; cout << "c = "; cin >> c; double diskriminanta = b * b - 4. * a * c; if (diskriminanta == 0) cout << "Jednadzba ima dva jednaka realna rjesenja:" << endl << endl; cout << "x = " << -b/(2*a) << endl; } else if (diskriminanta > 0) cout << "Jednadzba ima dva razlicita realna rjesenja:" << endl << endl; cout << "x1 = " << (-b+sqrt(pow(b,2)-4*a*c))/(2*a) << endl; cout << "x2 = " << (-b-sqrt(pow(b,2)-4*a*c))/(2*a) << endl; cout << "Jednadzba ima dva razlicita kompleksna rjesenja:" << endl << endl; cout << "x1 = " << -b/(2*a) << "+i*" << sqrt(abs(pow(b,2)-4*a*c))/(2*a) << endl; cout << "x2 = " << -b/(2*a) << "-i*" << sqrt(abs(pow(b,2)-4*a*c))/(2*a) << endl; return 0; Deklaracije i unos varijabli Blok koji se izvodi ako je diskriminanta jednaka 0 Blok koji se izvodi ako je diskriminanta veća od 0 Blok koji se izvodi ako je diskriminanta manja od 0

Ugnježđivanje naredbi if if (logicki izraz 1) { naredbe; if (logicki izraz 2) ... } else naredbe;

Što će ispisati: if (6<5) if (5<6) cout << "1"; else Ispisati će broj 3

Što će ispisati: if (6<5) if (5<6) cout << "1"; else Neće ispisati ništa! Što to znači?

Dakle, na koji if se odnosi else: if (uvjet1) if (uvjet2) cout << "1"; else cout << "2";

Dakle, trebalo bi pisati ovako: if (uvjet1) if (uvjet2) cout << "1"; else cout << "2";

Opasnost (== a ne =) #include <iostream> #include <conio.h> using namespace std; int main() { float x; cout << "x = "; cin >> x; if (x=0) cout << "Hmm,..."; } else cout << "Hmm, Hmm,..."; getch(); return 0; Program se izvodi ali neispravno! Uvijek se ispisuje "Hmm, Hmm,…" - bez obzira na vrijednost x Neki prevoditelji javljaju samo upozorenje ali ne i grešku Neki prevoditelji ne javljaju ni upozorenje