Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


C++: Zadaci programske strukture, Vežbe od Informatika

Zadaci iz programske strukture

Tipologija: Vežbe

2014/2015

Učitan datuma 30.04.2015.

dcrnovcic
dcrnovcic 🇸🇷

4.5

(4)

4 dokumenti

1 / 43

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
Zadaci –programska struktura
1. Potrebno je izračunati srednju vrijednost po volji izabrana četiri realna broja. Ispis neka
bude oblika:
Unesi cetiri realna broja:
Srednja vrijednost brojeva ...., ...., .... i .... je ......
#include<iostream>
using namespace std;
int main()
{
float a,b,c,d,srvr;
cout<<"Unesi cetiri realna broja"<<endl;
cin>>a>>b>>c>>d;
srvr=(a+b+c+d)/4;
cout<<endl<<"Srednja vrijednost brojeva:";
cout<<endl<<a<<", "<<b<<", "<<c<<" i "<<d<<" je
"<<srvr<<endl;
return 0;
}
2. Potrebno je unijeti cijeli broj, a zatim mu unarnim operatorom promijeniti predznak. Ispis
neka bude oblika:
Unesi broj:
Kada se broju .... promijeni predznak, on postaje ....
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"Unesi broj:";
cin>>a;
cout<<endl<<"Kada se broju "<<a<<" promijeni predznak, on
postaje "<<-a<<endl;
return 0;
}
3. Potrebno je unijeti broj i pridružiti ga varijabli A. Sadržaj varijable prvo treba uvećati za 5,
pa umanjiti za 8, na kraju pomnožiti s 3. Zadatak riješiti uporabom operatora obnavljajućeg
pridruživanja. Ispis neka bude oblika:
Upisi zeljeni broj:
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b

Delimični pregled teksta

Preuzmite C++: Zadaci programske strukture i više Vežbe u PDF od Informatika samo na Docsity!

Zadaci –programska struktura

  1. Potrebno je izračunati srednju vrijednost po volji izabrana četiri realna broja. Ispis neka bude oblika:

Unesi cetiri realna broja: Srednja vrijednost brojeva ...., ...., .... i .... je ......

#include using namespace std; int main() { float a,b,c,d,srvr; cout<<"Unesi cetiri realna broja"<<endl; cin>>a>>b>>c>>d; srvr=(a+b+c+d)/4; cout<<endl<<"Srednja vrijednost brojeva:"; cout<<endl<<a<<", "<<b<<", "<<c<<" i "<<d<<" je "<<srvr<<endl; return 0; }

  1. Potrebno je unijeti cijeli broj, a zatim mu unarnim operatorom promijeniti predznak. Ispis

neka bude oblika:

Unesi broj:

Kada se broju .... promijeni predznak, on postaje ....

#include using namespace std; int main() { int a; cout<<"Unesi broj:"; cin>>a; cout<<endl<<"Kada se broju "<<a<<" promijeni predznak, on postaje "<<-a<<endl; return 0; }

  1. Potrebno je unijeti broj i pridružiti ga varijabli A. Sadržaj varijable prvo treba uvećati za 5,

pa umanjiti za 8, na kraju pomnožiti s 3. Zadatak riješiti uporabom operatora obnavljajućeg

pridruživanja. Ispis neka bude oblika:

Upisi zeljeni broj:

Sadrzaj varijable A se uvecava za 5. Sada A iznosi: ....

Od trenutnog sadrzaja varijable A se oduzima 8. Sada A iznosi: ....

Trenutacni sadrzaj varijable A se mnozi s 3. Sada A iznosi: ....

#include using namespace std; int main() { float A; cout<<"Upisi zeljeni broj:"; cin>>A; cout<<"Sadrzaj varijable A se uvecava za 5. Sada A iznosi: "<<(A+=5)<<endl; cout<<"Od trenutnog sadrzaja varijable A se oduzima 8. Sada A iznosi: "<<(A-=8)<<endl; cout<<"Trenutni sadrzaj varijable A se mnozi sa 3.Sada A iznosi: "<<(A*=3)<<endl; return 0; }

  1. Zadatak je primjer svođenja rezultata na zajednički tip s operandima. Treba izračunati

kvocijent dvaju cijelih brojeva i spremiti ga u realnu varijablu. Ispis neka bude oblika:

Unesi prvi broj:

Unesi drugi broj:

Kvocijent iznosi: ....

#include using namespace std; int main() { int a,b; float kvocijent; cout<<"Unesi prvi broj:"; cin>>a; cout<<"unesi drugi broj:"; cin>>b; kvocijent=a/b; cout<<"kvocijent iznosi:"<<kvocijent<<endl; return 0; }

  1. Zadatak je primjer svođenja operanada na zajednički tip. Treba izračunati kvocijent dva

broja od kojih je jedan cijeli, a drugi realan. Rezultat spremiti u cjelobrojnu varijablu

kvocijent. Ispis neka bude oblika:

Unesi prvi broj:

Upisi duljinu zice (u m):

Bakrena zica duljine ... m i presjeka ... mm2 ima otpor ... oma.

#include using namespace std; int main() { float promjer,l,r,s,otpor; const double PI=3.14; const double ro=0.0175; cout<<"Upisi promjer zice (u mm):"; cin>>promjer; cout<<endl<<"Upisi duljinu zice (u m):"; cin>>l; r=promjer/2; s=rrPI; otpor=ro*l/s; cout<<endl<<"Bakrena zica duljine "<<l<<" m i presjeka " <<s<<" mm2 ima otpor"; cout<<otpor<<" oma."<<endl; return 0; }

  1. Tijelu mase m kilograma promijeni se za t sekundi brzina s v1 na v2 m/s. Treba izračunati

silu koja je djelovala na tijelo. Ispis neka bude oblika:

Upisi masu tijela (u kg):

Upisi vrijeme (u s):

Upisi pocetnu brzinu (u m/s):

Upisi konacnu brzinu (u m/s):

Na tijelo je djelovala sila od ... N.

#include using namespace std; int main() { float m,t,v1,v2,a,F; cout<<"Upisi masu tijela (u kg):"; cin>>m; cout<<"Upisi vrijeme (u s):"; cin>>t; cout<<"Upisi pocetnu brzinu (u m/s):"; cin>>v1; cout<<"Upisi konacnu brzinu (u m/s):"; cin>>v2;

a=(v2-v1)/t; F=m*a; cout<<endl<<"Na tijelo je djelovala sila od "<<F<<" N."<<endl; return 0;

  1. 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.

#include 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; }

  1. Tijelo mase m kilograma pada s visine h metara brzinom v m/s. Kolika je ukupna energija

tijela. Ispis neka bude oblika:

Upisi masu tijela (u kg):

Upisi visinu (u m):

Upisi brzinu (u m/s):

Tijelo ima ... J kineticke energije i ... J potencijalne energije, sto daje ukupnu energiju od ... J.

#include using namespace std; int main() { const double g=9.81; float m,h,v,Ep,Ek,Euk; cout<<"Upisi masu tijela (u kg):"; cin>>m; cout<<"Upisi visinu (u m):"; cin>>h;

#include using namespace std; int main() { float U,R1,R2,R3,R,I; cout<<"U (V)= "; cin>>U; cout<<endl<<"R1 (om)= "; cin>>R1; cout<<endl<<"R2 (om)= "; cin>>R2; cout<<endl<<"R3 (om)= "; cin>>R3; R=R1+R2+R3; I=U/R; cout<<endl<<"Ukupni otpor R iznosi "<<R<<" oma."<<endl; cout<<endl<<"Jakost struje I iznosi "<<I<<" A."<<endl; cout<<endl<<"Pad napona U1 je "<<IR1<<" V."<<endl; cout<<"Pad napona U2 je "<<IR2<<"V."<<endl; cout<<"Pad napona U3 je "<<I*R3<<"V."<<endl; return 0; }

  1. Jedan vlak kreće iz mjesta A prema mjestu B brzinom v1 km/h, a drugi, istodobno, u

obrnutom smjeru brzinom v2 km/h. Mjesta A i B su međusobno udaljena s kilometara.

Izračunati udaljenost od mjesta A na kome će se vlakovi susresti i trenutak kad će se to

dogoditi. Ispis neka bude oblika:

Upisi brzinu prvog vlaka (u km/h):

Upisi brzinu drugog vlaka (u km/h):

Upisi udaljenost izmedju dva mjesta (u km):

Susret ce se dogoditi nakon .... km. Preostali dio puta je .... km (vrijedi za prvi vlak, za drugi

su iznosi obrnuti).

Vlakovi ce se susresti nakon .... sati.

#include using namespace std; int main() { float v1, v2, udaljenost; float put1, put2, vrijeme; cout<<"Upisi brzinu prvog vlaka (u km/h):"; cin>>v1; cout<<"Upisi brzinu drugog vlaka (u km/h):"; cin>>v2; cout<<"Upisi udaljenost izmedju dva mjesta (u km):";

cin>>udaljenost; //put1/brzina1=put2/brzina //udaljenost=put1+put put1=udaljenost*v1/(v1+v2); put2=udaljenost-put1; vrijeme=put1/v1; cout<<"Susret ce se dogoditi nakon "<<put1; cout<<" km. Preostali dio puta je "<<put2; cout<<" km (vrijedi za prvi vlak, za drugi su iznosi obrnuti)."<<endl; cout<<"Vlakovi ce se susresti nakon "<<vrijeme<<" sati."<<endl; return 0; }

  1. Na stolici mase Ms kilograma sjedi čovjek mase Mc kilograma. Koliki je tlak na tlo ako

stolica ima četiri noge. Presjek svake od noga je kvadrat sa stranicama X centimetara. Ispis

neka bude oblika:

Upisi masu stolice u kg:

Upisi masu covjeka u kg:

Unesi vrijednost stranice kvadrata u cm:

Tlak kojim covjek mase ... kg, koji sjedi na stolici mase ... kg, djeluje na tlo je ... paskala.

#include using namespace std; int main() { float Mc,Ms,Gs,Gc,X,F,S,s1,p; const double g=9.81; cout<<"Upisi masu stolice u kg:"; cin>>Ms; cout<<"Upisi masu covjeka u kg:"; cin>>Mc; cout<<"Unesi iznos stranice kvadrata u cm:"; cin>>X; Gs=Msg; Gc=Mcg; //ukupna sila koja djeluje na pod F=Gs+Gc; //povrsina presjeka jedne noge stolce s1=XX; //ukupna povrsina na koju djeluje sila S=4s1; S=S/10000; //pretvorba cm2 u m p=F/S; //tlak u paskalima

Elektricno kuhalo koje za ... min moze ... grama vode zagrijati sa ...°C na ...°C ima snagu

od ... vata.

#include using namespace std; int main() { float tmin,m,temp1,temp2,ts,DT,M,Q,P; const double c=4186; //konstanta je izrazena u J/(kgK) cout<<"Upisi vrijeme (u min):"; cin>>tmin; cout<<"Upisi masu vode (u gr):"; cin>>m; cout<<"Upisi pocetnu temperaturu (u °C):"; cin>>temp1; cout<<"Upisi konacnu temperaturu (u °C):"; cin>>temp2; DT=temp2-temp1; //vrijeme treba pretvoriti u sekunde ts=tmin60; //masu treba pretvoriti u kg M=m/1000; //racuna se toplinska energija Q=McDT; //racuna se snaga P=Q/ts; cout<<"Elektricno kuhalo koje za "<<tmin<<" min moze "<<m; cout<<" grama vode zagrijati sa "<<temp1<<"stupnjeva C na "<<temp2; cout<<"stupnjeva C ima snagu od "<<P<<" vata."<<endl; return 0; }

  1. 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 sek):

Svjetlost prevali razmak izmedju dva mjesta za ... s, a zvuk je sporiji pa mu za isti razmak

treba ... s.

#include 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; //racunanje puta s=c*t; tz=s/v; cout<<"Svjetlost prevali razmak izmedju dva mjesta za "<<t; cout<<" s, a zvuk je sporiji pa mu za isti razmak treba "<<tz<<" sekundi."<<endl; return 0; }

Zadaci struktura grananja

  1. Treba unijeti realni broj pa provjeriti da li je >=0. Ako nije, treba izračunati apsolutnu vrijednost unesenog broja. Dobiveni broj, koji je sigurno pozitivan, treba zaokružiti na prvi manji cijeli broj.

Potom treba provjeriti da li je broj paran. Ako je paran treba izračunati i ispisati njegovu treću potenciju, a ako nije treba ispisati: Broj je neparan.

Unesi broj :

Prvi manji cijeli je ... Broj ... je paran, a njegova treca potencija iznosi ... ili Broj ... je neparan. #include #include using namespace std; int main () { float i,rez; cout<<"Unesi broj:"; cin>>i; if (i<0) { i=abs(i); } i=floor(i); cout<<"Prvi manji cijeli je "<<i<<endl; if (fmod(i,2)==0) { rez=pow(i,3); cout<<"Broj "<<i<<" je paran, a njegova treca potencija iznosi"<<rez<<endl; } else

Treba provjeriti predznak diskriminante jer on određuje hoće li rješenja kvadratne jednadžbe

bit realni ili kompleksni brojevi. Ispis neka bude oblika:

Upisi koeficijent a:

Upisi koeficijent b:

Upisi koeficijent c:

Rjesenja su realni brojevi:

x1=... i x2=...

ili

Rjesenja su kompleksni brojevi:

z1=...+...i, z2=...-...i

ili

Ako je koeficijent a=0, jednadzba nije kvadratna.

#include #include using namespace std; int main() { float a,b,c,x1,x2,pom1,xR,xi; cout<<"Upisi koeficijent a:"; cin>>a; cout<<"Upisi koeficijent b:"; cin>>b; cout<<"Upisi koeficijent c:"; cin>>c; if (a!=0) { pom1=bb-4ac; if (pom1>=0) { x1=(-b+sqrt(pom1))/(2a); x2=(-b-sqrt(pom1))/(2a); cout<<"Rjesenja su realni brojevi x1= "<<x1<<" i x2="<<x2<<endl; } else { xR=-b/(2a); xi=sqrt(-pom1)/(2*a); cout<<"Rjesenja su kompleksni brojevi:"; cout<<endl<<"z1="<<xR<<"+"<<xi<<"i, z2= "<<xR<<"-"<<xi<<"i"<<endl;

else { cout<<"Ako je koeficijent a=0,jednadzba nije kvadratna"<<endl; } return 0; }

  1. 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.

#include

#include

using namespace std;

int main()

{

float kutalfa,a,c,kutalfa1; const float PI=3.14; cout<<"Unesi vrijednost kuta alfa u stupnjevima: "; cin>>kutalfa; cout<<"Unesi vrijednost katete a: ";

kut=kut*180/PI; cout<<endl<<"Ako je brzina rijeke "<<vr<<" m/s, a brzina camca "<<vc;

cout<<" 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;

}

  1. Treba unijeti tri realna broja pa pronaći i ispisati najmanji. Ispis neka bude oblika:

Upisi prvi broj :

Upisi drugi broj :

Upisi treci broj:

Ako se upisu brojevi: ..., ... i ... najmanji od njih je ...

#include

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;

}

  1. Treba unijeti tri realna broja pa ih ispisati od najmanjeg ka najvećem. Ispis neka bude

oblika:

Upisi prvi broj:

Upisi drugi broj:

Upisi treci broj:

Brojevi: ..., ... i ... poredani od najmanjeg ka najvecem: ..., ..., ...

#include

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; } max=a; if (b>max) { max=b;

cout<<"Za racunanje jakosti struje upisi 1, za racunanje napona upisi 2, a za otpor 3: ";

int i; float U,I,R; cin>>i; switch (i) { case 1: cout<<"U (V)="; cin>>U; cout<<"R (om)="; cin>>R; I=U/R; cout<<"Ako je napon "<<U<<" V, a otpor "<<R<<" oma, jakost struje iznosi ";

cout<<I<<" A."<<endl; break; case 2: cout<<"I (A)="; cin>>I; cout<<"R (om)="; cin>>R; U=I*R; cout<<"Ako je jakost struje "<<I<<" A, a otpor "<<R<<" oma, napon iznosi ";

cout<<U<<" V."<<endl; break; case 3: cout<<"U (V)="; cin>>U; cout<<"I (A)="; cin>>I; R=U/I; cout<<"Ako je napon "<<U<<" V, a jakost struje iznosi ";

cout<<I<<" A, otpor iznosi "<<R<<" oma."<<endl;

break; default: cout<<"Pogresan unos. Treba upisati 1, 2 ili 3."; } return 0;

}

  1. 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. Ispis neka bude

oblika:

Upisi redni broj mjeseca:

.... mjesec ima 31 dan.

ili

.... mjesec ima 30 dana.

ili

  1. mjesec ima 28 dana (ili 29 ako je godina prestupna).

#include

using namespace std;

int main()

{

int i; cout<<" Program na osnovu unesenog rednog broja mjeseca ispisuje";

cout<<" koliko taj mjesec ima dana"<<endl; cout<<"Upisi redni broj mjeseca: "; cin>>i; switch (i) { case 4: case 6: case 9: case 11: cout<<i<<". mjesec ima 30 dana."<<endl; break; case 1: case 3: