Vraagstelling Bepaal het aantal maal dat het kwadraat van i groter dan of gelijk aan 50 is voor i tussen 1 en p. Strategie Formele probleemspecificatie pre: p >= 1 ^ p heeft een willekeurige waarde. post: Aantal = (Ni : 1 <= i <= p : 50 <= i**2) * Eindrelatie R:Aantal = (Ni : 1 <= i <= p : 50 <= i**2) * Invariant Aantal = (Ni : 1 <= i <= k : 50 <= i**2) ^ 0<=k<=p * Stopcriterium k!=p Initialisatie k=0; Aantal=0; Stap richting stopcriterium k++; Actie herstel invariant (Ni:1<=i<=k:50<=i**2)=(Ni:1<=i<=k-1:50<=i**2)+(Ni:i=k:50 <= i**2) Algoritme public int A033(int p){ int k=0; int Aantal = 0; while(k!=p){ k++; if(k*k>=50){ aantal++; } return aantal; }