E-gradiva > Računalništvo > Programiranje > Upravljanje s programirljivimi napravami > Odločitveni stavki

Prijava

Odločitveni stavki

Blok diagram stavka If

V večini računalniških programov se pogosto vprašamo ali podatki, ki smo jih dobili iz vhoda oz. iz predhodnih izračunov, ustrezajo določenemu pogoju.  V vsakdanjem življenju bi se lahko vprašali ali je kava že skuhana. V  tem primeru, bi preverili, če je mešanica vode, sladkorja in kave že zavrela. Če je mešanica že zavrela, izklopimo stikalo in odstavimo pripravljeno kavo. Podobno je v svetu programiranja.

 

Preverjanje ali je pogoj izpolnjen in katere ukaze bomo izvedli, če je pogoj izpolnjen in katere, ko pogoj ni izpolnjen, lahko definiramo s stavki if - else.

 

Poglejmo si kakšna je splošna oblika stavka if-else:

if ( pogoj ) stavek_1;
else
stavek_2; 

 


 

V stavku if preverimo, če je pogoj izponjen. Če je pogoj izpolnjen, izvedemo stavek_1, če pogoj ni izpolnjen, izvedemo stavek_2 (else del stavka if). Stavek else lahko nastopa ali ne nastopa! Če stavek else ne nastopa, se v primeru, da je pogoj izpolnjen izvede stavek_1. Če pogoj ni izpolnjen, se stavek_1 preskoči in se začne izvajati naslednji stavek za celotno strukturo.

  

Pogledali si bomo primer psevdokoda za algoritem, ki poišče večjega od dveh števil:

 

VHOD:

  dve števili

 

IZHOD:

  vrednost večjega izmed dveh števil

 

ALGORITEM:

    vnesi števili

     if (prvo število > drugo število)

         izpiši prvo število

    else

         izpiši drugo število

 

Iz algoritma lahko vidimo, da je naš pogoj (prvo število > drugo število). Če je pogoj izpolnjen (prvo število je večje od drugega), izpišemo prvo število. Če pogoj ni izpolnjern (prvo število ni večje od drugega), izpišemo drugo število. Pred zapisom pogoja uporabljamo besedo if, ki v slovenščini pomeni "če" oziroma "ali je".  S stavkom if (prvo število > drugo število), se v našem primeru vprašamo, če je prvo število večje od drugega. Z ukazi, ki so za besedo if, povemo, kaj narediti, če je pogoj izpolnjen. Z ukazi, ki so za besedo else pa povemo kaj narediti, če pogoj ni izpolnjen.

 

Prikažimo še program v jezku C++:

 

//Program poisce najvecje med dvema steviloma
# include <iostream>
using namespace std;

int
main ()
{
int prvi, drugi;

cout << "Vnesi prvo stevilo: ";
cin >> prvi;
cout << "Vnesi drugo stevilo: ";
cin >> drugi;
if
(prvi > drugi)
cout << prvi << endl;
else

cout << drugi << endl;
return
0;
}


 

Iz zgornjega programa vidimo, da smo v program dodali enaki rezervirani besedi (if - če je prvo število večje od drugega in else, če je drugo število večje od prvega), kot smo jih uporabili v psevdokodu. Ostale stavke programa že poznamo iz prvega poglavja. V naslednjem podpoglavju je predstavljena animacija delovanja tega programa.