IZBORNIK HOME FORUM ACCESS EXCEL WORD KAZALO
   
  Kazalo Visual basic
1 Visual Basic 6.0 UVOD
2 Varijable i konstante
3 Prihvat i ispis podataka
4 Nizovi podataka
5 Upis i čitanje iz datoteke
6 Slučajni brojevi
7 Logička provjera
8 Pretvaranje i izdvajanje podataka
9 Programske petlje
10 Potprogrami i funkcije
11 Grafika u VB
12 Multimedija u VB
13 Razni primjeri
   
.17
.
AutoCad tutoriali

-

.
.

Adsense sponzor



VB - Visual Basic za početnike i neznalice - VBA for dummies

VB - VISUAL BASIC 6.0
LOGIČKA PROVJERA

Search This Web Site

Adsense sponzor






OBJAŠNJENJE


Logičku provjeru uvjeta obavljamo kroz IF ... END IF strukturu koja izgleda ovako:

IF uvjet1 THEN
     
iskazi koji se trebaju izvršiti ako je uvjet1 istinit
ELSEIF uvjet2 THEN
      iskazi koji se trebaju izvršiti ako je uvjet2 istinit
ELSEIF
uvjet3 THEN
      iskazi koji se trebaju izvršiti ako je uvjet3 istinit
ELSE

     iskazi koji se trebaju izvršiti ako ni uvjet1 ni uvjet2 ni uvjet3 nisu istiniti
END IF

IF označava početak logičke provjere i znači "ako je...".
ELSEIF iskaza može biti prema potrebi ali nisu obavezni.
ELSE iskaz može biti samo jedan ali isto nije obavezan.
END IF označava kraj logičke provjere.

Svaki provjeravani uvjet može rezultirati kao TRUE (istina) ili FALSE (laž), na primjer:

IF 10 < 20 THEN ... (ako je 10 manje od 20) rezultira s TRUE jer je 10 manje od 20.
IF 10 > 20 THEN ... (ako je 10 veće od 20)  rezultira s FALSE jer 10 nije veće od 20.

Ako uvjet rezultira s TRUE tada se izvršava ono što je navedeno iza THEN.
Ako uvjet rezultira s FALSE tada se ne izvršava ono što je navedeno iza THEN
već se logička provjera nastavlja na prvom slijedećem ELSEIF ili ELSE iskazu.

  

RELACIJSKI OPERATORI


U logičkoj provjeri za usporedbu varijabli koristimo relacijske operatore koji su nam poznati iz matematike i imaju ista značenja (vidi desno).

   

LOGIČKI OPERATORI


Ako istovremeno provjeravamo više uvjeta onda moramo koristiti logičke operatore
AND (logičko I), OR (logičko ILI) i NOT (logičko NE) kojima te uvjete povezujemo.
Donja tablica prikazuje u kojim slučajevima logički operatori vraćaju TRUE i FALSE:

AND
(logičko I)

OR
(logičko ILI)

NOT
(logičko NE)

VRAĆA

ako su oba
uvjeta TRUE

ako je jedan
uvjet TRUE

ako je uvjet
FALSE

TRUE
(logičku ISTINU)

ako je jedan
uvjet FALSE

ako su oba
uvjeta FALSE

ako je uvjet
TRUE

FALSE
(logičku LAŽ)

   

PRIMJERI LOGIČKE PROVJERE


Primjer usporedbe dva broja.
Da bi u donjem primjeru ustanovili koji je broj veći (a ili b), moramo predvidjeti sve mogućnosti:
- da prvi broj može biti veći od drugog (a > b)
- da prvi broj može biti manji od drugog (a < b)
- i zadnje, da brojevi mogu biti jednaki (a = b)

PROGRAMSKI KOD OBJAŠNJENJE
REM usporedba dva broja
a = VAL(InputBox("
Upiši prvi broj:"))
b = VAL(InputBox("
Upiši drugi broj:"))
IF a > b THEN
     MsgBox "
Prvi broj je veći!"
ELSEIF a < b THEN
     MsgBox "
Drugi broj je veći!"
ELSE
     MsgBox "
Brojevi su jednaki!"
END IF
'komentar
'prihvat prvog broja u varijablu a
'prihvat drugog broja u varijablu b
'ako je a veće od b tada...
'... ispiši da je prvi broj veći
'ako je a manje od b tada...
'... ispiši da je drugi broj veći
'ako nije niti jedno od gornjeg...
'... ispiši da su brojevi jednaki
'kraj logičke provjere

* Funkcijom VAL() upisani podatak
    pretvaramo u broj!


Primjer provjere da li je korisnik upisao ispravan broj.

Da bi u donjem primjeru provjerili da li je korisnik upisao ispravan broj (između 5 i 10), moramo provjeriti slijedeće mogućnosti:
- da li je upisani broj manji od 5 (neispravan upis)
- da li je upisani broj veći od 10 (neispravan upis)
- a ako nije ni manji od 5 ni veći od 10 onda je upis ispravan.

PROGRAMSKI KOD OBJAŠNJENJE
REM provjera upisanog broja
x = VAL(InputBox("
Upiši broj između 5 i 10:"))
IF x <
5 OR x > 10 THEN
     MsgBox "
Neispravno upisan broj!"
ELSE
     MsgBox "
Ispravno upisan broj!"
END IF
'komentar
'prihvat broja u varijablu x
'ako je broj manji od 5 ili veći od 10 tada...
'... ispiši da je upis neispravan
'u suprotnom (broj je između 5 i 10)...
'... ispiši da je upis ispravan
'kraj logičke provjere


Primjer usporedbe tri broja.

Da bi u donjem primjeru ustanovili koji je broj veći (a, b ili c), moramo predvidjeti sve mogućnosti:
- da prvi broj može biti veći od drugog i trećeg (a > b i a > c)
- da drugi broj može biti veći od prvog i trećeg (b > a i b > c)
- da treći broj može biti veći od prvog i drugog (c > a i c > b)
- ... ali i da dva broja mogu biti jednaka a veća od trećeg, ili da su sva tri broja jednaka.

PROGRAMSKI KOD OBJAŠNJENJE
REM usporedba tri broja
a = VAL(InputBox("
Upiši prvi broj"))
b = VAL(InputBox("
Upiši drugi broj"))
c = VAL(InputBox("
Upiši treći broj"))
IF a > b AND a > c THEN
     MsgBox "
Prvi broj je najveći!"
ELSEIF b > a AND b > c THEN
     MsgBox "
Drugi broj je najveći!"
ELSEIF c > a AND c > b THEN
     MsgBox "
Treći broj je najveći!"
ELSEIF a = b AND a > c THEN
     MsgBox "
Prvi i drugi broj su najveći!"
ELSEIF b = c AND b > a THEN
     MsgBox "
Drugi i treći broj su najveći!"
ELSEIF c = a AND c > b THEN
     MsgBox "
Prvi i treći broj su najveći!"
ELSE
     MsgBox "
Svi brojevi su jednaki!"
END IF
'komentar
'prihvat prvog broja u varijablu a
'prihvat drugog broja u varijablu b
'prihvat trećeg broja u varijablu b
'ako je a veće od b i a veće od c tada...
'... ispiši da je prvi broj najveći
'ako je b veće od a i b veće od c tada...
'... ispiši da je drugi broj najveći
'ako je c veće od a i c veće od b tada...
'... ispiši da je treći broj najveći
'ako je a jednako b i a veće od c tada...
'... ispiši da su prvi i drugi broj najveći
'ako je b jednako c i b veće od a tada...
'... ispiši da su drugi i treći broj najveći
'ako je c jednako a i c veće od b tada...
'... ispiši da su prvi i treći broj najveći
'ako nije niti jedno od gornjeg...
'... ispiši da su brojevi jednaki
'kraj logičke provjere

Adsense sponzor







Adsense sponzor



  Ova web stranica koristi COOKIES - COPYRIGHT - 2006 - 2017 - IvanC - ic.ims.hr