Asumimos que tengamos solamente las operaciones aritméticas sumar y subtraer disponibles y queremos multiplicar dos números positivos.
Un posible algoritmo sequencial que multiplica el número p con el número q produciendo el resultado r es:
Initially: p is set to positive number
q is set to positive number
a: set r to 0
b: loop
c: if q equal 0 exit
d: set r to r+p
e: set q to q-1
f: endloop
g: ...
¿Cómo se comprueba si el algoritmo es correcto?
Primero tenemos que decir que significa correcto.
El algoritmo (secuencial) es correcto si
Tenemos que saber que las instrucciones atómicas son correctos, es decir, sabemos exactamente su significado, incluyendo todos los efectos segundarios posibles.
Luego usamos el concepto de inducción para comprobar el bucle.