Naredba (programiranje)
U računalnom programiranju, naredba se može shvatiti kao najmanji zasebni element imperativnog programskog jezika. Program je oblikovan kao slijed jedne ili više naredbi. Naredbe imaju unutarnje dijelove (npr. izraze).
Mnogi jezici (npr. C) ne razlikuju naredbe i definicije, a naredbe samo sadrže izvršivi kod i definiciju koja deklarira identifikator. Razlika se također može načiniti između jednostavnih i složenih naredbi - potonje mogu sadržavati same naredbe kao dijelove.
U hrvatskom se vrlo često naziv naredba koristi i kao sinonim za mikroprocesorsku instrukciju.
Slijede tri glavne općenite vrste naredbi s primjerima u tipičnim imperativnim jezicima:
- definicija:
TYPE PLAĆA = INTEGER
- deklaracija:
VAR A:INTEGER
- dodjela:
A := A + 1
- poziv:
CLEARSCREEN()
- return:
return 5;
- goto:
goto 1
- tvrdnja:
assert(ptr != NULL);
- blok naredbi:
begin WRITE('Broj? '); READLN(BROJ); end
- if-naredba:
if A > 3 then WRITELN(A) else WRITELN("NOT YET") end
- switch-naredba:
switch (c) { case 'a': alert(); break; case 'q': quit(); break; }
- while-petlja:
while NOT EOF DO begin READLN end
- do-petlja:
do { računaj(&i); } while (i < 10);
- for-petlja:
for A:=1 to 10 do WRITELN(A) end
U većini jezika se naredbe sučeljavaju s izrazima po tome što naredbe ne vraćaju rezultate i izvršuju se isključivo zbog svojih popratnih rezultata, dok izrazi uvijek vraćaju rezultat i često uopće nemaju popratnih rezultata. Među imperativnim programskim jezicima, ALGOL 68 je jedan od rijetkih u kojima naredbe mogu vratiti rezultat. U jezicima koji miješaju imperativne i funkcijske stilove, kao što je Lisp porodica jezika, se razlikuju izrazi i naredbe: čak se i izrazi izvršeni u slijednim kontekstima isključivo zbog svojih popratnih rezultata i čije se povratne vrijednosti uopće ne rabe smatraju 'izrazima'.
Sintaksa i semantika naredbi je specificirana definicijom programskog jezika. Većina programskih jezika ne dozvoljava stvaranje novih naredbi za vrijeme izvršavanja programa (Snobol 4 je primjer jezika koji dopušta), ili izmjenu već postojećih naredbi (Lisp je poznat po podršci za samoizmjenjujući kod).
- Izraz (kao suprotnost naredbi)
|