next up previous contents
Next: Primer algoritmo concurrente Up: Concurrencia y Distribución Previous: Crítica

Repaso: programación secuencial


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.



© 2002, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática