Vraagstelling Bepaal het tweevoud van de som r van de kwadraten van de getallen tussen 1 en p. p >= 1. * Voorbeeld: * p = 1 dan r = (1) * 2 = 2 * p = 6 dan r = (1 + 4 + 9 + 16 + 25 + 36) * 2 = 182 Strategie * We nemen variabele k voor de getallen tussen 1 en p Formele probleemspecificatie pre: p>=1 post: r=2*(Si:1<=i<=p:i**2) * Eindrelatie r = (Si:1<=i<=p:i**2) * Invariant r = (Si:1<=i<=k:i**2) ^ 1<=k<=p * Stopcriterium k!=p Initialisatie k=1 ^ r=1 Stap k++; Actie (Si:1<=i<=k:i**2) = (Si:1<=i<=k-1:i**2) + k**2 <=> (nieuwe)r = (oude)r + (nieuwe)k**2 Algoritme int k = 1; int r = 1; while (k != p){ k++; r += k * k; } r *= 2;