Pour aller plus loin…
- QCM, deuxième version
- Tables de multiplications, deuxième version
- Suite de Fibonacci, version itérative
- Suite de Fibonacci, version récursive
- Projet Euler
Voici des problèmes plus difficiles que ceux rencontrés jusqu'à présent. Ils sont à peu près classés par ordre de difficulté croissante (le plus facile en premier) mais vous pouvez les faire dans l'ordre de votre choix.
QCM, deuxième version
On souhaite faire un QCM (comme dans la partie précédente), mais cette fois-ci :
- le programme ne demande qu'une seule fois la réponse à chaque question (si la réponse est fausse, il affiche
Raté…
et passe à la question suivante) ; - il affiche à la fin le nombre de bonnes réponses obtenues.
- Écrivez ce programme.
- ✋ Appelez le professeur pour vérifier votre travail (et commencez la résolution d'un autre problème en attendant).
Tables de multiplications, deuxième version
Dans la partie sur les boucles, vous avez étudié un programme qui affiche la table de multiplication d'un seul nombre. Par exemple, pour le nombre 6, ce programme affichait la liste de nombres 0, 6, 12, 18, etc.
On souhaite écrire un programme qui affiche la table de multiplication de tous les nombres de 0 jusqu'à 10 : lorsqu'on le fait fonctionner, il devra afficher ce qui suit (en remplaçant évidemment les points de suspension …
par la suite des tables de multiplication).
Table de multiplication de 0
0
0
…
Table de multiplication de 1
0
1
2
…
10
Table de multiplication de 2
0
2
4
…
20
Table de multiplication de 3
0
3
6
…
…
Table de multiplication de 10
0
10
20
…
100
- Écrivez le programme demandé.
- ✋ Appelez le professeur pour vérifier votre travail (et commencez la résolution d'un autre problème en attendant).
Suite de Fibonacci, version itérative
La suite de Fibonacci est la suite de nombres commençant par 0 et 1, et dont chaque nombre est la somme des deux précédents. Ainsi, les premiers termes sont : 0 1 1 2 3 5 8 13…
On souhaite écrire une fonction qui prend en argument un nombre entier n
, et qui renvoit le n
ième terme de la suite de Fibonacci : ainsi, en complétant le programme suivant, il doit afficher les nombres 3 et 218922995834555169026.
def fibonacci(n): XXX XXX return XXX print("Le cinquième terme est", fibonacci(5)) print("Le centième terme est", fibonacci(100))
- Complétez le programme précédent.
- ✋ Appelez le professeur pour vérifier votre travail (et commencez la résolution d'un autre problème en attendant).
Suite de Fibonacci, version récursive
On souhaite à nouveau calculer les termes de la suite de Fibonacci. Cette fois-ci, puisque chaque terme est la somme des deux précédents, la fonction va s'appeler elle-même pour calculer les deux termes précédents. Cela donne le programme suivant.
def fibonacci(n): XXX XXX return fibonacci(XXX) + fibonacci(XXX) print("Le cinquième terme est", fibonacci(5)) print("Le centième terme est", fibonacci(20))
- Complétez le programme pour qu'il fonctionne (il devrait afficher 3 et 4181.
- Calculez le 100e terme de la suite de Fibonacci. Expliquer pourquoi votre programme ne fonctionne plus.
- ✋ Appelez le professeur pour vérifier votre travail (et commencez la résolution d'un autre problème en attendant).
Projet Euler
Si vous en êtes arrivé jusqu'ici, vous pouvez vous faire plaisir avec les problèmes du projet Euler. Bon courage !