Programa WHILE

Q : (n, p, s)
s:
... código ...

donde:

Ejemplo:

  
	prueba : (5, 8, s)
	s: 	
	
	    X2 := X2 + 1;
	    while X1 != 0 do
	        X3 := X2;
	        X4 := 0;
	        X4 := X3;
	        while X4 != 0 do
	            X3 := X3 + 1;
	            X4 := X4 - 1
	        od;
	        X2 := X3;
	        X1 := X1 - 1
	    od;
	    X1 := X2
	

Programa WHILE ampliado

Nombre del programa

entradas: list_var_ent

salida: var_salida

método:

... código ...

**

... Macrosentencias ...

donde:

list_var_ent es la lista de variables de entrada

var_salida es la variable de salida

código son las sentencias del programa

** indica el fin del programa principal y el inicio de la definición de las macrosentencias


Ejemplo:

	Prueba 
	entradas: ent1, ent2,ent3
	salida: sal5
	método:	
	
	    X1 := 1;
	    X3 := suma ( 8 , 2 );
	    while X2 < 4 do
	        X2 := X2 + 1 ;
	        X1 := 3
	    od;
	    X4 := 34 + suma ( 10 , 6 );
	    X8 := 100 ;
	    if X1 = 30 then
	        X6 := 25
	    else
	        X7 := X1 + X2
	    fi;
	    X6 := suma ( 3 , 5 ) + 10;
	    do X2 + X2 times
	        X8 := X8 + 1
	    od;
	        X5 := suma ( 10 , 2 )
	
	    **
	
	    suma
	    entradas: X1, X2
	    salida: X1
	    método:
	
	        X1 := X1 + X2;
	        while X2 < 5 do
	            X2 := X2 + 1
	        od;
	        X3 := X1 - X2;
	        X3 := 45 + 21;
	        var1 := 23 + 12;
	        var2 := var3 + 4;
	        var4 := var1 + var2;
	        var5 := 1000