Iteration

Iteration är ett annat ord för upprepning. Inom matematiken och i programmering handlar detta om att en funktion eller process åstadkommer något genom att upprepa beräkningar eller andra operationer tills ett önskat resultat uppnåtts.

Inom imperativ programmering åstadkoms iteration genom så kallade slingor (engelska loop), beroende på det valda programspråkets syntax. I funktionell programmering används rekursiva funktionsanrop istället för traditionella slingor.

En iterator tillhandahåller och förenklar iteration inom programmering. Iteration kan inom kriminologi även betyda återfall i brott.

Matematik

Iteration i matematik kan innebära att en funktion används flera gånger, där utsignalen från en iteration används som insignal till nästa. Iteration av till synes enkla funktioner kan skapa komplexa beteenden och svåra problem - till exempel, Collatz problem och jonglörsekvenser.

En annan användning av iteration i matematik är iterativa metoder som ger ungefärliga numeriska lösningar på vissa matematiska problem. Newtons metod är ett exempel på en iterativ metod. En vanlig användning är manuell beräkning av kvadratroten till ett tal.

Exempelprogram

Ett exempel skulle kunna vara att leta efter ett primtal, här skrivet i programmeringsspråket C:

int main(int argc, char **argv) {
  int primecand = 0;
  while (is_prime(primecand) == FALSE) {
    primecand++;
  }
  printf("%d är ett primtal.\n", primecand);
}

bool is_prime(int n) {
  int m, retval = 0;
  for (m=2; m<n; m++) {
    if (n % m == 0)
      return FALSE;
    else
      retval = TRUE;
  }
  return retval;
}

Båda funktionerna i ovanstående program använder iteration för att hitta ett primtal, programmet stannar vid första funna primtal och är således inte ett särskilt användbart program. Programmet innehåller två separata iterationer som ligger i raderna 3–5 respektive 11–16.

Se även

Media som används på denna webbplats

Question book-4.svg
Författare/Upphovsman: Tkgd2007, Licens: CC BY-SA 3.0
A new incarnation of Image:Question_book-3.svg, which was uploaded by user AzaToth. This file is available on the English version of Wikipedia under the filename en:Image:Question book-new.svg