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

Садржај обрисан Садржај додат
Autobot (разговор | доприноси)
м Разне исправке; козметичке измене
Нема описа измене
Ред 1:
[[ДатотекаImage:Pentagon iteration.svg|thumb|right|200px|Итерација пентагона. Повезивање наизменичних углова првог пентагона даје пентаграм који обухвата мањи обрнути пентагон. Процес интерације ствара низ уметнутих пентагона и [[Pentagram|пентаграма]] и такође демонстрира [[Рекурзија|рекурзију]].<ref name="Iteration vs recursion">{{cite book |isbn= 978-1475071962|url= http://www.amazon.com/Programming-Problems-Primer-Technical-Interview/dp/1492175552/ref=sr_1_2?ie=UTF8&qid=1401907908&sr=8-2&keywords=programming+problems+green |title=Programming Problems |author=B. Green |location=San Bernardino |publisher=CreateSpace| year=2012 |pagespage=25}}</ref>]]
'''Итерација''' је чин процеса понављања са циљем да се приближимо жељеном циљу, мети или резултату. Свако понављање поступка се такође назива "интерација", и резултати једне итерације се користи као полазна тачка за следећу интерацију. Пентагон са десне стране је такође добар пример како се итерација односи на [[Рекурзија|рекурзију]]. Иако се користи итерација, на пример, да рашчлани повезане листе, рекурзија је потребна када прелазимо на бинарна стабала. Пентагон показује оба.<ref name="Thinking Recursively with Java">{{cite book |isbn= 978-0471701460|url= http://www.amazon.com/Thinking-Recursively-Java-Eric-Roberts/dp/0471701467/ref=sr_1_1?s=books&ie=UTF8&qid=1397925147&sr=1-1&keywords=thinking+recursively+with+java |title=Thinking Recursively with Java |last=Roberts|firstauthor=Eric Roberts |location=New York |publisher=Wiley| year=2006 |pagespage=171}}</ref>
 
==Математика==
Итерација у математици се може односити на процес [[Итерација функције|итерације функције]], односно применом функције у више наврата, користећи излаз из једне итерације као улаз у други. Итерација наизглед једноставних функција може да произведе комплексна понашања и тешке проблеме - на пример, погледајте [[Колацова претпоставка|Колацову претпоставку]] и [[жонглерове секвенце]].
 
Друга употреба интерације у математици је у [[Итеративне методе|итеративним методама]] које се користе за производњу приближних нумеричких решења за одређене математичке проблеме. [[Њутнов метод]] је пример итеративног метода. Ручно израчунавање квадратног корена неког броја се често користи и познат је пример.
 
==Рачунарство==
 
'''Итерација''' у рачунарству је понављање блок наредби унутар [[Рачунарски програм|рачунарског програма]]. Може се користити и као општи појам, као синоним за понављање, и да опише специфичан облик понављања са [[Променљив објекат|променљивим]] стањем. Збуњујуће је то што се може односити на било које понављање које почиње коришћењем експлицитне структуре понављања, без обзира на променљивости.
 
Када се користи у првом смислу, [[Рекурзија|рекурзија]] је пример ''итерације'', али обично се користи ''рекурзивни запис'', који није предмет ''итерације''.
 
Међутим, када се користи у другом (више ограниченом) смислу, итерација описује стил програмирања коришћен у императивним програмским језицима. Ово је у супротности са рекурзијом, која има више декларативни приступ.
 
Коришћена у трећем смислу, понављање користи ''while'' или ''for петљe'' исто као што оне користе map или fold функцијe и ово се може сматрати итерацијом.
 
Овде је пример итерације ослањајући се на разоран задатак, у императивном псеудокоду:
<pre>
a = 0
for i from 1 to 3 // пролази кроз петљу 3 пута
{
a = a + i // повећава тренутну вредност а за i
}
print a // штампа број 6 (0 + 1; 1 + 2; 3 + 3)
</pre>
 
У овом делу програма, вредност променљиве i се мења кроз време узимајући вредности 1,2 и 3. Ова промена вредности—или променљиво стање—је карактеристика итерације.
 
Итерација се може приближавати помоћу рекурзивне технике у [[Функционално програмирање|функционалним програмским језицима]]. Следећи пример је [[Scheme (програмски језик)|Scheme програмском језику]]. Имајте на уму да је оно што следи рекурзивно (посебан случај интерације), због дефиниције "како поновити", итер функција, позива себе како би се решио проблем инстанце. Конкретно користи [[Реп рекурзија|реп рекурзију]] па тако не користи велике количине стек простора.
<source lang="scheme">
(let iterate ((i 1) (a 0))
(if (<= i 3)
(iterate (+ i 1) (+ a i))
(display a)))
</source>
 
[[Итератор]] је објекат који пружа итерацију као генерички сервис, омогућавајући да се итерација уради на исти начин за низ различитих структура података. Супротно томе, [[итератее]] је апстракција која прихвата или одбија податке током процеса итерације (контролисан споља од стране [[пописивач|пописивача]] - па за разлику од кода који користи итераторе, итератее код није "задужен" за процес итерације).
 
Итерација се врши помоћу радног листа, или помоћу solver или goal seek функција које су доступне у Екселу. Многе имплицитне једначине као што је Colebrook једначина могу се решити у удобности радног листа пројектовањем одговарајућих алгоритама израчунавања.<ref>{{cite web| title=Solve Implicit Equations Inside Your Worksheet|url=http://www.frpdesigns.com/iteration.htm}}</ref>
 
Многи од инжењерских проблема, као што су решавање Colebrook једначине достиже 8 цифарну прецизност у малих 12 итерација и максимално 100 итерација је довољно да се постигне 15 цифарна прецизност.<ref>{{cite web| title=Colebrook Equation|url=http://sites.google.com/site/excelsolveimpliciteq/}}</ref>
 
== Види још ==
* [[Recursion]]
* [[Fractal]]
* [[Iterated function]]
 
== Референце ==
{{reflist}}
 
== Спољне везе ==
*{{wiktionary-inline}}