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
SI (xvase == 0) ALORS
DEBUT_SI
SI (x >= zvase) ALORS
DEBUT_SI
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
SI (yvase < y ) ALORS
DEBUT_SI
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
FIN_SI
SINON
DEBUT_SINON
zvase PREND_LA_VALEUR zvase + yvase
yvase PREND_LA_VALEUR 0
FIN_SINON
FIN_SINON
AFFICHER zvase
AFFICHER " "
AFFICHER xvase
AFFICHER " "
AFFICHER yvase
FIN_TANT_QUE
zvase PREND_LA_VALEUR zvase + yvase
yvase PREND_LA_VALEUR 0
AFFICHER zvase
AFFICHER " "
AFFICHER xvase
AFFICHER " "
AFFICHER yvase
FIN_ALGORITHME