Når man leter etter feil i et dataprogram, er det viktigste hjelpemiddelet debuggeren som følger med utviklingsverktøyet vi bruker når vi skriver og kompilerer programmet.
Men for å øke forståelsen av hvordan for eksempel en sløyfe fungerer, fungerer papir-og-blyant-simulering av dataprogrammets gjøremål svært godt.
Vi tar et eksempel hvor vi finner det største tallet i en tabell:
var tall: Array = [22,33,12,32,25,44,9,7,17,43];
var antall: int = tall.length; //Alle tabeller har egenskapen length!
var maks: Number = Number.MIN_VALUE; // Største så langt, setter mindre enn alle tall
var i: int=0;
for(i=0;i<antall;i++) {
if( tall[i]>maks ) { // Hvis tall større,
maks=tall[i]; // så er tallet største hittil
}//if
}//for
trace("Det største tallet er: "+maks);
Da kan vi simulere det som skjer med variablene i en tabell omtrent slik: (Starter i for-sløyfen.)
kode: | i: | maks: | tall[i] | Kommentar: |
for(i=0;i<antall;i++) | 0 | 4.9406564584124654e-324 | 22 | |
if(tall[i]>maks) | 0 | 4.9406564584124654e-324 | 22 | true |
maks=tall[i] | 0 | 22 | 22 | |
if(tall[i]>maks) | 1 | 22 | 33 | true |
maks=tall[i] | 1 | 33 | 33 | |
if(tall[i]>maks) | 2 | 33 | 12 | false |
if(tall[i]>maks) | 3 | 33 | 32 | false |
if(tall[i]>maks) | 4 | 33 | 25 | false |
if(tall[i]>maks) | 5 | 33 | 44 | true |
maks=tall[i] | 5 | 44 | 44 | |
if(tall[i]>maks) | 6 | 44 | 9 | false |
... | Slik fortsetter det | |||
if(tall[i]>maks) | 9 | 44 | 43 | false |
trace("Det ....."); | 10 | 44 | - | Står igjen med 44 i maks |