Итерација — разлика између измена

Садржај обрисан Садржај додат
Ред 9:
== Рачунарство ==
 
'''Итерација''' у рачунарству је понављање блокблока наредби унутар [[Рачунарски програм|рачунарског програма]]. Може се користити и као општи појам, као синоним за понављање, и да опише специфичан облик понављања са [[Променљив објекат|променљивим]] стањем. Збуњујуће је то што се може односити на било које понављање које почиње коришћењем експлицитне структуре понављања, без обзира на променљивости.
 
Када се користи у првом смислу, [[рекурзија]] је пример ''итерације'', али обично се користи ''рекурзивни запис'', који није предмет ''итерације''.
 
Међутим, када се користи у другом (више ограниченом) смислу, итерација описује стил програмирања коришћенкоји се користи у императивним програмским језицима. Ово је у супротности са рекурзијом, која има више декларативни приступ.
 
Коришћена у трећем смислу, понављање користи ''-{while}-'' или ''-{for}- петљe'' исто као што оне користе map или fold функције и ово се може сматрати итерацијом.
 
ОвдеЕво јеједног примерпримера итерације ослањајућикоји се ослања на [[Задатак (рачунарска наука)|разоран задатак]], у императивном [[Псеудокод|псеудокоду]]:
<pre>
a = 0
Ред 29:
У овом делу програма, вредност променљиве i се мења кроз време узимајући вредности 1,2 и 3. Ова промена вредности—или променљиво стање—је карактеристика итерације.
 
Итерација се може приближавати помоћу рекурзивне технике у [[Функционално програмирање|функционалним програмским језицима]]. Следећи пример је у [[Scheme (програмски језик)|Scheme програмском језику]]. Имајте на уму да је оно што следи рекурзивнорекурзивна итерација (посебан случај итерације), због дефиниције „како поновити“, итери њена функција, позива сама себе како би се решиорешила проблем инстанце. Конкретно користи [[Реп рекурзија|реп рекурзију]] па тако не користи велике количине стек простора.
<source lang="scheme">
(let iterate ((i 1) (a 0))