You are on page 1of 9

Razlika tri broja

Uporaba uvjetnog grananja

dr. sc. Nebojša Rašović – vježbe


Fakultet strojarstva,
Uvjetno grananje IF/THEN računarstva i
elektrotehnike

1. Napisati program koji će učitati tri broja, pronaći najveći


među njima, a zatim izračunati razliku najvećeg i zbroja
preostala dva.

Dijagram toka

dr. sc. Nebojša Rašović – vježbe 2


Fakultet strojarstva,
Uvjetno grananje IF/THEN (2) računarstva i
elektrotehnike

• Potrebno je definirati vrijednosti tri broja od strane korisnika. Operacija učitavanja dodjeljuje upisane vrijednosti
varijablama 𝐀, 𝐁 𝑖 𝑪 . Varijable su područja memorije koje rezervira program i u koje se pohranjuju podatci tijekom
korištenja programa. Tip varijable (cjelobrojna, realna, tekstualna) ne prikazuje se u dijagramu toka.
• Potrebno je ustanoviti koji od tri učitana broja ima najveću vrijednost. U ovom primjeru koristi se ispitivanje dva logička
uvjeta, na temelju kojih se izvodi zaključak. Najprije se ispituje da li je vrijednost varijable 𝐀 istovremeno veća i od 𝐁 i od 𝐂.
Kada treba ispitati dva ili više povezanih logičkih uvjeta, oni se povezuju operatorima logičke 𝐤𝐨𝐧𝐣𝐮𝐤𝐜𝐢𝐣𝐞 ili 𝐝𝐢𝐬𝐣𝐮𝐧𝐤𝐜𝐢𝐣𝐞
(𝐀𝐍𝐃 ili 𝐎𝐑). Ako je odgovor na pitanje prvog uvjeta istinit, to znači da je varijabla 𝐀 najveća, pa onda varijabla 𝐑𝐚𝐳𝐥𝐢𝐤𝐚
poprima vrijednost prema izrazu: 𝐑𝐚𝐳𝐥𝐢𝐤𝐚 = 𝐀 − (𝐁 + 𝐂).
• Ako prvi uvjet nije ispunjen, prelazi se na ispitivanje sljedećeg uvjeta, da li je vrijednost varijable 𝐁 istovremeno veća i od 𝐀
i od 𝐂. Ako je drugi uvjet ispunjen, vrijednost varijable 𝐑𝐚𝐳𝐥𝐢𝐤𝐚 se računa prema izrazu: 𝐑𝐚𝐳𝐥𝐢𝐤𝐚 = 𝐁 − (𝐀 + 𝐂).
• Ako ni drugi uvjet nije ispunjen, preostaje još samo mogućnost da varijabla 𝐂 ima najveću vrijednost, pa se varijabla
𝐑𝐚𝐳𝐥𝐢𝐤𝐚 računa prema izrazu: 𝐑𝐚𝐳𝐥𝐢𝐤𝐚 = 𝐂 − (𝐀 + 𝐁).
• Nakon ispitivanja uvjeta i izračuna vrijednosti razlike, sve tri grane dijagrama spajaju se u čvorište u jednu, nakon čega
slijedi ispis vrijednosti varijable 𝐑𝐚𝐳𝐥𝐢𝐤𝐚 i program završava.

dr. sc. Nebojša Rašović – vježbe 3


Fakultet strojarstva,
Uvjetno grananje IF/THEN (3) računarstva i
elektrotehnike

• Programsko rješenje prikazanog algoritma zamišljeno je način da korisnik unosi brojeve u tri okvira s tekstom, te nakon
unosa aktivira gumb koji pokreće proceduru za izračunavanje traženog izlaznog podatka (Razlike). U četvrtom okviru
procedura ispisuje izračunatu razliku. Pritiskom na gumb za novi niz, obrisali bi se svi okviri s tekstom i program bi se
pripremio za novi unos.
• Forma se sastoji od sljedećih objekata: 3 okvira s tekstom za unos tri ulazna podatka, jednog okvira s tekstom za ispis
razlike, 4 pripadna natpisa, te naredbenog gumba koji pokreće proceduru za izračun i naredbenog gumba koji pokreće
proceduru za novi unos podataka.

Forma programa
dr. sc. Nebojša Rašović – vježbe 4
Fakultet strojarstva,
Uvjetno grananje IF/THEN (4) računarstva i
elektrotehnike

• Za svaki događaj, odnosno pritiskom na gumb, potrebno je dodati pripadajući programski kod. Prozor s programskim
kodom otvara se dvostrukim klikom na objekt s forme.
• Varijable se prije uporabe deklariraju. Globalne varijable su postojane, traju koliko i program i zadržavaju vrijednosti od
jednog poziva funkcije do drugog. Lokalne varijable su deklarirane unutar funkcije (ili bloka) i traju samo dok se funkcija
(blok) izvodi.
• Programski kod započinje deklariranjem globalnih varijabli 𝐀, 𝐁, 𝐂 i 𝐑𝐚𝐳𝐥𝐢𝐤𝐚 kao tip 𝐃𝐨𝐮𝐛𝐥𝐞, tj. realni brojevi dvostruke
preciznosti. Globalne varijable deklariramo u klasi Form1:
• Inicijalno su vrijednosti brojčanih varijabli nakon deklariranja jednake nuli, no moguće ih je definirati tako da na početku
imaju neku konkretnu vrijednost, npr.: Dim X as Integer = 12
• Dvostrukim klikom na objekt Razlika, Visual Basic automatski kreira početni kod za potprogram događaja
Button1_Click() tj. aktiviranje naredbenog gumba Razlika:

dr. sc. Nebojša Rašović – vježbe 5


Fakultet strojarstva,
Uvjetno grananje IF/THEN (5) računarstva i
elektrotehnike

• Između Private Sub Button1_Click i End Sub upisuje se programski kod koji se izvršava nakon aktiviranja
gumba od strane korisnika.
• Kada je korisnik unio brojeve u okvire s tekstom, u potprogramu za događaj Razlika postavljaju se vrijednosti varijabli 𝐀, 𝐁
i 𝐂 na vrijednosti unesene u okvire s tekstom TextBox1.Text, TextBox2.Text, TextBox3.Text prema:

• Vrijednosti osobina zapisuju se u obliku objekt.osobina. Nakon upisanog imena objekta i točke, Visual Basic nudi popis osobina koju
možemo automatski upisati odabirom i pritiskom tastera Tab.
• Funkcija 𝐂𝐃𝐛𝐥 označava pretvorbu (Eng. Converting) tekstualne vrijednosti u numeričku vrijednost tipa 𝐃𝐨𝐮𝐛𝐥𝐞. Prema dijagramu toka,
ispitati da li je vrijednost varijable 𝐀 istovremeno veća od varijabli 𝐁 i 𝐂. Za tu svrhu koristi se naredba uvjetnog grananja odnosno
logičke usporedbe, koja određuje koji će se dio programskog koda izvršiti ovisno o istinitosti ispitanog uvjeta. Općeniti zapis sintakse:
If uvjet_1 Then
Blok_naredbi_1
Elseif uvjet_2
Blok_naredbi_2
Else
Blok_naredbi_3
Endif
dr. sc. Nebojša Rašović – vježbe 6
Fakultet strojarstva,
Uvjetno grananje IF/THEN (7) računarstva i
elektrotehnike

• Potrebno je ispitati da li su zadovoljena dva uvjeta istovremeno, pa u takvom slučaju takve uvjete treba povezati tzv.
logičkim operatorom konjukcije (𝐀𝐧𝐝). Svaki od dva povezana uvjeta koristi operator usporedbe označen simbolom >.

Popis operatora usporedbe

dr. sc. Nebojša Rašović – vježbe 7


Fakultet strojarstva,
Uvjetno grananje IF/THEN (8) računarstva i
elektrotehnike

• Ako su oba uvjeta zadovoljena izračunava se i dodjeljuje vrijednost varijabli 𝐑𝐚𝐳𝐥𝐢𝐤𝐚 prema izrazu 𝐀 − (𝐁 + 𝐂), gdje
naredba 𝐑𝐚𝐳𝐥𝐢𝐤𝐚 = 𝐀 − (𝐁 + 𝐂) ne predstavlja matematičku jednadžbu već dodjeljivanje (pridruživanje), što znači da
lijeva strana od znaka jednakosti poprima vrijednost desne strane. Zatim se izlazi iz strukture, odnosno nastavlja se sa
sljedećom naredbom iza rezervirane riječi 𝐄𝐧𝐝𝐢𝐟. Ako jedan ili oba uvjeta nisu zadovoljeni, unutar strukture naredbe
uvjetnog grananja prelazi se na ispitivanje sljedećeg uvjeta iza rezervirane riječi 𝐄𝐥𝐬𝐞𝐢𝐟 (da li je varijabla 𝐁 istovremeno
veća od varijabli 𝐀 i 𝐂).
• Ako je taj uvjet ispunjen, izračunava se i dodjeljuje vrijednost varijabli 𝐑𝐚𝐳𝐥𝐢𝐤𝐚 prema izrazu 𝐁 − (𝐀 + 𝐂). Ako niti taj uvjet
nije ispunjen, onda preostaje samo mogućnost da je vrijednost varijable 𝐂 najveća – vrijednost varijable 𝐑𝐚𝐳𝐥𝐢𝐤𝐚 tada se
izračunava prema naredbi koja slijedi iza rezervirane riječi 𝐄𝐥𝐬𝐞.

• Ovdje je važno uočiti i razumjeti da će se, ovisno o vrijednostima varijabli 𝐀, 𝐁 i 𝐂 uvijek izvršiti jedna i samo jedna od triju
naredbi za dodjeljivanje vrijednosti varijabli 𝐑𝐚𝐳𝐥𝐢𝐤𝐚, a nakon toga izvođenje programa se nastavlja sa prvom sljedećom
naredbom iza rezervirane riječi 𝐄𝐧𝐝𝐢𝐟, koja označava kraj strukture uvjetnog grananja. Na kraju programa, ispisuje se
vrijednost varijable 𝐑𝐚𝐳𝐥𝐢𝐤𝐚 u okvir s tekstom TextBox4.Text.
• Potprogram Novi unos za novi unos vraća osobine objekata na početne vrijednosti.

dr. sc. Nebojša Rašović – vježbe 8


Fakultet strojarstva,
Uvjetno grananje IF/THEN (9) računarstva i
elektrotehnike

• Cjelokupni kod programa je kako slijedi:

Cjelokupni programski kod rješenja zadatka

dr. sc. Nebojša Rašović – vježbe 9

You might also like