Naredba if - then

     

 

Primijetili ste da je za dosadašnje rješavanje zadataka bilo je dovoljno unijeti podatke s tipkovnice, računati i ispisati rezultate na zaslon. No većina problema s kojima se susrećemo zahtjeva nešto složenije naredbe. Vrlo često pojedine naredbe treba izvršiti samo ako je neki uvjet zadovoljen. Recimo, treba izračunati drugi korijen nekog broja, ali to možemo samo ako je broj veći od nule. Za takve probleme moramo omogućiti grananje u programu.

Ako je neki uvjet zadovoljen, izvršiti će se niz naredbi. U protivnom prelazimo na prvu sljedeću naredbu iza grananja. Takav način grananja nazivamo jednostrukim grananjem.

Pomoću naredbe if .. then možemo izvršiti jednostruko grananje. Opći oblik ove naredbe je.

if uvjet then naredba;

To bi značilo ako je uvjet istinit naredba se izvršava, u protivnom se preskače.

Ukoliko treba izvršiti više naredbi, ako je uvjet istinit, naredbe se grupiraju pomoću begin i end i tada je opći oblik naredbe:

if uvjet then begin

naredba_1;
naredba_2;
. . . . .
naredba_n;

Dijagramom tijeka if..then naredbu možemo prikazati ovako:

Proučite sljedeća grananja:

  1. ako je prirodan broj a paran ispiši poruku "Paran je"
    if a mod 2 = 0 then writeln('Paran je');
  2. Ako je broj a manji od b ispiši poruku "Manji je"
    if a<b then writeln('Manji je');
  3. Ako je broj veći od 0 izračunaj njegov drugi korijen
    if a>0 then korijen:=sqrt(a);

Sljedeće zadatke riješite u FreePascalu.

Zadatak 1:

Učitati cijeli broj a i provjeri kakav je u odnosu na nulu.

Zadatak 2:

Za učitana tri cijela broja ispiši najmanji.

Napomena: Najjednostavniji način pronalaska najmanjeg (ili najvećeg) elementa u nizu svodi se na to da, jedan element (bilo koji, ali uobičajeno je da to bude prvi element) proglasimo najmanjim (ili najvećim) i dalje redom usporedimo sve elemente s tim pretpostavljenim. Ukoliko pronađemo element manji (ili veći) od pretpostavljenog on postaje pretpostavljeni, a postupak nastavljamo dok ne dođemo do kraja niza.

Neki zadaci zahtijevaju da se, ako je uvjet zadovoljen, izvrši jedan blok naredbi, a ako uvjet nije zadovoljen izvrši neki drugi blok naredbi. Recimo, ako je broj veći od nule izračunaj njegov drugi korijen, a ako nije ispiši poruku "Nemoguce". U tom slučaju pomoći će nam naredba koju ćemo upoznati u idućoj lekciji.