03A. Unos i prikaz podataka - Vežbe

 

Z2.1. Obim i površina kruga

import java.util.Scanner;
public class OiPkruga {
public static void main(String[] args) {
Scanner ulaz=new Scanner(System.in);
double r,Obim, P;
System.out.print("Unesi poluprečnik.\nr=");
r=ulaz.nextDouble();
Obim=2*r*Math.PI;
P=Math.pow(r, 2)*Math.PI;
System.out.print("Obim kruga poluprečnika r="+r+" je "+Obim+", površina "+P);
}
}

Z2.2. Novčanice
Ako je vrednost nekog artikla x dinara. Odrediti najmanju količinu novčanica po 1000, 200, 50, 10 i 1 dinara kojim se može platiti taj artikal, ako imamo proizvoljan broj novčanica.

int iznos, priv, br_1000, br_200, br_50, br_10, br_1;
Scanner ul=new Scanner(System.in);
System.out.print("Unesi iznos: ");
iznos=ul.nextInt(); priv=iznos;
br_1000=priv/1000; priv%=1000;
br_200=priv/200; priv%=200;
br_50=priv/50; priv%=50;
br_10=priv/10; priv%=10;
br_1=priv;
System.out.println("\nZa plaćanje računa u iznosu od "+iznos+
" minimalno potreban broj novčanica je: \n "+br_1000+
" od 1000\n "+br_200+" od 200\n "+br_50+" od 0\n "+br_10+
" od 10\n"+br_1+" od 1.");

Z2.3. Vreme u sekundama
Na osnovu unetog vremena u sekundama, vreme se ispisuje u obliku HH:MM:SS. Primer: Ako je korisnik programa uneo podatak 3612 sekundi vreme mora biti ispisano u obliku 01: 00: 12

int tUk, tSat, tMin, tSec;
Scanner ul=new Scanner(System.in);
System.out.print("Unesi ukupno vreme u sekundama: ");
tUk=ul.nextInt();
tSat=tUk/3600; tUk%=3600;
tMin=tUk/60;
tSec=tUk%60;
System.out.println("\nUneto vreme u obliku HH:SS:MM je "+tSat+
":"+tMin+":"+tSec+".");

ili, verzija koja daje prikaz sa vodećim nulama

System.out.format("\nUneto vreme u obliku HH:SS:MM je %02d:%02d:%02d.",tSat,tMin,tSec);

Z2.4. Zbir i razlika vremena
NP koji izračunava:
a) zbir t3=t1+t2, i
b) razliku t4=t2-t1 (očekujemo da je t2>t1),
gde su t4, t3, t2 i t1 vremena u obliku HH:MM:SS.

int t1Uk, t1Sat, t1Min, t1Sec,
t2Uk, t2Sat, t2Min, t2Sec,
t3Uk, t3Sat, t3Min, t3Sec,
t4Uk, t4Sat, t4Min, t4Sec;
Scanner ul=new Scanner(System.in);
System.out.print("Unesi t1 redom HH MM SS ");
t1Sat=ul.nextInt(); t1Min=ul.nextInt(); t1Sec=ul.nextInt();
System.out.print("Unesi t2 redom HH MM SS ");
t2Sat=ul.nextInt(); t2Min=ul.nextInt(); t2Sec=ul.nextInt();
t1Uk=t1Sat*3600+t1Min*60+t1Sec; // pretvaramo vreme u sekunde
t2Uk=t2Sat*3600+t2Min*60+t2Sec;
t3Uk=t1Uk+t2Uk;
t4Uk=t2Uk-t1Uk;
t3Sat=t3Uk/3600; t3Uk%=3600;
t3Min=t3Uk/60;
t3Sec=t3Uk%60;
t4Sat=t4Uk/3600; t4Uk%=3600;
t4Min=t4Uk/60;
t4Sec=t4Uk%60;
System.out.format("\n %02d:%02d:%02d",t1Sat,t1Min,t1Sec);
System.out.format("\n + %02d:%02d:%02d\n",t2Sat,t2Min,t2Sec);
System.out.print(" --------");
System.out.format("\n %02d:%02d:%02d\n",t3Sat,t3Min,t3Sec);

System.out.format("\n %02d:%02d:%02d",t2Sat,t2Min,t2Sec);
System.out.format("\n - %02d:%02d:%02d\n",t1Sat,t1Min,t1Sec);
System.out.print(" --------");
System.out.format("\n %02d:%02d:%02d",t4Sat,t4Min,t4Sec);

Z2.5. Tačke u ravni
Izračunati, na osnovu unetih koordinata tačaka A i B u ravni:
a) rastojanje tačke A od koordinatnog početka,
b) rastojanje tačke B od tačke A,
c) koordinate tačke C koja se nalazi u središtu duži AB.

Z2.6. Trougao
Izračunati, na osnovu zadatih koordinata temena A, B, C u ravni:
a) dužine stranica i
b) površinu trougla.

Z2.7. Pravougaonik
Izračunati, na osnovu zadatih koordinata temena A, i C pravougaonika čije su stranice paralelne koordinatnim osama u ravni:
a) koordinate tačaka B i D,
b) dužine stranica a (AB) i b (BC),
c) dužinu dijagonala d (AC),
d) O i P
e) koordinate centra opisanog kruga
f) poluprečnik i P opisanog kruga

Z2.8. Ocene
Ukupan zbir bodova na pismenom zadatku je 99. Ocenjuje se na sledeći način:
Bodovi 0-19, ocena 1,
Bodovi 20-39, ocena 2....
NP koji na osnovu unetog broja bodova izračunava ocenu.

Z2.9. Izdvajanje cifara iz trocifrenog broja


Z2.10. Meta sa centrom u koordinatnom početku
Data je meta sa centrom u koordinatnom početku. Krugovi su koncentrični polupračnika 10 (100 bodova), 20 (90 bodova), 30 (80 bodova)....
Pogodak je zadat koordinatama. Odrediti broj dobijenih bodova na osnovu koordinata pogotka pod pretpostavkom da je pogođena meta, tj. najmanje najveći krug.

Scanner ul=new Scanner(System.in);
int xpog, ypog, bodovi;
double rastOd00;
System.out.print("Unesi koordinate pogotka x i y");
xpog=ul.nextInt(); ypog=ul.nextInt();
rastOd00=Math.sqrt(xpog*xpog+ypog*ypog);//Pitagorina teorema
System.out.println("Rastojanje pogotka od koordinatnog početka je "+rastOd00);
bodovi=10*(int)((110-rastOd00)/10);//broj bodova opada sa rastojanjem sa korakom 10
System.out.println("Broj bodova je "+bodovi);

Z2.11. Meta (centar je na proizvoljnom mestu)
Kao Z2.10, samo što se i centar mete zadaje koordinatama.

Scanner ul=new Scanner(System.in);
int x0,y0, xpog, ypog, bodovi;
double rastOd00;
System.out.print("Unesi koordinate centra mete x i y");
x0=ul.nextInt(); y0=ul.nextInt();
System.out.print("Unesi koordinate pogotka x i y");
xpog=ul.nextInt(); ypog=ul.nextInt();
rastOd00=Math.sqrt(Math.pow(xpog-x0, 2)+Math.pow(ypog-y0, 2));
System.out.println("Rastojanje pogotka od koordinatnog p0očetka je "+rastOd00);
bodovi=10*(int)((110-rastOd00)/10);
System.out.println("Broj bodova je "+bodovi);
}

Z2.12. Slučajni brojevi
Generisati slučajne brojeve između:
a) 0 i 1,
b) 0 i n,
c) a i b,
d) iste brojeve prikazati kao cele.

import java.util.Scanner;
public class SlucajniBroj {
public static void main(String[] args) {
Scanner ulaz=new Scanner(System.in);
double SlBr_0_1, SlBr_0_n, SlBr_a_b, n, a, b;
//a-slucajni broj od 0 do 1
SlBr_0_1=Math.random();
System.out.println("Slučajni broj između 0 i 1 je "+SlBr_0_1);
//b-slucajni broj od 0 do n
System.out.print("Unesi n =");
n=ulaz.nextDouble();
SlBr_0_n=Math.random()*n;
System.out.println("Slučajni broj između 0 i "+n+" je "+SlBr_0_n);
//c-slucajni broj od a do b
System.out.print("Unesi a =");
a=ulaz.nextDouble();
System.out.print("Unesi b =");
b=ulaz.nextDouble();
SlBr_a_b=Math.random()*(b-a)+a;
System.out.println("Slučajni broj između "+a+" i "+b+" je "+SlBr_a_b);
//d-slucajni brojevi kao celi
System.out.println("Slučajni brojevi kao celi: \na) "+(int)SlBr_0_1+"\nb) "+(int)SlBr_0_n+"\nc) "+(int)SlBr_a_b);
}
}

Z2.13. Isti dan u nedelji
Ako su rbd1 i rbd2 redni brojevi dana u godini, ispitati da li oni označavaju isti dan u nedelji.

Napomena: dani u nedelji se ponavljaju sa korakom 7, sledi da isti dani u nedelji (npr. srede) imaju isti ostatak pri deljenju sa 7 ili rbd1-rbd2 je deljiva sa 7.

 

Nazad na:
02. Izrazi i naredbe - Linijska struktura programa, ili
03. Unos i prikaz podataka