Ulaz i izlaz podataka, naredba pridruživanja
2. Naredba pridruživanja
Svaki programski jezik ima naredbu pridruživanja. Ona varijabli s lijeve strane pridružuje vrijednost izraza s desne strane.
U pseudo jeziku naredba pridruživanja označava se sa :=.
Zbog čega baš :=?
U sljedećim lekcijama pojavit će se naredbe u kojima ćemo ispitivati jednakost izraza s lijeve i desne strane (npr. je li a+b jednako c+d). Za ispitivanje jednakosti koristit ćemo relacijski operator = i pisati a+b=c+d.
Da bi program mogao razlikovati pridruživanje od ispitivanja jednakosti, oni moraju biti drugačijeg oblika. Zbog toga u pseudo jeziku za naredbu pridruživanja koristimo znak :=, a za ispitivanje jednakosti znak =.
Ovakav zapis preuzet je iz programskog jezika Pascal. U programskom jeziku C za pridruživanje se koristi znak =, dok se jednakost ispituje znakom ==.
Primjer 1:
Naredbom a:=5, broj pet "pridružujemo" varijabli a. U stvari, u memorijsku lokaciju koju smo nazvali a upisujemo broj 5.
Primjer 2:
Naredba x:=a+2, najprije će iz memorijske lokacije imena a "dohvatiti" njezinu vrijednost (neka je to vrijednost iz prethodnog primjera, a:=5). Zatim će tu vrijednost (broj 5) zbrojiti sa brojem 2 i na kraju će dobiveni rezultat spremiti u memoriju, na mjesto imena x.
Primjer 3:
Naredba x:=x+4 najprije će iz memorije dohvatiti vrijednost varijable x (neka je to 7), zatim tom broju dodati broj 4. Dobiveni rezultat (11) spremiti će kao vrijednost varijable x (preko stare vrijednosti 7).
Primjer 4:
Pogledajmo koju će vrijednost imati varijabla x nakon izvođenja sljedećega dijela programa?
x := 3;
y := 2;
x := x – 3 * y;
y := -y;
x := x + y;
U početku je vrijednost varijable x jednaka 3, a vrijednost varijable y je 2.
U sljedećem koraku (x := x – 3 * y;) izračuna se izraz x-3*y (3-3*2=3-6=-3) i dobivena vrijednost "spremi se" u varijablu x (x=-3).
Sljedeća naredba (y := -y;) vrijednost varijable y koja je bila 2 zamjenjuje sa -2.
I na kraju, (x := x + y;) izračuna se vrijednost x+y (-3-2=-5) i rezultat se sprema u varijablu x. Tako je odgovor na pitanje postavljeno na početku primjera: Varijabla x nakon izvođenja sljedećeg dijela programa imat će vrijednost -5.