Informatique tronc commun TP 3
Premier octobre 2013
Note : après la séance, vous devez rédiger un compte-rendu de TP et l’envoyer au format électronique à votre enseignant, au plus tard une semaine après la séance de TP.
Ce compte-rendu sera pour cette séance le fichier python contenant le code demandé.
Avant chaque question, on reportera en commentaire le numéro de la question.
Le nom de votre fichier seraimpérativementformedupont-jean-tp03.py, oùdupont est à remplacer par votre nom etjeanpar votre prénom, les deux étant en minuscules (même la première lettre) etsans caractère accentué.
1 Fizz Buzz
Écrire une procédurefizzbuzzprenant en argument un entiernet affichant successi- vement la suite des entiers de 1 avec la règle suivante : les nombres multiples de 3 sont remplacés par « Fizz », ceux multiples de5sont remplacés par « Buzz » et ceux multiples à la fois de 3et de 5 sont remplacés par « Fizz Buzz »
2 Somme des chiffres
Écrire une fonction somme_chiffres prenant en argument un entier n et retournant la somme des chiffres de l’entier lorsqu’il est exprimé en base10.
Faire en sorte que cette fonction marche aussi pour les entiers négatifs.
Écrire une fonction somme_carres_chiffres prenant en argument un entier n et un entier b (avec b ≥2) et retournant la somme des carrés des chiffres de l’entier lorsqu’il est exprimé en baseb.
3 Suite de Fibonacci
Écrire une fonction revfib prenant en argument un entier k et déterminant le plus petitntel queFnsoit strictement supérieur àk, où(Fn)n∈Ndésigne la suite de Fibonacci.
1
4 Sommes
Écrire une fonction f et une fonction g prenant en argument un entiern et calculant respectivement
X
1≤i,j≤n
1
i+j2 (1)
X
1≤i<j≤n
1
i+j2 (2)
5 Droite des moindres carrés
Écrire une fonctionmoindre_carresprenant en argument deux listes de réels[x0, . . . , xn−1] et[y0, . . . , yn−1]supposées de même longueur et retournant un couple(a, b)de réels don- nés par la méthode des moindres carrés pour trouver la droite d’équation y = ax+b passant « au plus près » des points de coordonnées (xk, yk) pourk∈[[0, n[[. On rappelle qu’en notant x¯ la moyenne desxk ety¯celle desyk, pourk∈[[0, n[[, on a
a= X
k∈[[0,n[[
(¯x−xk)(¯y−yk)
X
k∈[[0,n[[
(¯x−xk)2
(3)
b= ¯y−a¯x (4)
6 Suite de Syracuse
On appelle suite de Syracuse toute suiteu à valeurs entières non nulles vérifiant pour toutn∈N,un+1=un/2siunest pair etun+1= 3un+ 1. On conjecture que, pour toute suite de Syracuseu, il existe un rangk vérifiant uk = 1(on a alors uk+1 = 4,uk+2 = 2, uk+3 = 1, uk+4 = 4, etc.). On appellera ordre de la suite de Syracuse de premier terme N le plus petit entier k vérifiant uk= 1, où u est la suite de Syracuse de premier terme N.
Écrire une fonction ordresyracuse, qui pour tout entier naturel non nul N donne l’ordre de la suite de Syracuse de premier terme N.
Parmi les entiers de [[1,1000[[, trouver l’entierN tel que ordresyracuse(N) soit maxi- mum et donner la valeur ordresyracuse(N).
2