Tester l'algorithme :
Code de l'algorithme :
VARIABLES
x EST_DU_TYPE NOMBRE
t EST_DU_TYPE LISTE
i EST_DU_TYPE NOMBRE
diviseur EST_DU_TYPE NOMBRE
resultat EST_DU_TYPE NOMBRE
intermediaire EST_DU_TYPE NOMBRE
Preuve EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
Preuve PREND_LA_VALEUR 0
LIRE x
diviseur PREND_LA_VALEUR 2
t[0] PREND_LA_VALEUR 1
i PREND_LA_VALEUR 1
TANT_QUE (diviseur <= x / 2) FAIRE
DEBUT_TANT_QUE
resultat PREND_LA_VALEUR x / diviseur
intermediaire PREND_LA_VALEUR
floor(resultat)
SI (intermediaire == resultat) ALORS
DEBUT_SI
t[i] PREND_LA_VALEUR diviseur
i PREND_LA_VALEUR i + 1
FIN_SI
diviseur PREND_LA_VALEUR diviseur + 1
FIN_TANT_QUE
i PREND_LA_VALEUR i - 1
TANT_QUE (i >= 0 ) FAIRE
DEBUT_TANT_QUE
Preuve PREND_LA_VALEUR Preuve + t[i]
AFFICHER t[i]
i PREND_LA_VALEUR i - 1
FIN_TANT_QUE
AFFICHER "------------------------------------"
AFFICHER Preuve
SI (x == Preuve) ALORS
DEBUT_SI
AFFICHER x
AFFICHER " est un nombre parfait"
FIN_SI
SINON
DEBUT_SINON
AFFICHER x
AFFICHER " n'est pas un nombre parfait"
FIN_SINON
FIN_ALGORITHME