Pretpostavimo da imamo podržane operacije sabiranja i oduzimanja celih brojeva. Koristeći samo njih, pokušajmo da izračunamo ceo deo q i ostatak r pri celobrojnom deljenju x sa y. Od vrednosti promenljive x oduzimamo vrednost promenljive y sve dok ne dođemo do broja manjeg od vrednosti promenljive y. Pri tome, pamtimo broj oduzimanja koje smo izvršili jer je on jednak celobrojnom količniku koji izračunavamo.
Program treba da prođe sledeće korake tokom izvršavanja:
{x ≥ 0, y > 0}
Korak 1: Promenljivu q inicijalno postaviti na 0,
promenljivu r inicijalno postaviti na x.
Korak 2: Ukoliko je r ≥ y,
preći na korak 3,
inače preći na korak 4.
Korak 3: Promenljivu q uvećati za jedan,
promenljivu r umanjiti za y,
vratiti se na korak 2.
Korak 4: Kraj
{x = q * y + r, 0 ≤ r < y}
Na paskalolikom jeziku program može da se napiše na sledeći način:
{x ≥ 0, y > 0}
q = 0;
r = x;
while (r ≥ y) do
begin
q = q + 1;
r = r - y;
end
{x = q * y + r, 0 ≤ r < y}
Kao i u prethodnim primerima, postavlja se pitanje ispravnosti ovog programa. Da li će ovaj program zaista izračunati vrednosti celobrojnog deljenja dva prirodna broja x i y zadatih na ulazu?
Naredna: Testiranje programa Gore: Celobrojno deljenje Prethodna: Specifikacija Sadržaj