JavaScript Tutor
Lekcija 1
Lekcija 2
Lekcija 3
Lekcija 4
Lekcija 5
Lekcija 6
Lekcija 7
iDragstor Lab
|
|
|

If, Else komande i logicki operateri
If(ako je uslov ispunjen) / Else(u suprotnom)
U programiranju se cesto javlja potreba za uvodjenjem logike ili nacina da
program izvrsi odredjene akcije u zavisnosti od nekakvih uslova. Recimo, ako je ispunjen jedan
uslov program ce uraditi jednu stvar, ako je ispunjen drugi uslov onda ce
uraditi nesto drugo a ako je ispunjen neki treci uslov ili nijedan od prva dva program
ce uraditi nesto trece. Za ovakvo uslovljavanje ili logicko razmisljanje JavaScript koristi
komandu IF/Else i logicke operatere o kojima cemo nesto kasnije.
If komanda za izvrsenje jedne linije programa
If komanda se koristi za testiranje nekog uslova i akcije koja treba
da se izvrsi ako je taj uslov ispunjen. Primer, ako korisnik zeli da ide na
godisnji odmor u mesecu Julu, onda zelimo da mu damo popust na avio karte
u vrednosti od 25%. Sintaksa za ovaj slucaj izgleda ovako:
If (mesec == "Juli") document.write("Cestitamo dobili ste popust od 25%")
Znaci nakon komande If u zagradi ispitujemo uslov i ako je uslov ispunjen
dajemo poruku pomocu document.write() naredbe. JavaScript koristi znak
"==" za utvrdjivanje jednakosti sto je veoma znacajno jer znak "=" ima drugu funkciju.
If komande su case-sensitive u ispitivanju uslova, sto znaci da Juli nece
biti isto sto i juli. U sledecem primeru koristicete If komandu da ispitate
koji je korisnikov omiljeni sport i u zavisnosti od odgovora prikazacete poruku.
<HTML>
<HEAD>
</HEAD>
<BODY>
<script language = "JavaScript">
var sport = prompt("Koji je vas omiljeni sport","")
if (sport=="kosarka") document.write("Kosarka je veoma interesantan sport!")
</script>
</BODY>
</HTML>
If komanda za izvrsenje nekoliko linija programa
U daljem programiranju pojavice vam se potreba da nakon sto je uslov ispitan
izvrsite vise od jedne linije KOD-a. Naprimer mozete prikazati nekoliko poruka,
ili prikazati poruku i postaviti drugo pitanje pomocu prompt kutije. Za izvrsenje
nekoliko linija KOD-a koriste se velike zagrade "{}". Primer:
if (x==1) {
Akcija 1
Akcija 2
Akcija 3 }
U sledecem primeru mozete videti kako JavaScript izvrsava nekoliko linija koda.
<HTML>
<HEAD>
</HEAD>
<BODY>
<script language = "JavaScript">
var sport = prompt("Koji je vas omiljeni sport","")
if (sport=="kosarka") {
var vrsta = prompt("Koju vrstu kosarke volite MBA/Evropska?","MBA")
vrsta = vrsta.toLowerCase()
if (vrsta=="mba") {
document.write("MBA Kosarka je veoma interesantna!<br>")
document.write("MBA Kosarka je najaca liga na svetu")}
if (vrsta=="evropska") {
document.write("Evropska Kosarka je veoma interesantna!<br>")
document.write("Evropska Kosarka je jedna od najacih liga na svetu")}
}
</script>
</BODY>
</HTML>
If/Else komanda
U programiranju se cesto javlja potreba da se ispitaju odredjeni uslovi,
na osnovu tih uslova izvrse odredjene akcija a ukoliko nijedan od uslova nije
ispunjen izvrsi neka genericna akcija. Recimo, mozete upitati korisnika koje
mu je boje automobil. Ako je crvene, plave ili zelene boje program ce izvrsiti
advekvatne akcije a ako je bilo koje druge boje program ce upotrebiti genericnu
akciju koja se odnosi na sve ostale boje.Za to se u JavaScript-u koristi
komanda If/Else.Pogledajte sintaksu:
If (prvi uslov) {akcije)
Else If (drugi uslov) {akcije}
Else If (treci uslov) {akcije}
Else (akcije u slucaju da predhodna 3 slucaja nisu ispunjena}
U sledecem primeru videcete kako se koristi If/Else
<HTML>
<HEAD>
</HEAD>
<BODY>
<script language = "JavaScript">
var sport = prompt("Koji je vas omiljeni sport","")
sport = sport.toLowerCase()
if (sport=="kosarka") {
document.write("Kosarka je veoma interestan sport!<br>")}
else if (sport=="vaterpolo") {
document.write("Vaterpolo je veoma interestan sport!<br>")}
else if (sport=="futbal") {
document.write("Futbal je veoma interestan sport!<br>")}
else {document.write("Ovaj uslov nije poznat!<br>")}
</script>
</BODY>
</HTML>
Znaci ako vam je omiljen sport kosarka, futbal ili vaterpolo dobicete
unikatnu poruku a ako je neki drugi sport u pitanju dobicete genericnu
poruku: Ovaj uslov nije poznat!
Ostali znaci poredjenja
Osim ispitivanja jednakosti (==) bice vam potrebno da ispitate i druge
uslove kao sto su nejednakost, vece , manje, itd. Za ovo se koriste sledeci
znaci:
Nejednakost (!=)
Vece (>)
Manje (<)
Vece ili jednako (>=)
Manje ili jednako (>=)
U sledecem primeru pitacete korisnika koliko je sati (0-24) i u zavisnosti
od odgovora prikazati poruke koristeci se If/Else komandom.
<HTML>
<HEAD>
</HEAD>
<BODY>
<script language = "JavaScript">
var hour = prompt("koliko je sati 0-24","")
if (hour<12){
document.write("Dobro Jutro")
}
else if(hour<24){
document.write("Dobar Dan")
}
else {
document.write("Pogresili ste broj sati")
}
</script>
</BODY>
</HTML>
Logicki operateri
U daljem programiranju naicicete na potrebu da ispitujete vise od jednog
uslova. Recimo pitacete korisnika koji mu je omiljeni sport i ako je
kosarka ili futbal preuzecete neku akciju, ili ako je futbal i vaterpolo
uradicete nesto drugo ili ako nije biciklizam uradicete nesto trece. Za
ovakvu vrstu logike koriste se logicki operateri AND(i) OR(ili) i NOT(negacija) .
Pogledajte simbole za ove operatere:
AND(i) &&
OR(ili) ||
NOT(negacija) !
Operater AND(&&) ispituje dva ili vise uslova i proizvodi Boolian
rezultat (true/false ili tacno/netacno). Da bi rezultat bio true (tacno)
svi uslovi moraju da budu tacni. Ako je jedan od uslova netacan rezultat
ce uvek biti false (netacno). Pogledajte sledeci primer:
If (x==1 && y==2) {document.write("x je 1 i y je 2)}
U ovom primeru document.write komanda ce biti izvrsena samo ako su oba
uslova ispunjena (x==1 i y==2), u suprotnom ako je jedan od uslova netacan (false)
rezultat proizveden AND (&&) operaterom ce biti false tako da se komanda nece izvrsiti.
Operater OR(||) bas kao i AND ispituje dva ili vise uslova i proizvodi Boolian
rezultat (true/false ili tacno/netacno). Da bi rezultat bio true (tacno)
barem jedan od uslova mora biti tacan. Ako su oba uslova netacna OR operater
ce proizvesti false (netacno). Pogledajte sledeci primer:
If (x==1 || y==2) {document.write("x je 1 ili y je 2)}
U ovom primeru document.write komanda ce biti izvrsena ako je jedan od
uslova ispunjen (x==1 ili y==2), u suprotnom ako su oba uslova netacna (false)
rezultat proizveden OR (||) operaterom ce biti false tako da se komanda nece izvrsiti.
Operater NOT (!) ispituje odredjen uslov i proizvodi suprotan rezultat.
Ako je uslov tacan(true) NOT operater ce priozvesti netacno(false) i obrnuto,
ako je uslon false NOT ce proizvesti true. Pogledajte sledeci primer:
var x = 2
if (x!=1) {
document.write("x je jednako 2, uslov negacije x!=1 je ispunjen")
}
U ovom primeru document.write komanda ce biti izvrsena zato sto je uslov
da x nebude jednak 1 (x!=1) ispunjen.
Kraj pete lekcije ..
Logicki operateri su veoma korisni u izgradnji kompleksne logike i
cesto se koriste u programiranju. Uradite sledeci primer pre nego
sto predjete na sledecu lekciju i vezbajte kombinaciju If/Else komandi
sa logickim operatirima. Ovo ce vam pomoci u daljem programiranju.
<HTML>
<HEAD>
</HEAD>
<BODY>
<script language = "JavaScript">
var brzina_bicikla = parseInt(prompt("Kolikom prosecnom brzinom vozite bicikl u km/s",""))
var brzina_trcanja = parseInt(prompt("Kolikom prosecnom brzinom trcite kada vezbate u km/s",""))
if ((brzina_bicikla < 1) || (brzina_trcanja < 1)) {
document.write("Ivalidni podaci molimo vas da pokusate ponovo!")}
else if ((brzina_bicikla) >= 20 && (brzina_trcanja >= 6)) {
document.write("Vi ste ozbiljan atleticar!")}
else if ((brzina_bicikla) >= 20 || (brzina_trcanja >= 6)) {
document.write("Vi ste u prilicno dobroj kondiciji!")}
else if ((brzina_bicikla <=20)) {
document.write("Probajte da vozite bicikl malo cesce!")}
else {document.write("Nijedan od uslova nije ipunjen - ovo je Else slucaj")}
</script>
</BODY>
</HTML>
|
|
|