Console
Clique sur « Exécuter » pour lancer le programme.
Code CoddyRun
@ Déclaration des variables
nombreDepart est un nombre
valeurActuelle est un nombre
nombreEtapes est un nombre
nombrePairs est un nombre
nombreImpairs est un nombre
plusGrandeValeur est un nombre
limiteEtapes est un nombre
suiteTerminee est un booléen
valeursSyracuse est un tableau
@ Configuration de la limite de sécurité
limiteEtapes vaut 1000
@ demande du nombre de départ
demande "Entre un nombre entier positif : " dans nombreDepart
tant que nombreDepart < 1
affiche "Le nombre doit être supérieur ou égal à 1."
demande "Entre un nouveau nombre : " dans nombreDepart
fin tant que
@ Initialisation
valeurActuelle vaut nombreDepart
plusGrandeValeur vaut nombreDepart
nombreEtapes vaut 0
suiteTerminee vaut faux
@ Génération de la suite
tant que valeurActuelle <> 1 et nombreEtapes < limiteEtapes
affiche valeurActuelle
valeursSyracuse ajoute valeurActuelle
@ Comptage des valeurs paires et impaires
si valeurActuelle mod 2 = 0 alors
nombrePairs ajoute 1
valeurActuelle vaut valeurActuelle / 2
sinon
nombreImpairs ajoute 1
valeurActuelle vaut valeurActuelle * 3 + 1
fin si
@ Recherche de la plus grande valeur
si valeurActuelle > plusGrandeValeur alors
plusGrandeValeur vaut valeurActuelle
fin si
nombreEtapes ajoute 1
fin tant que
@ Traitement de la dernière valeur
si valeurActuelle = 1 alors
affiche valeurActuelle
valeursSyracuse ajoute valeurActuelle
nombreImpairs ajoute 1
suiteTerminee vaut vrai
fin si
@ Affichage du bilan
affiche "=== BILAN DE LA SUITE ==="
affiche "Nombre de départ : " + convertir_texte(nombreDepart)
affiche "Nombre d'étapes : " + convertir_texte(nombreEtapes)
affiche "Plus grande valeur atteinte : " + convertir_texte(plusGrandeValeur)
affiche "Valeurs paires rencontrées : " + convertir_texte(nombrePairs)
affiche "Valeurs impaires rencontrées : " + convertir_texte(nombreImpairs)
affiche "Nombre de valeurs enregistrées : " + convertir_texte(longueur(valeursSyracuse))
si suiteTerminee alors
affiche "La suite a atteint la valeur 1."
sinon
affiche "La limite de sécurité a été atteinte."
fin si