Наредба (програмирање)
Наредба (или исказ[1]) у програмирању је најмањи самостални елемент императивног програмског језика који изражава неку акцију која треба бити изнесена. То је инструкција написана у језику високог-нивоа који наређује рачунару да изврши одређену акцију.[2] Програм написан у оваквом језику је формиран преко секвенце од једне или више наредби. Наредба може имате интерне компоненте (нпр., експресије).
Многи језици (нпр. С) прави разлику између наредби и дефиниција, са тиме да наредба садржи само извршив код , а дефиниција декларише идентификатора, док израз добија само вредност вредности.[3] Разлика може постојати и између једноставних и сложених наредби; касније могу садржати наредбе као компоненте.
Врсте наредби
уредиУ наставку је дато неколико врсти наредби са примерима типичног императивног језика:
Једноставне наредбе
уреди- потврда:
assert(ptr !
= NULL);
- додела:
A:= A + 5
- goto:
goto next;
- наредба повратка:
return 5;
- потпрограм:
CLEARSCREEN()
Комплексне наредбе
уреди- блок:
begin integer NUMBER; WRITE('Number?
'); READLN(NUMBER); A:= A*NUMBER end
- do-петља:
do { computation(&i); } while (i < 10);
- for-петља:
for A:=1 to 10 do WRITELN(A) end
- if-наредба:
if A > 3 then WRITELN(A) else WRITELN("NOT YET"); end
- switch-наредба:
switch (c) { case 'a': alert(); break; case 'q': quit(); break; }
- while-петља:
while NOT EOF DO begin READLN end
- with-наредба:
with open(filename) as f: use(f)
Синтакса
уредиПојава изјава обликује изглед програма. Програмски језици се одликују укусима наредби које користе (нпр коврџава заграда породице језика). Многе наредбе уводене преко идентификатора као што је if, while или repeat . Често наредбе кључних речи су задржане тако да се не могу користити као имена променљивих или функција. Императивни језици обично користе посебну синтаксу за сваку изјаву, која изгледа сасвим другачије од функција позива. Заједничке методе које би описале синтаксу наредби суе Бакус–Наурова форма и синтакса дијаграма.
Семантика
уредиСемантички многе наредбе се разликују од потпрограмских позива својим руковањем параметара. Обично стварни параметар потпрограма се процењује једном пре него што потпрограм се зове. Ово је у супротности са многим извештајима параметара који се може оценити неколико пута (нпр стање while петље), или не уопште (нпр тело петље while петље). Технички такви параметри наредбе називају по имену параметри. Позив-за-име параметра се вреднује по потреби (види лењу процена). Када је позив-за-име параметра су доступан наредба попут понашања може бити реализована уз потпрограм (види Lisp). За језике без позив-без-мена параметара семантички опис петље или услова обично превазилази могућности језика. Стога стандардни документи се често односе на семантичке описе у природном језику.
Експресије
уредиУ већини језика, наредбе контраста са изразима у наредбама не враћају резултате и извршавају се искључиво за своје Нежељени ефекат (информатика)нежељене ефекте, док изрази увек враћају резултат и често немају нежељене ефекте за све. Међу императивниим програмским језицима, Алгол 68 је један од ретких у којима наредба може да врати резултат. У језицима који мешају императив и функционалне стилове, као што је Lisp породица, разлика између израза и наредба није направљена: чак изразе извршени у секвенцијалним контекстима искључиво за своје нежељене ефекате и чије враћање вредности се не користи већ се сматрају „изразима". У чистом функционалном програмирању, не постоје наредбе; све је израз.
Растегљивост
уредиВећина језика је поправила групу наредби дефинисаних преко језика, али постојали су експерименти са растегљивим језицима који дозвољавају програмеру да дефинише нове наредбе.
Види још
уредиРеференце
уреди- ^ Steven Holzner, PHP 5, Beograd, 2006.
- ^ "statement". webopedia.
- ^ Anders Kaseorg (2014-10-31).
Спољашње везе
уреди- PC ENCYCLOPEDIA: Definition of: program statement Архивирано на сајту Wayback Machine (10. октобар 2012)