Cet exercice est une extension de l’exercice Suites de Syracuse.
Pour cet exercice, vous devez utiliser en priorité le fichier squelette ex06-liste-syracuse.py. IMPORTANT : Enregistrez le avec Right Click + Save Link As...
pour conserver l’encodage.
Selon la convention de structuration des modules, ce fichier sera structuré en quatre parties :
Écrire une fonction liste_syracuse()
:
n
;n
.Vérifier le bon fonctionnement de la fonction en effectuant un appel depuis main()
et en affichant la valeur de retour (les doctests de la fonction donnent des exemples d’appel et les valeurs de retour correspondantes).
Une fois la fonction opérationnelle pour quelques arguments, ET SEULEMENT DANS CE CAS, lancer les doctests dans un terminal:
$ python -m doctest ex06_liste_syracuse.py -v
La totalité des doctests doivent réussir.
Écrire la fonction temps_de_vol()
:
Vérifier le bon fonctionnement de la fonction en effectuant un appel depuis main()
et en affichant la valeur de retour (les doctests de la fonction donnent des exemples d’appel et les valeurs de retour correspondantes).
Une fois la fonction opérationnelle pour quelques arguments, ET SEULEMENT DANS CE CAS, lancer les doctests dans un terminal.
$ python -m doctest ex06_listesyracuse.py -v
La totalité des doctests doivent réussir.
Quel est le temps de vol des suites de Syracuse de sources n = 15
et n=127
?
Utilisez cette fonction pour calculer la valeur maximum du temps de vol des suites de Syracuse pour n = 1
jusqu’à n = 9999
.
Écrire la fonction temps_de_vol_en_altitude()
:
Vérifier le bon fonctionnement de la fonction en effectuant un appel depuis main()
et en affichant la valeur de retour (les doctests de la fonction donnent des exemples d’appel et les valeurs de retour correspondantes).
Une fois la fonction opérationnelle pour quelques arguments, ET SEULEMENT DANS CE CAS, lancer les doctests dans un terminal.
$ python -m doctest ex06_syracuse.py -v
La totalité des doctests doivent réussir.
Quel est le temps de vol en altitude des suites de Syracuse de sources n = 15
et n=127
?
Utilisez cette fonction pour calculer la valeur maximum du temps de vol en altitude des suites de Syracuse pour n = 1
jusqu’à n = 9999
.
Écrire la fonction altitude_maximale()
:
Vérifier le bon fonctionnement de la fonction en effectuant un appel depuis main()
et en affichant la valeur de retour (les doctests de la fonction donnent des exemples d’appel et les valeurs de retour correspondantes).
Une fois la fonction opérationnelle pour quelques arguments, ET SEULEMENT DANS CE CAS, lancer les doctests dans un terminal.
$ python -m doctest ex06_syracuse.py -v
La totalité des doctests doivent réussir.
Quelle est l’altitude maximale des suites de Syracuse de sources n = 15
et n=127
?
Utilisez cette fonction pour calculer la valeur maximum de l’altitude maximale des suites de Syracuse pour n = 1
jusqu’à n = 9999
.
Pour visualiser l’évolution des suites de Syracuse, on utilise le module Plotly qui dote Python de capacités graphiques.
Le module et ses dépendances ne font pas partie du langage et doivent être installés avec pip
:
$ python -m pip install pandas
$ python -m pip install plotly
Les premières lignes du fichier squelette déclarent les imports nécessaires. Les lignes d’import ne doivent pas être modifiées.
La fonction syr_plot()
:
syr_plot()
ne doit pas être modifiée.
Faire des appels à syr_plot()
à partir de main()
pour tracer quelques suites de Syracuse. En particulier pour n=15
, n=27
et n=127
.
Utiliser syr_plot()
pour tracer les suites de Syracuse conduisant :
n=1
jusqu’à n=9999
;n=1
jusqu’à n=9999
;n=1
jusqu’à n=9999
.Utiliser le curseur graphique pour vérifier les valeurs obtenues.