30
REDOVNE STUDIJE POSLOVNA INFORMATIKA PREDMET: PRINCIPI PROGRAMIRANJA “Rijesavanje zadataka u programskom jeziku Java” (seminarski rad) Profesor: Student: Prof.dr.Zoran Ž. Avramović, dipl.inž.elek. Petar Arandjic 89/12 RPI

Seminarski Rad Principi Programiranja

Embed Size (px)

DESCRIPTION

Seminarski iz principa programiranja

Citation preview

Page 1: Seminarski Rad Principi Programiranja

REDOVNE STUDIJE

POSLOVNA INFORMATIKA

PREDMET:

PRINCIPI PROGRAMIRANJA

“Rijesavanje zadataka u programskom jeziku Java”(seminarski rad)

Profesor: Student:Prof.dr.Zoran Ž. Avramović, dipl.inž.elek. Petar Arandjic 89/12 RPI

Page 2: Seminarski Rad Principi Programiranja

Sadržak1. Načiniti program koji će sabrati tri broja koja je korisnik unjeo...........................................................3

2. Načiniti program koji nedozvoljava ulazi mladjem korisnicima od dozvoljenog..................................4

3. Načiniti program koji će izračunati prosjek ocijena i reći na da li ste dobar student...........................6

4. Načiniti program koji će nam izbaciti sve prirodne parne brojeve do 40.............................................8

5. Sortiranje brojeva................................................................................................................................9

6. Program koji računa broj kupaca ako je porast 1% mjesečno............................................................10

7. Program jednostavna igra..................................................................................................................11

8. Program koji računa etape................................................................................................................13

9. Načiniti program koji će otvoriti prozor sa nacrtanim pravougaonikom...........................................15

10. Načiniti program koji svakom broju daje indeks:...............................................................................17

11. Načiniti program koji pretvara sat koji pretvara vrijeme...................................................................18

12. Načiniti program koji će nam dati kvadrat broja................................................................................19

13. Načniti program koji će nam isprintati broj koji je veći a potom koji je manji...................................20

14. Načiniti program koji će od korisnika tražiti da unese ime grada u kojem je rodjen i reći mu nešto o tome gradu................................................................................................................................................20

2

Page 3: Seminarski Rad Principi Programiranja

1. Načiniti program koji će sabrati tri broja koja je korisnik unijeoKako bi dali korisniku opciju da unosi podatke preko tastature prvo moramo da importujemo java „Scanner“

import java.util.Scanner;

Potom napravimo novi „Scanner“ koji će java da sačuva ono što korisnik unese.

Scanner broj = new Scanner(System.in);

Nakon toga pravimo četiri „double“ varijable (tri za brojeve koje će korisnik da unese i jednu za odgovor)

double broj1, broj2, broj3, odgovor;

Potom ukucavamo proste matematičke metoda za računanje i metodu za printanje.

Zadatak:

package zadatak;import java.util.Scanner;public class zadatak {

public static void main(String[] args) {

Scanner broj = new Scanner(System.in);double broj1, broj2, broj3, odgovor;System.out.println("Ukucaj te prvi broj");broj1 = broj.nextDouble();System.out.println("Ukucaj te drugi broj");broj2 = broj.nextDouble();System.out.println("Ukucaj te treci broj");broj3 = broj.nextDouble();odgovor = broj1 + broj2 - broj3;System.out.println(broj1 + " + " + broj2 + " - " + broj3 + " = "

+ odgovor);}

}

Konzola: primjer

Slika 1.

3

Page 4: Seminarski Rad Principi Programiranja

4

Page 5: Seminarski Rad Principi Programiranja

2. Načiniti program koji nedozvoljava ulazi mladjem korisnicima od dozvoljenog

Kao i u provom slučaju prvo moramo ta importujemo java “Scanner” i dadnemo korisniku mogućnost da unese podatke preko tastature. Napravimo dvije “int” varijable i stavimo da su jednake onome što korisnik unese (dvije ako želimo da stavimo različite godine prestupa za muško ili žensko. Posle toga napravimo “if else” izvještaj.

Zadatak:

package zadatak;import java.util.Scanner;public class zadatak2 {

public static void main(String[] args) {

int muskarci, zene;Scanner unesi = new Scanner(System.in);System.out.println("Unesite broj 1 ako ste musko ili 2 ako ste

zensko");String miliz = unesi.nextLine();

if (miliz.equals("1")){

System.out.println("Unesite svoje godine");int musko = unesi.nextInt();if (musko >= 21){

System.out.println("Dobrodosli na sajt mozete da pristupite");

}else{

System.out.println("Premladi ste da bi pristupili ovom sajtu");

}}else if (miliz.equals("2")){

System.out.println("Unesite svoje godine");int zensko = unesi.nextInt();if (zensko >= 18){

System.out.println("Dobrodosli na sajt mozete da pristupite");

}else {

System.out.println("Premladi ste da bi pristupili ovom sajtu");

}}

}

5

Page 6: Seminarski Rad Principi Programiranja

}

6

Page 7: Seminarski Rad Principi Programiranja

Konzola: primjer

Slika 2.

Slika 3.

7

Page 8: Seminarski Rad Principi Programiranja

3. Načiniti program koji će izračunati prosjek ocijena i reći na da li ste dobar student.

Ponovo na je potreban “Scanner” i “if else” i jos pokaja matematička formula za izračunavanje prosjeka

Zadatak:

package zadatak;

import java.util.Scanner;

public class zzadatak11 {

public static void main(String[] args){

Scanner ukucaj = new Scanner(System.in);System.out.println("Unesite svoje ocjene");double total = 0;double ocijene;double prosjek;int brojac = 0;while (brojac < 10){

ocijene = ukucaj.nextInt();total = total + ocijene;brojac++;

}prosjek = total/10;System.out.println("Vas prosjek je: " + prosjek);if (prosjek > 9){

System.out.println("Viste odlican student buducnost je pred vama");

}else if (prosjek <9){

if (prosjek >7){

System.out.println("Viste solidan student");}else if (prosjek <7){

System.out.println("Viste u prosjeku los student nesikiraj te se bice bolje :)");

}}

}

}

8

Page 9: Seminarski Rad Principi Programiranja

Konzola:primjer

Slika 4.

9

Page 10: Seminarski Rad Principi Programiranja

4. Načiniti program koji će nam izbaciti sve prirodne parne brojeve do 40Zadatak:

package zadatak;

public class zzadatak12 {

public static void main(String[] args) {

System.out.print("Prirodni brojevi od 0 do 40");for(int brojac=2; brojac<=40; brojac+=2){

System.out.print("," + brojac);}

}

}Konzola: primjer

Slika 5.

10

Page 11: Seminarski Rad Principi Programiranja

5. Sortiranje brojevaZadatak:

package zadatak;

import java.util.Arrays;

public class zzadatak25 {

public static void main(String[] args) {

System.out.print("Nesortirani brojevi: ");int broj[]={8,9,2,5,6,4,6,1,3,7};for (int broj2 : broj){

System.out.print(broj2+",");}Arrays.sort(broj);System.out.println();System.out.print("Sortirani brojevi: ");for (int broj2 : broj){

System.out.print(broj2+",");}

}

}

Konzola:primjer

Slika 6.

11

Page 12: Seminarski Rad Principi Programiranja

6. Program koji računa broj kupaca ako je porast 1% mjesečnoZadatak:

package zadatak;

public class zzadatak13 {

public static void main(String[] args) {

double kolicina;double pkolicina = 100;double rejting = .01;

for (int mjesec=1; mjesec<=24; mjesec++){

kolicina = pkolicina*Math.pow(1 + rejting,mjesec);System.out.println("Mjesec " + mjesec + ". Kolicina kupaca

" + kolicina);}

}

}

Konzola:primjer

12

Page 13: Seminarski Rad Principi Programiranja

Slika 7.

13

Page 14: Seminarski Rad Principi Programiranja

7. Program jednostavna igraZadatak:

package zadatak;import java.util.*;

public class zzadatak21 {

static int pare;static String kIme;static Scanner unesi = new Scanner(System.in);static Random random = new Random();

public static void main(String[] args) {System.out.println("Unesite svoje korisnicko ime");kIme = unesi.nextLine();System.out.println("Dobrodosli " + kIme + "!");pare = 1000;rollDice();}public static void rollDice()

{System.out.println("Imate $ "+ pare);System.out.println("Na koji broj bi se zeljeli kladiti: (1-

3)");int betRoll = unesi.nextInt();while (betRoll > 3){

System.out.println("Ne mozete se kladiti na broj veci od 3");System.out.println("Na koji broj bi se zeljeli kladiti? (1-3)?");betRoll = unesi.nextInt();

}while (betRoll < 1){

System.out.println("Nemozete se kladiti na proj manji od 1");System.out.println("Na koji broj bi se zeljeli kladiti? (1-3)?");betRoll = unesi.nextInt();

}System.out.println("Koliko para bi ste zeljeli da

ulozite");int pzk;pzk = unesi.nextInt();

while (pzk > pare){

System.out.println("Nemate toliko para");System.out.println("Koliko para bi ste zeljeli da ulozite");pzk = unesi.nextInt();

14

Page 15: Seminarski Rad Principi Programiranja

}int dek;dek = 1+ random.nextInt(3);if (betRoll == dek){

System.out.println("Cestitamo dobili ste: $" + pzk*6 + "!");

pare += pzk*3;System.out.println("Sada imate $"+ pare);

}else{System.out.println("Izgubili ste! ");System.out.println("Broj koji je izasao: " + dek);pare -= pzk;}if (pare <= 0){

System.out.println("Zao nam je ali nemate vise para!");}else{

rollDice();}

}}Konzola:primjer

Slika 8.

15

Page 16: Seminarski Rad Principi Programiranja

8. Program koji računa etapeZadatak: Susret muve i vozova

Iz dva grada, A i B, na medjusobnom rastojanju d, istovremeno, jedan drugome u susret kredju dva voza, brzinama va i vb, respektivno. Istog trenutka iz grada A poleće muva velikom brzinom vm (vm > va, vb) u susret drugom vozu. Kod susreta sa tim vozom čini zaokret i leti ka vozu koji je krenuo iz grada A. Kada se sa njime sretne čini ponovo zaokret uputivši se u suprotnom smeru. Na taj način muva nastavlja svoj let sve do susreta vozova.

Načinite program koji će odrediti:

-dužine pojedinačnih etapa puta koje preleti muva i

-ukupno rastojanja posle svake etape, zaključno sa n-tom.

Posebne vrednosti: d = 600 km, va = 60 km/h, vb = 40 km/h, vm = 200 km/h, n = 15.

Potrebno je štampati sve učitane podatke, dobijene rezultate posle svake iteracije (u obliku tabele), potrebne opisne tekstove, ime i prezime, registarski broj i fakultet kandidata.

Zadatak:

package zadatak;

public class zzadatak23 {

public static void main(String[] args) {

String A;//grad 1String B;//grad 2double d = 600.00; //rastojanje izmedju dva gradadouble Va = 60.00; //brzina voza Adouble Vb = 40.00; //brzina voza Bdouble Vm = 200.00;

double d1 = d/(Vm+Vb);double Vm1 = Vm*d1;//prva etapa koju predje muhaSystem.out.println("Prva etapa koju je muha presla=" + Vm1);double np1 = d-(d1*(Va+Vb));double d2 = np1/(Va+Vm);double Vm2 = d2*Vm;System.out.println("Druga etapa koju je muha presla=" + Vm2);double np2 = np1-(d2*(Va+Vb));double d3 = np2/(Va+Vm);double Vm3 = d3*Vm;System.out.println("Treca etapa koju je muha presla=" + Vm3);double np3 = np2-(d3*(Va+Vb));double d4 = np3/(Va+Vm);double Vm4 = d4*Vm;System.out.println("Cetvrta etapa koju je muha presla=" + Vm4);double np4 = np3-(d4*(Va+Vb));double d5 = np4/(Va+Vm);double Vm5 = d5*Vm;

16

Page 17: Seminarski Rad Principi Programiranja

System.out.println("Peta etapa koju je muha presla=" + Vm5);double np5 = np4-(d5*(Va+Vb));double d6 = np5/(Va+Vm);double Vm6 = d6*Vm;System.out.println("Sesta etapa koju je muha presla=" + Vm6);double np6 = np5-(d6*(Va+Vb));double d7 = np6/(Va+Vm);double Vm7 = d7*Vm;System.out.println("Sedma etapa koju je muha presla=" + Vm7);double np7 = np6-(d7*(Va+Vb));double d8 = np7/(Va+Vm);double Vm8 = d8*Vm;System.out.println("Osma etapa koju je muha presla=" + Vm8);

}

}

Konzola: primjer

Slika 9.

17

Page 18: Seminarski Rad Principi Programiranja

9. Načiniti program koji će otvoriti prozor sa nacrtanim pravougaonikomU ovom zadatku ćemo koristiti dva “Class-a”

Zadatak:

Class 1.

package zadatak;

public class zzadatak15

{

public static void main(String[] args) {

JFrame prozor = new JFrame();prozor.setSize(640,480);prozor.setTitle("Prozor");

prozor.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);prozor.setVisible(true);

Rectangle rec = new Rectangle(5,10,300,100);

zzadatak15a z15a = new zzadatak15a();prozor.add(z15a);

}}

Class 2.

package zadatak;

{public void paintComponent(Graphics g)

{Graphics2D g2 = (Graphics2D) g;

Rectangle rec1 = new Rectangle (5, 5 , 100 , 200);g2.draw(rec1);

}

}

18

Page 19: Seminarski Rad Principi Programiranja

Prozor:

Slika 10.

19

Page 20: Seminarski Rad Principi Programiranja

10. Načiniti program koji svakom broju daje indeks:Zadatak:

package zadatak;

public class zzadatak17 {

public static void main(String[] args) {

System.out.println("Index\tVrijednost");int sosa[]= {32,66,55,12,93};

for (int brojac=0; brojac<sosa.length;brojac++){

System.out.println(1+brojac + "\t" + sosa[brojac]);}

}

}

Konzola:

Slika 11.

20

Page 21: Seminarski Rad Principi Programiranja

11. Načiniti program koji pretvara sat koji pretvara vrijemeKao i 9. zadatak i ovoj ćemo da radimo u dva “Class-a”

Zadatak:

Class 1.

package zadatak;import java.util.Scanner;

public class zzadatak20 {

public static void main(String[] args) {

Scanner unesi = new Scanner(System.in);zzadatak20a z20a = new zzadatak20a();System.out.println(z20a.uVojV());System.out.println(z20a.toString());System.out.println("Unesite sate");int sa = unesi.nextInt();System.out.println("Unesite minute");int mi = unesi.nextInt();System.out.println("Unesite sekunde");int se = unesi.nextInt();z20a.sat = sa;z20a.minuta = mi;z20a.sekunda = se;System.out.println(z20a.uVojV());System.out.println(z20a.toString());

}}

Class 2.

package zadatak;

public class zzadatak20a {

int sat;int minuta;int sekunda;

public void vrijeme(int s, int min, int sec){

sat = ((s>=0 && s<24) ? s:0);minuta = ((min>=0 && min<60) ? min:0);sekunda = ((sec>=0 && sec<60) ? sec:0);

}public String uVojV(){

return String.format("%02d:%02d:%02d", sat, minuta, sekunda);}

21

Page 22: Seminarski Rad Principi Programiranja

public String toString(){

return String.format ("%d:%02d:%02d %s",((sat==0 || sat==12)?12:sat%12), minuta, sekunda, (sat<12)?"AM": "PM" );

}}

Konzola:

Slika 12.

12. Načiniti program koji će nam dati kvadrat brojaZadatak:

package zadatak;import java.lang.Math;

public class zzadatak22 {

public static void main(String[] args) {

double b = (byte) Math.sqrt(25);

System.out.println(b);

}

}

Konzola:

Slika 13.

22

Page 23: Seminarski Rad Principi Programiranja

13. Načniti program koji će nam isprintati broj koji je veći a potom koji je manji

Zadatak:

package zadatak;import java.lang.Math;

public class zzadatak22 {

public static void main(String[] args) {

byte d = (byte) Math.max(34,12);

byte c = (byte) Math.min(34,12);System.out.println(d);System.out.println(c);

}

}

Konzola:

Slika 14.

14. Načiniti program koji će od korisnika tražiti da unese ime grada u kojem je rodjen i reći mu nešto o tome gradu

Zadatak:

package zadatak;

import java.util.Scanner;

public class zadatak8 {

public static void main(String[] args) {

Scanner ime1 = new Scanner(System.in);System.out.println("Unesite Mjesto svog rodjenja");String ime2;ime2 = ime1.nextLine();if (ime2.equalsIgnoreCase("Banja Luka")){

23

Page 24: Seminarski Rad Principi Programiranja

System.out.println("Rodjen/a si u Glavnom Gradu Republike Srpske ");

}else if (ime2.equalsIgnoreCase("Brcko")){

System.out.println("Rodjen/a si u gradu koji je danas Distrikt");

}else if (ime2.equalsIgnoreCase("Bijeljina")){

System.out.println("Rodjen/a si u gradu koji se nalazi u sembiriji i granici se sa dvije drzave");

}else if (ime2.equalsIgnoreCase("Doboj")){

System.out.println("Rodjen/a si u najgoroj bolnici :)");}else{

System.out.println("Nemam informacije o gradu u kome si rodjen/a ");

}{

}}

}

Konzola:

Slika 15.

24