Vježbenica 1b: Pravocrtna programska struktura

Slides:



Advertisements
Similar presentations
Template Implicit function overload. Function overload Function overload double ssqq(double & a, double & b) { return(a*b);} float ssqq(float & a, float.
Advertisements

Intro. to Computer Programming Eng. Nehal A. Mohamed Spring Semester-2016.
Math Library and IO formatting
Vježbenica 2: struktura grananja
Petlje WHILE – WEND.
ZADACI ZA VJEŽBU struktura grananja
Algoritamske/programske strukture
Programiranje - Blokovi naredbi i logički tipovi –
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Struktura petlje.
CheckBox RadioButton RadioGroup
Naredbe ciklusa.
IF NAREDBA – naredba grananja
Quick Basic.
Petlje FOR - NEXT.
Programi,Podaci,Varijable,Računanje - 2
(Trikovi lakšeg računanja) 
KREIRANJE OBJEKATA.
What’s the time? (Koliko je sati?)
1.1. (A) Koordinatna grafika
1.1. (A) Koordinatna grafika
RAZGRANATA STRUKTURA Zadaci i rešenja
Arrays and strings -2 (nizovi i znakovni nizovi)
Elementi programskog jezika PASCAL
Pre-definirane (ugradjene) MATLAB Funkcije
Arrays and strings -1 (nizovi i znakovni nizovi)
Tipovi podataka.
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Struktura MAC adrese i Ethernet okvira
Vježbenica 1.: Pravocrtna programska struktura
MessageBox.
DISKRETNI DINAMIČKI SUSTAVI –LOGISTIČKI MODEL -KAOS-
Jedinice i desetice.
Ključne reči,identifikatori, konstante i promenljive
Programski jezik C++ - Vježbe - 2. dio
PROGRAMSKI JEZIK PASCAL
Visual Basic – Prvi primjer
Osnovni simboli jezika Pascal
Do While ... Loop struktura
TEST II razredi.
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.
Fakultet elektrotehnike i računarstva
Naredbe u php-u.
SRETNA SEDMICA.
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
Vježbanje.
Programiranje - Naredbe za kontrolu toka programa – 3. dio
Programski jezik C++ - Vježbe - 1. dio
Vježbanje.
Oduzimanje brojeva od 1 do 5.
Introduction to Algorithms and Programming
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
Uvjetne petlje.
Višestruko grananje.
Programski jezik C++ - Vježbe - 2. dio
Presentation transcript:

Vježbenica 1b: Pravocrtna programska struktura

Matematičke funkcije Korisniku na raspolaganju stoji mnoštvo funkcija razvrstanih u odgovarajuće biblioteke. Većina matematičkih funkcija deklarirana je u biblioteci cmath. Biblioteka cmath se u program uključuje pretprocesorskom naredbom #include. Sanda, 2019.

abs(x) ceil(x) floor(x) trunc(x) round(x) sqrt(x) Deklaracija funkcije Opis abs(x) Vraća apsolutnu vrijednost realnog broja x ceil(x) Zaokružuje realni broj x na najbliži veći cijeli broj. floor(x) Zaokružuje realni broj x na najbliži manji cijeli broj. trunc(x) Odbacuje decimalni dio realnog broja x. round(x) Zaokružuje realni broj x po matematičko pravilu. sqrt(x) Računa drugi korijen realnog broja x Sanda, 2019.

fmod(djeljenik,djelitelj) Deklaracija funkcije Opis sin(x) Računa sinus argumenta x (x je kut zadan u radijanima) atan(x) Računa kut u radijanima. pow(baza, eksponent) Bazu potencira na zadani eksponent. fmod(djeljenik,djelitelj) Računa ostatak dijeljenja dvaju realnih brojeva Sanda, 2019.

Primjer 14 Treba unijeti koordinate točaka A i B, pa izračunati njihovu udaljenost u koordinatnom sustavu. Koordinate tocke A : x1= y1= Koordinate tocke B : x2= y2= Udaljenost tocaka A(...,...) i B(...,...) je … Sanda, 2019.

Primjer 14 Udaljenost točaka A(x1,y1) i B(x2,y2) u koordinatnom sustavu može se izračunati s pomoću formule: Sanda, 2019.

uporaba matematičkih funkcija Sanda, 2019.

#include<iostream> #include<cmath> using namespace std; Sanda, 2019. #include<iostream> #include<cmath> using namespace std; int main() { float x1,y1,x2,y2,pom,d; 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;

pom=pow((x2-x1),2)+pow((y2-y1),2); d=sqrt(pom); Sanda, 2019. pom=pow((x2-x1),2)+pow((y2-y1),2); d=sqrt(pom); cout<<"Udaljenost tocaka A("<<x1<<","<<y1<<") i B(" <<x2<<","<<y2<<") je "<<d<<endl; return 0; }

Primjer 14 Provjera programa: Sanda, 2019.

Primjer 15 U pravokutnom je trokutu poznat kut alfa (izražen u stupnjevima) i kateta a (u cm). Treba izračunati vrijednost hipotenuze c. Unesi vrijednost kuta alfa u stupnjevima: Unesi vrijednost katete a: Ako je vrijednost kuta alfa ... stupnjeva, a vrijednost katete a= ... cm, hipotenuza ima vrijednost c= ... cm. Sanda, 2019.

kut u radijanima= (kut u stupnjevima*PI/180). Primjer 15 Za izračun hipotenuze koristi se funkcija sin(x). Vrijednost kuta treba biti zadana u radijanima. Stoga, vrijednost kuta treba iz stupnjeva pretvoriti u radijane: kut u radijanima= (kut u stupnjevima*PI/180). Sanda, 2019.

Sanda, 2019.

#include<iostream> #include<cmath> using namespace std; Sanda, 2019. #include<iostream> #include<cmath> using namespace std; int main() { float kutalfa,a,c,kutalfa1; const double PI=3.14; cout<<"Unesi vrijednost kuta alfa u stupnjevima: "; cin>>kutalfa; cout<<"Unesi vrijednost katete a: "; cin>>a;

kutalfa1=kutalfa*PI/180; c=a/sin(kutalfa1); Sanda, 2019. kutalfa1=kutalfa*PI/180; c=a/sin(kutalfa1); cout<<endl<<"Ako je vrijednost kuta alfa " <<kutalfa <<" stupnjeva, a vrijednost katete a="<<a <<" cm, hipotenuza ima vrijednost c="<<c<<" cm. "; return 0; }

Primjer 15 Provjera programa: Sanda, 2019.

Primjer 16 Čamac vozi brzinom vc okomito na tok rijeke koja teče brzinom vr. Kojom brzinom se giba čamac u odnosu na obalu? Za koji kut će čamac skrenuti sa svoje putanje? Unesi brzinu camca u m/s: Unesi brzinu rijeke u m/s: Ako je brzina rijeke ... m/s a brzina camca ... m/s, camac se u odnosu na obalu giba brzinom ... m/s. Camac je skrenuo sa svoje putanje za ... stupnjeva. Sanda, 2019.

kut u stupnjevima= (kut u radijanima*180/PI). Primjer 16 Brzinu kojom se giba čamac u odnosu na obalu lako je izračunati po Pitagorinom teoremu. Za izračun kuta za koji će čamac skrenuti sa svoje putanje koristi se funkcija atan (x). Funkcija vraća vrijednost u radijanima. Ako se želi rezultat prikazati u stupnjevima, treba: kut u stupnjevima= (kut u radijanima*180/PI). Sanda, 2019.

Sanda, 2019.

#include<iostream> #include<cmath> using namespace std; Sanda, 2019. #include<iostream> #include<cmath> using namespace std; int main() { float vc,vr,v,kut; const double PI=3.14159265; cout<<"Unesi brzinu camca u m/s: "; cin>>vc; cout<<"Unesi brzinu rijeke u m/s: "; cin>>vr;

v=sqrt(pow(vc,2)+pow(vr,2)); kut=atan(vr/vc); kut=kut*180/PI; Sanda, 2019. v=sqrt(pow(vc,2)+pow(vr,2)); kut=atan(vr/vc); kut=kut*180/PI; cout<<endl<<"Ako je brzina rijeke "<<vr<<" m/s, a\ brzina camca "<<vc<<" m/s camac se u odnosu na\ obalu giba brzinom "<<v<<" m/s."<<endl; cout<<endl<<"Camac je skrenuo sa svoje putanje za " <<kut<<" stupnjeva."<<endl; return 0; }

Primjer 16 Provjera programa: Sanda, 2019.

Primjer 17 Treba unijeti vrijeme u sekundama a zatim izračunati koliko je to sati, minuta i sekundi. Ispis neka bude oblika: Upisi vrijeme u sekundama: ...sekundi je ...sati, ....minuta i ....sekundi. Sanda, 2019.

Primjer 17 Koristiti operatore cjelobrojnog i modularnog dijeljenja. Npr.: 3666 / 3600 = 1 cijeli 3666 % 3600 = 66 ostatka 66 / 60 = 1 cijeli 66 % 60 = 6 ostatka Sanda, 2019.

Primjer 17 Sanda, 2019.

#include<iostream> using namespace std; int main() { Sanda, 2019. #include<iostream> using namespace std; int main() { int s, sek, min, sat, ostatak; cout<<"Upisi vrijeme u sekundama:"; cin>>s; sat=s/3600; ostatak=s%3600; min=ostatak/60; sek=ostatak%60; cout<<s<<" sekundi je "<<sat<<" sati, "<<min <<" minuta i "<<sek<<" sekundi."<<endl; return 0; }

Primjer 17 Provjera programa s podacima za koje je unaprijed poznat krajnji rezultat. Sanda, 2019.

Primjer 18 Treba unijeti troznamenkasti broj. Program stvara novi troznamenkasti broj u kome je znamenka desetice prvog broja na mjestu stotice drugog broja, znamenka jedinice prvog broja na mjestu desetice drugog broja, a znamenka stotice prvog broja na mjestu jedinice drugog broja (npr. 123 će postati 231). Brojeve treba zbrojiti. Upisi troznamenkasti broj: Novi troznamenkasti broj je: Zbroj broja … i broja … iznosi … . Sanda, 2019.

Primjer 18 Sanda, 2019.

#include<iostream> using namespace std; int main () { Sanda, 2019. #include<iostream> using namespace std; int main () { int b1,j1,d1,s1,b2,j2,d2,s2,z; cout<<"Upisi troznamenkasti broj: "; cin>>b1; j1=b1%10; d1=(b1/10)%10; s1=b1/100; b2=d1*100+j1*10+s1; z=b1+b2; cout<<endl<<"Novi troznamenkasti broj je: " <<b2<<endl <<"Zbroj broja "<<b1<<" i broja "<<b2 <<" iznosi "<<z<<endl; return 0; }

Primjer 18 Provjera programa s podacima za koje je unaprijed poznat krajnji rezultat. Sanda, 2019.

Primjer 19 Treba izračunati koliko bi vremena bilo potrebno zvuku da prevali razmak između dva mjesta ako taj isti razmak svjetlost prevali za t sekundi. Ispis neka bude oblika: Upisi vrijeme u sekundama: Svjetlost prevali razmak izmedju dva mjesta za ...s, a zvuk je sporiji pa mu za isti razmak treba...s. Sanda, 2019.

Primjer 19 Brzina svjetlosti c=3e+8 m/s Brzinu zvuka v=340 m/s. Put je isti! Gibanje je jednoliko! Sanda, 2019.

Primjer 19 Sanda, 2019.

#include<iostream> using namespace std; int main() { Sanda, 2019. #include<iostream> using namespace std; int main() { float t,s,tz; const double c=3e+8; const double v=340; cout<<"Upisi vrijeme (u sek):"; cin>>t; s=c*t; tz=s/v; cout<<"Svjetlost prevali razmak izmedju dva\ mjesta za "<<t<<" s, a zvuk je sporiji\ pa mu za isti razmak treba "<<tz <<" sekundi."<<endl; return 0; }

Primjer 19 Provjera programa s podacima za koje je unaprijed poznat krajnji rezultat. Sanda, 2019.