Tester l'algorithme :
Code de l'algorithme :
VARIABLES
x EST_DU_TYPE NOMBRE
y EST_DU_TYPE NOMBRE
z EST_DU_TYPE NOMBRE
xvase EST_DU_TYPE NOMBRE
yvase EST_DU_TYPE NOMBRE
zvase EST_DU_TYPE NOMBRE
tmp EST_DU_TYPE NOMBRE
but EST_DU_TYPE NOMBRE
encore EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE x
LIRE y
LIRE z
xvase PREND_LA_VALEUR 0
yvase PREND_LA_VALEUR 0
zvase PREND_LA_VALEUR z
but PREND_LA_VALEUR floor(z/2)
TANT_QUE (xvase != but) FAIRE
DEBUT_TANT_QUE
AFFICHER "J'entre dans tq"
AFFICHER zvase
AFFICHER " "
AFFICHER xvase
AFFICHER " "
AFFICHER yvase
SI (xvase == 0) ALORS
DEBUT_SI
AFFICHER "xvase vide"
SI (x >= zvase) ALORS
DEBUT_SI
AFFICHER "zvase < x"
xvase PREND_LA_VALEUR zvase
zvase PREND_LA_VALEUR 0
FIN_SI
SINON
DEBUT_SINON
xvase PREND_LA_VALEUR x
zvase PREND_LA_VALEUR zvase - x
FIN_SINON
FIN_SI
SINON
DEBUT_SINON
AFFICHER "xvase pas vide"
SI (yvase < y ) ALORS
DEBUT_SI
AFFICHER "yvase n'est pas plein : "
tmp PREND_LA_VALEUR y - yvase
SI (( xvase + yvase ) > y ) ALORS
DEBUT_SI
yvase PREND_LA_VALEUR y
xvase PREND_LA_VALEUR xvase - tmp
FIN_SI
SINON
DEBUT_SINON
yvase PREND_LA_VALEUR yvase + xvase
xvase PREND_LA_VALEUR 0
FIN_SINON
AFFICHER "tmp (y - yvase) = "
AFFICHER tmp
AFFICHER " ; xvase (xvase - tmp ) = "
AFFICHER xvase
FIN_SI
SINON
DEBUT_SINON
AFFICHER "yvase plein"
zvase PREND_LA_VALEUR zvase + yvase
yvase PREND_LA_VALEUR 0
FIN_SINON
FIN_SINON
AFFICHER zvase
AFFICHER " "
AFFICHER xvase
AFFICHER " "
AFFICHER yvase
LIRE encore
FIN_TANT_QUE
FIN_ALGORITHME