Transcript Tutoring System for Distance Learning of Java Programming
Petak: I čas: 17:40 – 18:25 II čas: 18:35 - 19:20 III čas: 19:30 – 20:15
Primena integrisanih razvojnih alata
Dejan Sredojević
Konsultacije: petak 15:40-17:40, kabinet 4 e-mail: [email protected]
Primena integrisanih razvojnih alata Fond časova: 3+3 Broj ESPB: 7 Ocena znanja (max. broj poena je 100) Minimum bodova za prolaz: 35+15
Predispitne obaveze Projekat Aktivnost na predavanjima Aktivnost na vežbama Prisustvo 55 (minimum 35) 5 5 5 Ispit 30 (minimum 15) 2
Literatura
Materijal sa predavanja i vežbi na sajtu Škole Lemay L., Cadenhead R.,
Java Naučite za 21 dan,
Kompjuter, biblioteka Eckel B.,
Thinking in Java
Dokumentacija (tutoriali) sa sajta http://www.netbeans.org/
3
Tehnologije
Programski jezik: Java Razvojni alat: NetBeans 7.0
XAMPP paket koji u sebi ima MySql server
4
Programski jezik Java
U jesen 1995. godine Sun Microsystems prvi put je predstavio programski jezik Java Java je objektno-orijentisani, nezavistan od platforme (mogućnost programa da se izvršava bez modifikacija u okviru različitih radnih okruženja) Nekoliko popularnih razvojnih okruženja: JBuilder, Eclipse, NetBeans
5
Programski jezik Java
Opšta sintaksa samostalne aplikacije u Javi:
class
Primer Java programa
Program koji ispisuje “Hello World”
class HelloWorldApp { public static void main(String[] args) { // ispis stringa.
System.out.println("Hello World!"); } } 7
Osnovni elementi
Osnovni elementi Jave pomoću kojih se komponuju složenije konstrukcije jezika: Identifikatori Literali Specijalni simboli Rezervisane reči
8
Identifikatori
Koriste se za označavanje različitih konstrukcija programa: promenljivih, metoda, klasa, interfejsa, metoda,...
Niz slova i/ili cifara koji počinje slovom i razlikuje se od svake rezervisane reči Slova su sva slova, “$” i “_” Cifre su 0,1,2,...,9 Primeri: ime_i_prezime, temp, var2sp, upisiBroj
9
Literali
Literale u Javi čine: Brojevi 234 3.14
4.0E-74 znakovne konstante ‘h’ stringovske konstante “Novi Sad” logičke konstante
true
konstanta
null
i
false 10
Specijalni simboli
> < !
~ ?
== <= >= * - + != && || ++ / & veće manje negacija negacija nad bitovima uslovni operator jednako manje ili jednako veće ili jednako nejednako uslovna konjukcija uslovna disjunkcija povećanje vrednosti za jedan smanjenje vrednosti za jedan sabiranje ili predznak oduzimanje ili predznak množenje deljenje konjunkcija i konjunkcija nad bitovima | ^ % << >> >>> = += -= *= /= &= |= ^= %= <<= >>= disjunkcija i disjunkcija nad bitovima eksluzivna disjunkcija ostatak pri deljenju pomeranje bitova u levo pomeranje bitova u desno pomeranje bitova u desno operator dodele dodela sa prethodnim sabiranjem dodela sa prethodnim oduzimanjem dodela sa prethodnim množenjem dodela sa prethodnim deljenjem dodela sa prethodnom primenom & dodela sa prethodnom primenom | dodela sa prethodnom primenom ^ dodela sa prethodnom primenom % dodela sa prethodnom primenom << dodela sa prethodnom primenom >>
Rezervisane (ključne) reči
Koriste se za opis naredbi programa i imaju tačno određeno značenje
abstract boolean break byte default do double else if implements import instanceof package private protected public this throw throws transient case try extends const int for return new switch null strictfp continue catch while final goto interface synchronized short void super char class finally float long native static assert volatile 12
Pravila imenovanja:
Nazivi promenljivih : sadrže slova, brojeve, ‘$’ (simbolom dolara), ili ‘_’ (donjom crtom); ne smeju početi sa cifrom Nazivi metoda : glagoli zapisani sa malim početnim slovom, svaka naredna reč naziva se piše velikim početnim slovom Primer: promeniBojuOkvira() Nazivi klasa i interfejsa : Opisni nazivi sa velikim početnim slovom Nazivi konstanti : Velikim slovim Primer: Font.BOLD, Font.ITALIC
13
Komentari
Delovi programa koji ne utiču na smisao i suštinu programa i zenemaruju se prilikom prevođenja
Simboli // /* ————— */ /** —————*/ Upotreba
Od simbola do kraja reda pretvara u komentar komentar na proizvoljnom mestu u kodu Komentar za automatsko generisanje dokumentacije programa
14
Prosti tipovi podataka
Celobrojni int short long byte Realni brojevi float double Znakovni char Logički boolean
15
Prosti tipovi podataka
Prosti tip boolean char byte short int long float double void Veličina
— 16-bit 8-bit 16-bit 32-bit 64-bit 32-bit 64-bit —
Minimum
— Unicode 0 -128 -2 15 - 2 31 -2 63 IEEE754 IEEE754 —
Maximum
— Unicode 2 16 - 1 +127 +2 15 —1 +2 31 —1 +2 63 —1 IEEE754 IEEE754 —
16
Deklaracija promenljivih
Deklaracija promenljivih:
int num1;
Inicijalizacija promenljivih: < tip podataka > < naziv promenljive > = vrednost Primer:
double num2 = 3.1419; float initVal; int pom, index = 2; double gamma = 1.2, brightness; boolean valueOk = false; 17
Deklaracija promenljivih
int index = 2; double fiveFourths = 5 / 4;
naziv tipa naziv promenljive vrednost
Boolean prekinut = false; 18
Deklaracija promenljivih
int index = 1.2; // greška boolean retOk = 6; // greška double fiveFourths = 5 / 4; // nema greške float ratio = 5.8f; // ispravno double fiveFourths = 5.0 / 4.0; // ispravno
1.2f predstavlja float vrednost sa tačnošću od 7 decimala 1.2 predstavlja double vrednost sa tačnošću od 15 decimala
19
Naredba dodele
int x = 5; int y = 2; int z = 4; z = z/y; x = x*y + z; y = x*(y + z); System.out.println(z); System.out.println(x); System.out.println(y); 20
Primer
Napisati program koji izračunava zbir dva broja public class AddTwoInts { public static void main(String[] args) { int prviBroj = 7; int drugiBroj = 8; int suma; suma = prviBroj + drugiBroj; System.out.print("Rezultat je: " +suma); } }
21
Naredba dodele
Napisati program koji štampa istinitosnu vrednost izraza: 2 + 2 = 4
public class Demo { public static void main (String[] arg) { boolean b; b = (2 + 2 == 4); System.out.println(b); } } 22
Primer programa
Napisati program koji ispisuje trenutni datum i vreme
import java.util.*; public class HelloDate { public static void main(String[] args) { System.out.println(“Pozdrav, sad je: "); System.out.println(new Date()); } } 23
Razlika između
i++
i
++i class PrePostDemo { public static void main(String[] args){ int i = 3; i++; System.out.println(i); // "4" ++i; System.out.println(i); // "5" System.out.println(++i); // "6" System.out.println(i++); // "6" System.out.println(i); // "7" } } 24
Izrazi & Blokovi
Izraz je komanda koja se završava sa “;”:
ime = “Fred”;
Blok je niz izraza koji se nalaze između vitičastih zagrada:
{ ime1 = “Fred”; ime2 = “Rale”; }
Blokovi mogu sadržati druge blokove
25
2. čas Grananje, petlje
Kontrola toka programa
Java izvršava izraz za izrazom u redu u kojem su zapisani Postoji više Java naredbi koje služe sa kontrolu toka programa: Naredbe grananja: Petlje: Naredbe prekida:
if, if else, switch for, while, do while break, continue, return 27
Kontrola toka programa
Kontrola toka programa:
if – else switch – case return while do – while for break continue
• Naredbe:
try – catch – finally throw 28
if
– naredba grananja
if
naredba utvrđuje istinitost izraza u zagradi i ako je tačna izvršavaju se zadate akcije
if ( x < 10 ) x = 10;
Ako je vrednost promenljive x manja od deset tada se promenljivoj dodeljuje vrednost 10 Moguće je zapisati i:
if ( x < 10 ) x = 10;
Ili:
if ( x < 10 ) { x = 10; } 29
== != >= <= > <
Relacioni operatori
jednakost nejednakost veće ili jednako manje ili jednako veće manje
30
if
naredba
If...else izraz sintaksa:
if(uslov){ izrazi; } else{ izrazi; } 31
if… else
if … else
izraz ispituje tačnost izraza. Izvršava se jedan niz naredbi ako je vrednost
true
ili drugi niz naredbi ako je vrednost
false
.
if (x != oldx) { System.out.print(“x je promenjena”); } else { System.out.print(“x nije promenjena”); } 32
Ugnježdeni
if … else
if ( value1 > 100 ) { if ( value2 == true) { value1 = value1 % 100; } else { value1 = value1 / 100.0; } }else{ System.out.print(“value1 is in range”); } 33
else if
Koristan za izbor između više mogućnosti:
if ( n == 1 ) { // izvršavanje prvog bloka naredbi } else if ( j == 2 ) { // izvršavanje drugog bloka naredbi } else { //ako ni jedan od predhodnih uslova nije //zadovoljen vrši se izvršavanje trećeg //bloka naredbi } 34
Upozorenje…
Neispravno!
if( i == j ) if ( j == k ) System.out.print(“i je jednako k”); else System.out.print( “i nije jednako j”);
Ispravno !
if( i == j ) { if ( j == k ) System.out.print(“i jednako k”); } else{ System.out.print(“i nije jednako j”); } 35
Primer
if
naredbe
int x = 5; int y = 7; if (x > y){ System.out.println(x + " je veci od " + y); }else{ System.out.println(x + " nije veci od " + y); } 36
Primer
if
naredbe
double vrednostProdaje = 0.0; int brojProdaja = 0; if (vrednostProdaje >= 85000 || brojProdaja > 10){ System.out.println(“Vas bonus je: $2,000."); } if ( brGodina < 19 && ocena >= 3.0 ){ System.out.println(“primljeni ste"); } 37
Primer
if
naredbe
if( grade > 90 ){ System.out.println(“Odlicno!"); }else if( grade > 60 ){ System.out.println(“Vrlo dobro!"); }else{ System.out.println(“Zao nam je, pali ste"); } 38
Uslovni (ternarni) operator
test ? rez1 : rez2; int a, b=3, c=5; a=(b>c)?10:20; int a, b=3, c=5; if(b>c){ a=10; }else{ a=20; } 39
switch
naredba
Sintaksa switch naredbe:
switch(promenljiva){ // promenljiva ima celobrojnu ili logicku //vrednost case(vrednost1): izrazi; break; case(vrednost2): izrazi; break; ...
default: izrazi; break; } 40
switch
naredba
switch ( n ) { case 1: // izvršavanje prvog bloka naredbi break; case 2: // izvršavanje drugog bloka naredbi break; default: // ako ni jedan od predhodnih uslova //nije zadovoljen vrši se izvršavanje //trećeg bloka naredbi break; } 41
Primer
switch
class SwitchDemo { } public static void main(String[] args) { int month = 8; switch (month) { case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 3: System.out.println("March"); break; case 4: System.out.println("April"); break; case 5: System.out.println("May"); break; case 6: System.out.println("June"); break; case 7: System.out.println("July"); break; case 8: System.out.println("August"); break; case 9: System.out.println("September"); break; case 10: System.out.println("October"); break; case 11: System.out.println("November"); break; case 12: System.out.println("December"); break; default: System.out.println("Invalid month."); } }
42
for
petlja
Sintaksa for petlje:
for(inicijalizacija; uslov; inkrement){ izrazi; } 43
for
petlja
Izvršavanje n puta
for ( i = 0; i < n; i++ ) { // ovaj deo petlje će se izvršiti n puta // i ide od 0 do n-1 }
Ugnježdeni for:
for ( j = 0; j < 10; j++ ) { for ( i = 0; i < 20; i++ ){ // ovaj deo petlje će se izvršiti 200 puta } } 44
Primer
for
class ForDemo { public static void main(String[] args){ for(int i=1; i<11; i++){ System.out.println(i); } } } 1 2 3 4 5 6 7 8 9 10 45
Primer for petlja
Napisati program koji ispisuje sve parne brojeve od 1 do 30
public class parniDo30{ public static void main(String[] args){ System.out.println(“Parni od 1 do 30 su:"); for (int i = 2 ; i <= 30 ; i += 2){ System.out.println(i); } } } 46
while
petlja
Sintaksa
while
petlje
while(uslov){ izrazi; } 47
Primer
while
class Count { } public static void main(String[] args){ int count = 1; while (count < 11) { System.out.println(count); count++; } } 48
do while
petlja
Sintaksa
do...while
petlje
do{ izrazi; }while(uslov);
Primer:
int x = 1; do { System.out.println(x); x++; }while (x<10); 49
break
naredba
break
naredba izvršava bezuslovni izlazak iz
while
,
do
,
for
ili
switch
petlje
for ( int i = 0; i < maxID, i++ ) { if ( userID[i] == targetID ) { index = i; break; } } // program jumps here after break 50
Primer
while
naredbe
Fibonacci:
class Fibonacci { public static void main(String[] arg) { int lo = 1; int hi = 1; System.out.println(lo); while (hi < 50) { System.out.println(hi); hi = lo + hi; lo = hi – lo; } } } 51
Treći čas Metodi i nizovi
Metodi
Metod predstavlja imenovani segment koda koji se može pokrenuti u drugom delu koda.
Metod preuzima neke parametre, izvršava neka izračunavanja ili akcije i opciono vraća neku povratnu vrednost Pozivi metoda se mogu koristiti kao deo izraza
public float convertCelsius(float tempC) { return( ((tempC * 9.0f) / 5.0f) + 32.0 ); } 53
Metod - sintaksa
Deklaracija metoda:
Obavezni delovi metode
Jedini obavezni delovi deklaracije metoda su: Povratni tip Naziv metode Par običnih zagrada Telo metode oukvireno vitičastim zagradama primer:
void prikazi (){ telo metoda; } 55
Svih šest komponenata:
Modifikatori - public, private Povratni tip – tip vrednosti koju metod vraća kao svoj rezultat ili void ako ne vraća nikakvu vrednost Naziv metoda – koje će jasno objasniti funkciju metoda Lista parametara u običnim zagradama, razdvojenih zarezom, predstavljenih tipom i imenom. Ako metod nema parametara ostavljaju se prazne zagrade Lista izuzetaka Telo metode, ograničeno vitičastim zagradama. Sadrži kod metoda zajedno sa deklaracijom lokalnih promenljivih
56
Zaglavlje metoda
Zaglavlje metoda sadrži: Naziv metoda.
Tip i naziv svakog argumenta.
Tip promenljive (ili objekta) koju metod vraća kao povratnu vrednost.
Izuzetke koje metod obrađuje.
Modifikatore za određivanje vidljivosti metoda.
public float convertCelsius (float tCelsius ) {} public boolean postavi(int i, int j, String name) throws IndexOutOfBoundsException {} 57
Public/private
Metode možemo deklarisati kao public ili private u zavisnosti da li želimo da omogućimo njihovo pozivanje u drugim klasama.
Preporuka je: Da su podaci privatni Da su metode privatne Dobro definisana komunikacija između klasa pomaže da se eliminišu greške
58
Primer klase i metoda
Class voce{ int grami; int kalorijePoGramu; } int ukupnoKalorija() { return(grami* kalorijePoGramu); } 59
Definisanje metoda
Svaki se metod definiše unutar definicije klase:
public class Film { public static int ocenaFilma(int s, int g, int r) { return s+g+r; } } public class Demo { public static void main (String argv[]) { int scenario = 6, gluma = 9, rezija = 8; prikaziOcenu(scenario, gluma, rezija); } public static void prikaziOcenu(int s, int g, int r){ System.out.print(“Ocena filma je: ”); System.out.println(Film.ocenaFilma(s, g, r)); } } 60
Primer 1
// definicija metoda public int mult(int x, int y) { return x * y; } // deo koda sa pozivom metoda int duzina = 10; int sirina = 5; int area = mult(duzina, sirina); 61
Primer 2
class Bicikl { int godiste = 0; int brzina = 5; int stepenPrenosa = 1; } void postaviGodiste(int novaVrednost) { godiste = novaVrednost; } void promenaStepenaprenosa(int novaVrednost) { stepenPrenosa = novaVrednost; } void povecajBrzinu(int increment) { brzina = brzina + increment; } void smanjiBrzinu(int decrement) { brzina = brzina - decrement; } void stampajStanja() { } System.out.println("godiste: "+godiste); System.out.println("brzina je: "+brzina); System.out.println("stepen prenosa je: "+stepenPrenosa); 62
Primer 3
public int stepen(int a, int b){ int i; int total = 1; for(i = 0; i < b; i++) total = total * a; return total; } int number = 2; int exponent = 4; number = stepen(number, exponent); System.out.println(“nova vrednost je " + number); 63
Primer 4
public class calculation{ int first, answer; public void paint (){ first = 34; calculation(); } } public void calculation (){ answer = first * 2; } 64
Primer 5
public class Area{ public int izracunajPovrsinu(){ int p = duzina * sirina; return p; } } public static void main(String[] args){ int duzina = 10; int sirina = 5; // poziv metoda } int povrsina = izracunajPovrsinu(); System.out.println(povrsina); } 65
Zadatak
Dat je metod:
public int tryPrimitives(int x, int y) { x = x + 10; y = y + 10; return x; }
Koje su vrednosti promenljivih p, q i r nakon izvođenja narednog koda?
int p = 1; int q = 2; int r = 5; r = tryPrimitives(p, q); 66
Nizovi - array
Niz je lista sličnih elemenata Niz ima fiksirani: naziv tip dužinu Ove tri stvari se deklarišu prilikom kreiranja niza Veličina nizova se ne može menjati tokom izvođenja koda
67
Nizovi
mojNiz =
3
0
6
1
3
2
1
3
6
4
3
5
4
6
1
7 mojNiz ima mesta za 8 elemenata Elementima se pristupa uz pomoć indeksa niza U Javi, prvi element niza je na nultoj poziciji
68
Deklaracija nizova
int mojNiz[];
Deklaracija niza: brojeva mojNiz kao niz celih
mojNiz = new int[8];
Rezerviše u memoriji 8 mesta za cele brojeve kojima pristupamo sa:
mojNiz[0] do mojNiz[7]
Moguće je i kombinovati prethodna dva izraza u jednom:
int mojNiz[] = new int[8]; 69
Dodeljivanje vrednosti
Pristupamo elementima niza uz pomoć indeksa da bi im dodelili vrednosti:
mojNiz[0] = 3; mojNiz[1] = 6; mojNiz[2] = 3;
...
Moguće je kreirati niz i stovremeno mu dodeliti vrednosti:
int mojNiz [] = {3, 6, 3, 1, 6, 3, 4, 1}; 70
Iteracije kroz nizove
for
petlja je korisna pri radu sa nizovima:
int a = 5; int mojNiz[] = new int[10]; for (int i = 0; i < mojNiz.length; i++) { mojNiz [i] = a*i; } 71
Primer niza
class ArrayDemo { public static void main(String[] args) { int[] niz; // deklarise niz integera niz = new int[10]; // zauzima memoriju duzine 10 niz[0] = 100; … niz[9] = 1000; System.out.println("Nulti element niza je: " + niz[0]); System.out.println("1. element niza je: " + niz[1]); System.out.println("2. element niza je: " + niz[2]); System.out.println("3. element niza je: " + niz[3]); System.out.println("4. element niza je: " + niz[4]); System.out.println("5. element niza je: " + niz[6]); System.out.println("6. element niza je: " + niz[7]); System.out.println("7. element niza je: " + niz[8]); System.out.println("8. element niza je: " + niz[9]); System.out.println("5. element niza je: " + niz[5]); } }
72
Nizovi objekata
Elementi nizova ne moraju biti samo prosti tipovi Integer, double, float, char Moguće je definisati i nizove objekata: studenata, knjiga, iznajmljivanja Potrebno je uraditi tri koraka
73
Definisanje nizova objekata
1. Deklarisanje nizova
private Student listaStudenata[];
Ovim se definiše lista studenata 2. Kreira se niz:
listaStudenata = new Student[10];
Ovim se obezbeđuje 10 mesta u memoriji koji će čuvati reference ka objektima tipa Student 3. Kreiraju se objekti klase Student i dodele se nizu:
listaStudenata[0] = new Student(“Maja", “Perić"); 74
Čitanje podataka sa konzole
Jednostavno čitanje podataka sa konzole može se obaviti korišćenjem klase Scanner Konstruktor klase Scanner ovu svrhu ima opšti oblik: koji se koristi u Scanner(InputStream is) Kojim se pravi objekat tipa Scanner koji tok koristi kao izvor podataka.
is Sledeći iskaz pravi objekat tipa podrazumevano tastatura: Scanner koji podatke čita sa standardnog ulaza, što je
Scanner consoleIn = new Scanner(System.in);
Napomena: System.in
je objekat tipa InputStream .
75
Primer
import java.util.*; class UnosBroja{ public static void main(String args[]){ Scanner konzUlaz=new Scanner(System.in); int broj=0; System.out.println("Unesite broj: "); broj = konzUlaz.nextInt(); System.out.println(“Unet je broj: "+ broj); } } 76
Zadatak Zadatak 1. Napisati program koji izračunava zbir dva broja koje unosi korisnik
public class Zbir{ public static void main (String[] args) { int br1, br2, suma; Scanner consoleIn = new Scanner(System.in); System.out.println("Unesite prvi broj: " ); br1 = consoleIn.nextInt(); System.out.println("Unesite drugi broj:" ); br2 = consoleIn.nextInt(); suma = br1+br2; System.out.println("Zbir je: " +suma); } } 77
Zadaci
Zadatak 2. Napisati program koji izračunava obim i površinu kruga pri čemu korisnik unosi poluprečnik kruga
import java.util.Scanner; public class Krug { } public static void main (String[] vpar) { double poluprecnik; double obim, povrsina; Scanner consoleIn = new Scanner( System.in ); System.out.print("Unesite poluprecnik kruga: "); poluprecnik = consoleIn.nextDouble(); } povrsina = poluprecnik * poluprecnik * Math.PI; obim = 2 * poluprecnik * Math.PI; System.out.println ("Obim kruga iznosi: " + obim); System.out.println("Povrsina kruga iznosi:" + povrsina); 78
Dodatak NetBeans IDE 6.5
Kreiranje novog projekta
Pokrenite
NetBeans IDE 7.0
. Odaberite opciju kao na slici 1.
File > New Project
Slika 1. Kreiranje novog projekta
80
Kreiranje aplikacije
U dijalogu Java New Project wizard, i odaberite otvorite kategoriju Java Application i pritisnite Next Slika 2. Kreiranje aplikacije
81
Kreiranje aplikacije
Na stranici Name and Location 1.
2.
3.
4.
5.
uradite kao na slici: U polje Project Name unesite HelloWorldApp . Ostavite Use Dedicated Folder for Storing Libraries checkbox neselektovan. U polje Create Main Class helloworldapp.HelloWorldApp
. unesite Selektujte Set as Main Project . Kliknite Finish
82
Kreiranje aplikacije
Slika3. Kreiranje klase
83
Kreiranje aplikacije
Nakon toga projekat je kreiran i otvoren. Prozor NetBens IDE bi trebao da prikazuje sledeće komponente: Listu projekata u prozoru komponenti projekta, kao što su fajlovi sa kodom, biblioteke koje se koriste… Projects , koji sadrži stablo svih Editor koda Source Editor nazivom HelloWorldApp .
sa otvorenim fajlom pod Prozor za navigaciju Navigator , za brzu navigaciju između elemenata selektovane klase Lista sa rezultatima Tasks kompajliranja i druge komentare. (ako se prikazuje moguće je odabrati sa , koji lista greške prilikom Window>Tasks )
84
Kreiranje aplikacije
85
Kreiranje aplikacije
Pošto smo čekirali prethodno opciju Create Main Class, IDE je kreirao main klasu umesto nas. Na mesto komenatara: // TODO code application logic here Moguće je uneti proizvoljan kod, na primer: System.out.println("Hello World!"); Izmene se čuvaju sa opcijom File > Save .
IDE ima opciju: Compile on Save projekat da bi se pokrenuo.
, te nije potrebno izričito kompajlirati Za pokretanje programa treba odabrati opciju: Run > Run Main Project (F6). Ako program ne sadrži greške rezultat izvođenja ovog programa se prikazuje:
86
Zadaci if
Napisati program koji traži od korisnika da unese iznos svoje mesečne plate. Ako je plata veća od 75000, program treba da ispiše poruku o bonusu u iznosu od 1000 dinara. Ako je plata manja od 75000, program treba da ispiše poruku o bonusu od 2000 dinara Napisati program koji traži od korisnika da unese dva broja i kao rezultat ispisuje manji od ta dva.
Napisati program koji traži od korisnika da unese ime i godine starosti deteta kao i rezultat testa. Ako je ili broj godina veće od šest ili rezultat testa veći ili jednak od 85, program treba da ispiše poruku da je dete spremno za prvi razred. Inače, treba ispisati poruku da dete treba da pokusa naredne godine
87
Zadaci Switch
Napisati program koji od korisnika traži unos dva realna broja a zatim obavlja operaciju u zavisnosti od izbora korisnika. Od korisnika se traži izbor jedne od narednih opcija: zbir, razlika, proizvod, količnik. Pomoć: od korisnika se traži unos broja: 1 za zbir, 2 za razliku, 3 za proizvod, 4 za količnik. Potrebno je koristiti promenljivu tipa int koja će primiti odgovarajuću vrednost Napisati program koji učitava godinu studija studenta u obliku celog broja i zatim štampa da li je student brucoš, student druge godine, student treće godine ili apsolvent u zavisnosti da li je unet broj 1, 2, 3 ili 4. ponuditi rešenje uz pomoć if naredbe kao i uz switch.
88