La secuencia simple de instrucciones es la estructura de programación más natural, pues consiste solamente en la colocación de las instrucciones en un orden secuencial, lógica y preciso. Trabajando aisladamente, las instrucciones se ejecutan una única vez, una después de la otra, sin cambio en el flujo de ejecución. Por ejemplo:

// Función secuencial

FUNCTION CalcGrao()

LOCAL nPesoSac := 60,00
LOCAL nCotacao := 37,56
LOCAL nSacas := 1.900,00
LOCAL nPesTot := 0
LOCAL nVlrTot := 0


nPesTot := nSacas * nPesoSac   
// Calcula el peso total por medio de la multiplicación del número de sacos de granos por el peso unitario de cada saco. 
 
nVlrTot := nPesTot * nCotacao    
//Calcula el valor total de los granos por medio de la multiplicación del peso total por la cotización del grano en el día

nPesTot // Muestra en la pantalla el valor total de los granos en stock

MsgAlert("El valor total de los granos, de acuerdo con el stock y la cotización del día es de R$ " + Str(nVlrTot, 12, 2))

RETURN nVlrTot

 

Una forma más sofisticada de esta estructura de programación es la secuencia con desvío. En este caso, las instrucciones que forman la secuencia se colocan en un bloque delimitado por el comando BEGIN SEQUENCE ... END (INICIO DE LA SECUENCIA ... FINAL). Trabajando aisladamente, las instrucciones se ejecutan secuencialmente, una única vez. Sin embargo, puede haber cambio en el flujo de ejecución del programa. Si el comando BREAK o la función BREAK() se encuentran, la secuencia se interrumpe y el flujo de ejecución pasa a la primera instrucción después del comando RECOVER o    a la primera instrucción después del final de la secuencia. Por ejemplo:

// Función secuencial

FUNCTION CalcGrao()

LOCAL nPesoSac := 60,00
LOCAL nCotacao := 37,56
LOCAL nSacas := 1.900,00
LOCAL nPesTot := 0
LOCAL nVlrTot := 0

BEGIN SEQUENCE

nPesTot := nSacas * nPesoSac	// Calcula el peso total por medio de la multiplicación del número de sacos de granos por el peso de cada saco.
nVlrTot := nPesTot * nCotacao	// Calcula el valor total de los granos por medio de la multiplicación del peso total por la cotización de los granos en el dia.

	IF nVlrTot < 5.000
		// El desvío se realiza si el valor total es inferior a R$ 5.000,00.
		BREAK
	ENDIF

// Muestra en la pantalla el valor total de los granos en stock

MsgAlert("El valor total de los granos, de acuerdo con el stock y la cotización del día es de R$ " + Str(nVlrTot, 12, 2))

END


RETURN nVlrTot

 

El comando BEGIN SEQUENCE ... END es una estructura de control apropiada para el tratamiento de condiciones de error de ejecución. En estas situaciones, la secuencia puede interrumpirse por medio del comando BREAK y las instrucciones para la recuperación del error pueden colocarse entre el comando RECOVER y el final de la secuencia.

 

El AdvPL tiene funciones de recuperación de errores, como la función ERRORBLOCK(), que pueden utilizarse en conjunto con esta estructura de control del flujo de programación.