Višestruko grananje.

Slides:



Advertisements
Similar presentations
Zadatak 2. a) Kreirajmo tabelu TRANSAKCIJE koja će pamtiti sve transakcije obavljene na računima korisnika CREATE TABLE `test`.`transakcije` ( `id` INTEGER.
Advertisements

Vježbenica 2: struktura grananja
1.6. Pohrana podataka.
Provisioning Windowsa 10 na IoT, mobilnim i desktop uređajima
Programi zasnovani na prozorima
Uvod u programiranje - matematika – VI predavanje
Petlje WHILE – WEND.
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.
Naredbe ciklusa.
Quick Basic.
Petlje FOR - NEXT.
REPEAT…UNTIL Naredbe ciklusa.
Programi,Podaci,Varijable,Računanje - 2
PROGRAMSKE PETLJE Milenković Gabrijela.
Komponente izbora i kontejnerske komponente
UVOD U C++.
Europski dan programiranja
RAZGRANATA STRUKTURA Zadaci i rešenja
RAZGRANATA STRUKTURA Zadaci i rešenja
Elektrotehnički fakultet – Podgorica Operativni sistemi
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Vježbenica 1.: Pravocrtna programska struktura
Naredba Case Višestruko grananje.
Page Layout Podešavanje stranica.
Element form Milena Kostadinović.
MessageBox.
KORELACIJSKA I REGRESIJSKA ANALIZA
Programski jezik C++ - Vježbe - 2. dio
PROGRAMSKI JEZIK PASCAL
Visual Basic – Prvi primjer
Osnovni simboli jezika Pascal
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.
Python „Technology and social media have brought power back to the people” Mark McKinnon.
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
Programski jezik C++ - Vježbe - 4. dio
Naredbe u php-u.
Vježbanje.
Programiranje - Naredbe za kontrolu toka programa – 3. dio
Mehanizmi agregacije *.
Programski jezik C++ - Vježbe - 1. dio
LimeSurvey Uvjetni prikaz pitanja Internetska istraživanja
Vježbanje.
Oduzimanje brojeva od 1 do 5.
Ponavljanje Pisana provjera
Vježbanje.
Programiranje - Naredbe za kontrolu toka programa – 1. dio
Introduction to Algorithms and Programming COMP151
Vježbenica 2: struktura grananja – 2.dio
Indeksiranost i citiranost WoS i Scopus
Uvjetne petlje.
Programski jezik C++ - Vježbe - 2. dio
Vježbenica 1b: Pravocrtna programska struktura
Presentation transcript:

višestruko grananje

Višestruko uvjetno grananje Omogućava ispitivanje više uvjeta. Ovisno o ispunjenju postavljenih uvjeta izvodi se odgovarajući blok naredbi. Sanda, 2019.

Višestruko uvjetno grananje Broj postavljenih uvjeta nije ograničen. Sanda, 2019.

Primjer 28 Primjer 26 riješiti višestrukim uvjetnim grananjem. Sanda, 2019.

Primjer 29 Treba upisati prirodni broj pa provjeriti da li je veći ili manji od 100, te da li mu je znamenka jedinice djeljiva s 3. Ako se unese broj manji ili jednak 0, treba ponoviti upis. Ispis neka bude oblika: Upisi prirodan broj: Uneseni broj … je ... od 100, njegova znamenka jedinice ima vrijednost .... Djeljiva je s 3. (ili Nije djeljiva s 3.) ili Pogresan unos. Ponovi! Sanda, 2019.

Primjer 29 Sanda, 2019.

Primjer 29 Sanda, 2019.

#include<iostream> using namespace std; int main() { int a,j,c; Sanda, 2019. #include<iostream> using namespace std; int main() { int a,j,c; upis:cout<<"Upisi prirodni broj:";cin>>a; if(a<=0) cout<<"Pogresan unos. Ponovi!"<<endl; goto upis; } j=a%10; c=j%3; if (a<100) cout<<"Uneseni broj"<<a<<" je manji od 100, njegova" <<endl<<" znamenka jedinice ima vrijednost "<<j;

cout<<endl<<"Unesen je broj 100."<<endl; goto kraj; Sanda, 2019. else if (a>100) { cout<<"Uneseni broj "<<a<<" je veci od 100, njegova" <<endl<<"znamenka jedinice ima vrijednost "<<j; } else cout<<endl<<"Unesen je broj 100."<<endl; goto kraj; if(c==0) cout<<". Djeljiva je s 3."<<endl; cout<<". Nije djeljiva s 3."<<endl; kraj:return 0;

Primjer 29 Provjera programa: Sanda, 2019.

Grananje switch-case Omogućava višestruko grananje koje ovisi o vrijednosti postavljenog uvjeta. Uvjet je cjelobrojan izraz ili cjelobrojna varijabla (izračun cjelobrojnog izraza ili vrijednost cjelobrojne varijable je cijeli broj - cjelobrojna konstanta). Sanda, 2019.

Grananje switch-case Sanda, 2019.

Grananje switch-case Vrijednost se uvjeta uspoređuje s nizom zadanih cjelobrojnih konstanti: konst1, konst2, konst3, itd. Ako je vrijednost uvjeta jednaka nekoj od zadanih konstanti, izvršava se pripadajući blok naredbi. Sanda, 2019.

Grananje switch-case Po izvršenju bloka naredbi (kao primjer uzet je prvi blok), naredba break označava izlaz iz bloka switch‑case. Ako vrijednost uvjeta nije jednaka niti jednoj od ponuđenih konstanti, izvršava se blok naredbi pridružen naredbi default. U slučaju izostavljanja naredbe default program će nastaviti izvršavanje prvom naredbom nakon switch‑case bloka. Sanda, 2019.

Primjer 30 Treba izračunati ukupni otpor za otpore R1 i R2, ovisno o tome da li su spojeni serijski ili paralelno. Za odabir serijskog spoja korisnik upisuje 1, a za paralelu 2. Ako korisnik upiše broj koji nije 1 ili 2 valja ispisati upozorenje. Otpor R1 (u omima): Otpor R2 (u omima): Za serijski spoj otpora upisi 1, a za paralelni 2: Ako se otpori od ... oma i ... oma spoje u ... ukupni je otpor ... oma. ili Pogrešan unos! Unesi 1 ili 2! Sanda, 2019.

Primjer 30 Sanda, 2019.

#include<iostream> Sanda, 2019. #include<iostream> using namespace std; int main() { float R, R1,R2; int unos; cout<<"Otpor R1 (u omima):“;cin>>R1; cout<<"Otpor R2 (u omima):“;cin>>R2; cout<<"Za spoj otpora u seriju upisi 1, a za paralelu 2:"; cin>>unos; switch (unos) case 1: R=R1+R2; cout<<"Ako se otpori od "<<R1<<" oma i "<<R2 <<" oma spoje u seriju ukupni je otpor " <<R<<" oma."<<endl; break;

cout<<"Ako se otpori od "<<R1<<" oma i " Sanda, 2019. case 2: R=(R1*R2)/(R1+R2); cout<<"Ako se otpori od "<<R1<<" oma i " <<R2 <<" oma spoje u paralelu ukupni \ je otpor "<<R<<" oma."<<endl; break; default: cout<<"Pogresan unos. Unesi 1 ili 2"; } return 0;

Primjer 30 Provjera programa: Sanda, 2019.

Primjer 31 Program na osnovu unesenog rednog broja mjeseca ispisuje koliko taj mjesec ima dana. U slučaju unosa broja koji nije iz raspona od 1 do 12 treba ispisati upozorenje. Upisi redni broj mjeseca: ... . mjesec ima 31 dan. ili ... . mjesec ima 30 dana. 2. mjesec ima 28 dana (ili 29 ako je godina prestupna). Ne postoji mjesec s rednim brojem …. Sanda, 2019.

Primjer 31 Zadatak se rješava switch - case naredbom. Uneseni broj je uvjet koji se provjerava naredbom switch. Potrebno je načiniti tri grane (31, 30 i 28 dana). U slučaju unosa broja koji nije iz raspona od 1 do 12 izvršit će se blok naredbi iza naredbe default. Sanda, 2019.

Primjer 31 Sanda, 2019.

#include<iostream> using namespace std; int main() { int i; Sanda, 2019. #include<iostream> using namespace std; int main() { int i; cout<<" Program na osnovu unesenog rednog broja \ mjeseca ispisuje koliko taj mjesec ima dana"<<endl; cout<<"Upisi redni broj mjeseca: "; cin>>i;

cout<<i<<". mjesec ima 30 dana."<<endl; break; Sanda, 2019. switch (i) { case 4: case 6: case 9: case 11: cout<<i<<". mjesec ima 30 dana."<<endl; break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: cout<<i<<". mjesec ima 31 dan."<<endl; case 2: cout<<i<<". mjesec ima 28 dana (ili 29 ako \ je godina prestupna)."<<endl; default: cout<<"Ne postoji mjesec s rednim brojem "<<i; } return 0;

Sanda, 2019.

Primjer 32 Program na osnovu unesenih vrijednosti stranica trokuta računa opseg ili površinu trokuta, ovisno o želji korisnika. Prije proračuna treba provjeriti da li su unesene vrijednosti doista stranice trokuta. Ako nisu, po upisu upozorenja treba ponoviti unos. Za izračun opsega upisuje se 1, a za površinu 2. Ako se unese vrijednost koja nije 1 ili 2, po upisu upozorenja treba ponoviti unos. Sanda, 2019.

Primjer 32 a= b= c= Za izracun opsega upisi 1, a za izracun povrsine 2: Opseg trokuta je O= .... ili Povrsina trokuta je P= ... To nisu stranice trukuta! Ponovi upis! Pogresan unos! Valja unijeti 1 ili 2! Sanda, 2019.

Primjer 32 Da bi unesene vrijednosti bile stranice trokuta, trebaju biti zadovoljeni uvjeti: Površina se računa po Heronovoj formuli: Sanda, 2019.

Sanda, 2019.

Sanda, 2019.

#include<iostream> #include<cmath> using namespace std; Sanda, 2019. #include<iostream> #include<cmath> using namespace std; int main() { cout<<"Program na osnovu unesenih vrijednosti \ stranica trokuta racuna opseg ili povrsinu, ovisno\ o zelji korisnika"<<endl; float a,b,c,o,p,p1,pov; int i; upis:cout<<"a = "; cin>>a; cout<<"b = "; cin>>b; cout<<"c = "; cin>>c;

if((a+b<=c)||(b+c<=a)||(c+a<=b)) { Sanda, 2019. if((a+b<=c)||(b+c<=a)||(c+a<=b)) { cout<<" Unesene vrijednosti nisu stranice trokuta." <<endl; goto upis; } odabir:cout<<"Za izracun opsega upisi 1, za povrsinu 2:"; cin>>i; switch(i) case 1: o=a+b+c; cout<<"Opseg trokuta je O= "<<o<<endl; break;

cout<<"Povrsina se racuna po Heronovoj formuli"; p=(a+b+c)/2; Sanda, 2019. case 2: cout<<"Povrsina se racuna po Heronovoj formuli"; p=(a+b+c)/2; p1=p*((p-a)*(p-b)*(p-c)); pov=sqrt(p1); cout<<" Povrsina trokuta je P= "<<pov<<endl; break; default: cout<<" Pogresan unos. Valja unijeti 1 ili 2! " <<endl; goto odabir; } return 0;

Primjer 32 Provjera programa: Sanda, 2019.