Отпремање презентације траје. Молимо да сачекате

Отпремање презентације траје. Молимо да сачекате

Vježbenica 2: struktura grananja – 1.dio

Сличне презентације


Презентација на тему: "Vježbenica 2: struktura grananja – 1.dio"— Транскрипт презентације:

1 Vježbenica 2: struktura grananja – 1.dio

2 Primjer 33 Treba unijeti dva realna broja i jedan od 4 osnovna aritmetička operatora. Ovisno o unesenom operatoru, program računa i ispisuje rezultat koji se dobije kada se odabrani operator primijeni na unesene brojeve. Unesi prvi broj: Unesi drugi broj: Unesi zeljeni aritmeticki operator: … … … = … ili To nije jedan od cetiri osnovna aritmeticka operatora. Sanda, 2019.

3 Sanda, 2019.

4 #include<iostream> #include<cmath> using namespace std;
Sanda, 2019. #include<iostream> #include<cmath> using namespace std; int main() { float a,b; char c; cout<<"Unesi prvi broj:"; cin>>a; cout<<"Unesi drugi broj:"; cin>>b; cout<<"Unesi zeljeni aritmeticki operator:"; cin>>c;

5 Sanda, 2019. if(c=='+') cout<<endl<<a<<c<<b<<"="<<a+b<<endl; else if(c=='-') cout<<endl<<a<<c<<b<<"="<<a-b<<endl; else if(c=='*') cout<<endl<<a<<c<<b<<"="<<a*b<<endl; else if(c=='/') cout<<endl<<a<<c<<b<<"="<<a/b<<endl; else cout<<endl<<"To nije jedan od cetiri osnovna \ aritmeticka operatora"<<endl; return 0; }

6 Primjer 33 Provjera programa: Sanda, 2019.

7 Primjer 34 Treba unijeti tri realna broja pa pronaći i ispisati najmanji. Upisi prvi broj : Upisi drugi broj : Upisi treci broj: Ako se upisu brojevi: ..., ... i ... najmanji od njih je ... Sanda, 2019.

8 Primjer 34 Napomena: Jedan od mogućih načina rješenja ovog problema je uvođenje pomoćne varijable min u koju se na početku sprema prvi broj. Preostali se brojevi uspoređuju sa sadržajem pomoćne varijable. Ako je neki od brojeva manji od sadržaja varijable min, privremeno se pohranjuje u min. Sanda, 2019.

9 Primjer 34 Sanda, 2019.

10 #include<iostream> using namespace std; int main() {
Sanda, 2019. #include<iostream> using namespace std; int main() { float a,b,c,min; cout<<"Upisi prvi broj:"; cin>>a; cout<<"Upisi drugi broj:"; cin>>b; cout<<"Upisi treci broj:"; cin>>c; min=a; if (b<min) min=b; } if (c<min) min=c; cout<<"Ako se upisu brojevi: "<<a<<", " <<b<<" i " <<c<<" najmanji od njih je "<<min; return 0;

11 Primjer 34 Provjera programa: Sanda, 2019.

12 Primjer 35 Treba unijeti tri realna broja pa ih ispisati od najmanjeg ka najvećem. Upisi prvi broj : Upisi drugi broj : Upisi treci broj: Brojevi: ..., ... i ... poredani od najmanjeg ka najvecem: ..., ..., ... Sanda, 2019.

13 Primjer 35 Problem se može riješiti tako da se pronađu najveći i najmanji broj po ugledu na prethodni primjer. Kod traženja srednjeg broja polazi se npr. od pretpostavke da srednji broj mora biti različit i od najmanjeg i od najvećeg broja (koristit će se logički operator I (&&) i operator uspoređivanja različito (!=) ). ili SR = A + B + C - MIN - MAX Sanda, 2019.

14 Primjer 35 Sanda, 2019.

15 Primjer 35 Sanda, 2019.

16 #include<iostream> using namespace std; int main() {
Sanda, 2019. #include<iostream> using namespace std; int main() { float a,b,c,min,mid,max; cout<<"Upisi prvi broj:"; cin>>a; cout<<"Upisi drugi broj:"; cin>>b; cout<<"Upisi treci broj:"; cin>>c; min=a; if (b<min) min=b; } if (c<min) min=c;

17 if ((b!=max)&&(b!=min)) mid=b; if ((c!=max)&&(c!=min)) mid=c;
Sanda, 2019. max=a; if (b>max) { max=b; } if (c>max) max=c; mid=a; if ((b!=max)&&(b!=min)) mid=b; if ((c!=max)&&(c!=min)) mid=c; cout<<"Brojevi: "<<a<<", "<<b<<" i "<<c <<" poredani od najmanjeg ka najvecem:"<<endl; cout<<min<<", "<<mid<<", "<<max<<endl; return 0;

18 Primjer 35 Provjera programa: Sanda, 2019.

19 Primjer 36 Koordinate tocke A : x1= y1= Koordinate tocke B : x2= y2= Koordinate tocke C : x3= y3= Udaljenost tocaka A i B je … Udaljenost tocaka A i C je … Udaljenost tocaka B i C je … Trokut je jednakokračan. ili Trokut nije jednakokračan. Treba unijeti koordinate tri točke u ravnini. Program provjerava i ispisuje je li trokut čije su ove točke vrhovi, jednakokračan. Sanda, 2019.

20 Primjer 36 Sanda, 2019.

21 Primjer 36 Sanda, 2019.

22 #include<iostream> #include<cmath> using namespace std;
Sanda, 2019. #include<iostream> #include<cmath> using namespace std; int main() { float x1,y1,x2,y2,x3,y3,dAB,dAC,dBC; cout<<"Koordinate tocke A:"<<endl; cout<<"x1= "; cin>>x1; cout<<"y1= "; cin>>y1; cout<<"Koordinate tocke B:"<<endl; cout<<"x2= "; cin>>x2; cout<<"y2= "; cin>>y2; cout<<"Koordinate tocke C:"<<endl; cout<<"x3= "; cin>>x3; cout<<"y3= "; cin>>y3;

23 dAB=sqrt(pow((x2-x1),2)+pow((y2-y1),2));
Sanda, 2019. dAB=sqrt(pow((x2-x1),2)+pow((y2-y1),2)); dAC=sqrt(pow((x3-x1),2)+pow((y3-y1),2)); dBC=sqrt(pow((x2-x3),2)+pow((y2-y3),2)); cout<<endl<<"Udaljenost tocaka A i B je "<<dAB<<endl <<"Udaljenost tocaka A i C je "<<dAC<<endl <<"Udaljenost tocaka B i C je "<<dBC<<endl; if((dAB==dAC)||(dAB==dBC)||(dAC==dBC)) { cout<<"Trokut je jednakokracan."<<endl; } else cout<<"Trokut nije jednakokracan."<<endl; return 0;

24 Primjer 36 Provjera programa: Sanda, 2019.

25 Primjer 37 Koordinate tocke A : x1= y1= Koordinate tocke B : x2= y2= Koordinate tocke C : x3= y3= Udaljenost tocaka A i B je … Udaljenost tocaka A i C je … Udaljenost tocaka B i C je … Trokut je jednakokracan. ili Trokut je jednakostranican. Trokut je raznostranican. Treba unijeti koordinate tri točke u ravnini. Program provjerava i ispisuje da li je trokut čije su ove točke vrhovi jednakokračan, jednakostraničan ili raznostraničan. Sanda, 2019.

26 Primjer 37 Sanda, 2019.

27 #include<iostream> #include<cmath> using namespace std;
Sanda, 2019. #include<iostream> #include<cmath> using namespace std; int main() { float x1,y1,x2,y2,x3,y3,dAB,dAC,dBC; cout<<"Koordinate tocke A:"<<endl; cout<<"x1= "; cin>>x1; cout<<"y1= "; cin>>y1; cout<<"Koordinate tocke B:"<<endl; cout<<"x2= "; cin>>x2; cout<<"y2= "; cin>>y2; cout<<"Koordinate tocke C:"<<endl; cout<<"x3= "; cin>>x3; cout<<"y3= "; cin>>y3;

28 dAB=sqrt(pow((x2-x1),2)+pow((y2-y1),2));
Sanda, 2019. dAB=sqrt(pow((x2-x1),2)+pow((y2-y1),2)); dAC=sqrt(pow((x3-x1),2)+pow((y3-y1),2)); dBC=sqrt(pow((x2-x3),2)+pow((y2-y3),2)); cout<<endl<<"Udaljenost tocaka A i B je "<<dAB<<endl <<"Udaljenost tocaka A i C je "<<dAC<<endl <<"Udaljenost tocaka B i C je "<<dBC<<endl; if((dAB==dAC)&&(dAB==dBC)&&(dAC==dBC)) cout<<"Trokut je jednakostranican."<<endl; else if ((dAB==dAC)||(dAB==dBC)||(dAC==dBC)) cout<<"Trokut je jednakokracan."<<endl; else cout<<"Trokut je raznostranican."<<endl; return 0; }

29 Primjer 37 U ovom se zadatku javlja problem provjere rješenja za situaciju jednakostraničnog trokuta. Pri izračunu treće točke trokuta valja se poslužiti formulom za izračun visine tog trokuta. Pošto formula za izračun visine sadrži iracionalni broj (√3/2), program zbog preciznosti izračuna ne može prepoznati jednakostranični trokut. No, ako odaberemo vrlo velike stranice trokuta, pokušat ćemo ga “prevariti”. Primjer na sljedećem slajdu! Sanda, 2019.

30 Primjer 37 Provjera programa: Sanda, 2019.


Скинути ppt "Vježbenica 2: struktura grananja – 1.dio"

Сличне презентације


Реклама од Google