[go: up one dir, main page]

Hoppa till innehållet

Iteration

Från Wikipedia

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.

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

[redigera | redigera wikitext]

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.