Jul 03, 2024

Wiki

Python

Aide

edit SideBar

Search

TP 5

Suite de Syracuse

Il s'agit de la suite $(u_n)$ définie par son premier terme $u_0$ entier naturel non nul et par la relation de récurrence : $u_{n+1}=\frac{u_n}{2} \quad\mathrm{si}\;u_n\;\mathrm{est pair} $ $u_{n+1}=3u_n+1\quad\mathrm{sinon} $

  1. Déterminer à la main, les premiers termes de cette suite pour chacune des valeurs suivantes de $u_0$ : 8 , 9 , 15 et 20.
  2. Quelle conjecture peut-on émettre ?

Programmation de la suite

  1. Définir une fonction Python $\texttt{syracuse(a)}$ qui retournera la liste des premiers termes de la suite de Syracuse lorsque $u_0=a$. Le chiffre 1 n'apparaîtra qu'une seule fois dans cette liste et en dernière position. Cette liste associée à l'entier positif $a$ est appelé "vol numéro a".
  2. On appelle "durée du vol numéro a" le plus petit entier $p$ tel que $u_p=1$ lorsque $u_0=a$. Ecrire une fonction $\texttt{duree(a)}$ admettant un entier $a>0$ comme argument et qui renvoie la durée du vol numéro $a$.
  3. On appelle "altitude maximale du vol numéro a" le maximum de la suite de Syracuse ayant pour premier terme $u_0=a$. Créer une fonction $\texttt{maximum(a)}$ renvoyant l'altitude maximale du vol numéro $a$.

Représentation graphique

En utilisant le module turtle, créer une fonction $\texttt{vol(a)}$ qui, opérant sur un entier $a>0$, retournera la ligne brisée reliant les points $\left[k,u_k\right]$$k$ varie de 0 à $\texttt{duree(a)}$. Représenter différents vols, notamment le vol numéro 89.

On pourra utiliser les fonctions reset() et goto(x,y)

Page Actions

Recent Changes

Group & Page

Back Links