Exercices
Travail à réaliser sur le notebook Capytale du lien suivant:
Exercice 1
Définissez une fonction maxi(n1,n2) qui renvoie le plus grand élément entre n1 et n2.
Testez votre fonction maxi(n1,n2) à l'aide d'une fonction test_maxi()
Vous pouvez utiliser la fonction de tests ci-dessous :
1 2 3 4 5 | |
Exercice 2
Définissez une fonction decale(lettre) qui décale de 3 rangs dans l'alphabet la lettre majuscule lettre passée en argument (après Z, on recommencera à A..)
Testez votre fonction decale(lettre) à l'aide d'une fonction test_decale()
Aide :
>>> ord('A')
65
>>> chr(65)
'A'
Vous pouvez utiliser la fonction de tests ci-dessous :
1 2 3 4 | |
Exercice 3
Définissez une fonction decale_n(lettre, n) en ajoutant un paramètre n à la fonction précédente pour pouvoir décaler la lettre de n rangs.
Testez votre fonction decale_n(lettre, n) à l'aide d'une fonction test_decale_n()
Vous pouvez utiliser la fonction de tests ci-dessous :
1 2 3 4 5 | |
Exercice 4
Utilisez la fonction précédente pour créer la fonction decale_phrase(p, n) qui décale toutes les lettres d'une phrase p de n rangs.
Exercice 5
Décodez la phrase RT BTHHPVT CT RDCIXTCI GXTC S XCITGTHHPCI.
Exercice 6
La conjecture de Syracuse (ou de Collatz) postule ceci :
Prenons un nombre \(n\) : si \(n\) est pair, on le divise par 2, sinon on le multiplie par 3 puis on ajoute 1. On recommence cette opération tant que possible. Au bout d'un certain temps, on finira toujours par tomber sur le nombre 1.
- Écrire une fonction
suivant(n)qui renvoie le successeur du nombren, suivant les règles énoncées ci-dessus. - Écrire une fonction
syracuse(n)qui affiche tous les termes de la suite de Syracuse jusqu'à (on l'espère !) 1.
Exercice 7
- Écrire une fonction
temps_de_vol(n)qui renvoie le nombre d'étapes pour arriver à 1, en partant den - Écrire une fonction
temps_max(nmax)qui affiche le plus grand temps de vol pour un nombre entre 1 etnmax. - Modifier cette fonction pour afficher aussi le nombre de départ donnant ce plus grand temps de vol.