E N D
OSNOVE PROGRAMIRANJA NAREDBE ODLUČIVANJA I SKOKA– drugi dio -
NAREDBE ODLUČIVANJA SU: 1) IF – THENnaredba 2) IF – THEN – ELSE naredba 3) složenaIF – THEN naredba i 4) CASE naredba
1) IF uvjet THEN naredba Uvjet kojeg čini testiranje određene varijable može biti istinit (TRUE) ili lažan (FALSE) Ako je uvjet istinit izvršiti će se naredba iza THEN, a ako uvjet nije istinit, računalo će prijeći na sljedeću programsku naredbu.Upišimo sljedeći program: CLS INPUT “Upiši cijeli broj”, x IF x>0 THEN PRINT x; “ je veći od 0” IF x=0 THEN PRINT x; “ je jednak 0” IF x<0 THEN PRINT x; “ je manji od 0”
2)IF uvjet THEN naredba ELSE naredba Ako je uvjet istinit izvršiti će se naredba iza THEN, a ako uvjet nije istinit, tada će se izvršiti naredba iza ELSE. Naredbu IF THEN ELSE obavezno pišemo u istom redu! CLS INPUT “Upiši cijeli broj”, x IF x>0 THEN PRINT x; “ je veći od 0” ELSE PRINT x; “ nije veći od 0”
3)Ako u potpunosti želimo riješiti prethodni zadatak ispitujući da li je unesena vrijednost jednaka 0 tada koristimo složenu konstrukciju IF – THEN – ELSE (- END IF) naredbe. Složena IF naredba može se pisati u jednom redu, ali isto tako i u više redova (radi bolje preglednosti) pri ćemu mora završiti s ključnom riječi End If (što znači: kraj IF naredbe) Ako iza ELSE dolazi nova IF naredba, tada pišemo kao jednu riječ ELSEIF, a ne ELSE IF. • Naredbe iza ELSE i THEN pišu se u novi red.
Zadatak:Prethodni primjer riješimo sa IF – THEN – ELSE naredbom sa upotrebom END IF CLS INPUT “Upiši cijeli broj”, x IF x>0 THEN PRINT x; “ je veći od 0” ELSEIF x=0 THEN PRINT x; “ je jednak 0” ELSE PRINT x; “ je manji od 0” END IF
4)CASE naredba CASE naredba zamjenjuje niz uzastopnih IF – THEN naredbi. Naredbu CASE pišemo u slijedećem obliku: SELECT CASE vrijednost nepoznanice x CASE vrijednost 1 CASE vrijednost 2 END SELECT Postoji nekoliko načina navođenja vrijednosti nepoznanice u CASE naredbi: • iza CASE slijedi jedan broj CASE 7 • iza CASE slijedi više vrijednosti CASE 1,2,4,8 • iza CASE slijedi interval CASE 10 to 15 • iza CASE slijedi logički izraz CASE IS > 20 • za sve prethodno nenavedeno (zadnji uvjet) CASE ELSE
Zadatak:Napišite program koji će za upisani mjesec ispisati broj dana tog mjeseca. Napravite program prvo pomoću IF THEN naredbe, a zatim pomoću naredbe CASE. Rješenje pomoću IF THEN naredbe: CLS INPUT “Upiši redni broj mjeseca”, M IF M = 1 THEN PRINT M;”. mjesec ima 31 dan.” IF M = 2 THEN PRINT M;”. mjesec ima 28 ili 29 dana.” IF M = 3 THEN PRINT M;”. mjesec ima 31 dan.” .....
Rješenje pomoću CASE naredbe: CLS INPUT “Upiši redni broj mjeseca”, M SELECT CASE M CASE 1,3,5,7,8,10,12 PRINT M; “. mjesec ima 31 dan.” CASE 4,6,9,11 PRINT M; “. mjesec ima 30 dana.” CASE 2 PRINT M; “. mjesec ima 28 ili 29 dana.” CASE ELSE PRINT “Godina ima 12 mjeseci.” END SELECT
Naredba skoka - GOTO naredba GOTO naredba je bezuvjetna naredba - program bezuvjetno prelazi s jedne linije izvođenja na drugu.
Zadatak:Napišimo program koji učitava 10 brojeva i računa njihov zbroj. CLS brojac = 0 zbroj = 0 10 IF brojac > 10 THEN GOTO 20 INPUT “Upiši broj”, x zbroj = zbroj + x brojac = brojac + 1 GOTO 10 20 PRINT “Zbroj je “; zbroj Na engleskom GOTO znači idi na odnosno “skok”. U slučaju GOTO 10 program se bezuvjetno vraća na liniju 10 (bezuvjetni skok).