Informatique · Terminale · 2 exercices vérifiés
S’entraîner : Programmes récursifs
Chapitre : Numérique et sciences informatiques (spécialité)
Ce que vous travaillez
Une fonction récursive s'appelle elle-même sur une donnée plus petite ; elle comporte au moins un cas de base, traité sans appel récursif, qui garantit l'arrêt ; analyser un appel par la pile des appels ou l'arbre des appels ; compter les appels effectués ; écrire une version récursive d'un calcul (factorielle, puissance, somme des chiffres).
À maîtriser avant de commencer
Ces notions sont utilisées ici. Relisez-les si l’une d’elles vous échappe.
- Définition et appel de fonctions — Définir une fonction avec def, ses paramètres et l'instruction return qui renvoie un résultat et termine l'exécution de la fonction ; appeler une fonction avec des arguments ; variables locales ; différence entre renvoyer une valeur (return) et l'afficher (print).
- Boucles bornées et non bornées — Boucle bornée for, en particulier for i in range(a, b) qui fait prendre à i les valeurs a, a + 1, …, b − 1 ; boucle non bornée while, répétée tant que sa condition est vraie ; dérouler une boucle à la main dans un tableau de suivi des variables (traçage) ; accumulateur (somme, compteur) ; choix entre les deux boucles.
Comment se déroule la séance
Cette séance s’appuie sur 2 exercices vérifiés. Chacun produit un nouvel énoncé à chaque ouverture, avec une solution calculée.
Formats de réponse : Réponse numérique (2). Difficulté de 3 à 4 sur 5. Environ 10 minutes pour un premier passage.
Dans votre compte : aide graduée (indice, rappel de cours, aide au démarrage), corrigé pas à pas après chaque tentative, suivi de vos progrès.
Essayez un exercice, sans compte
Un exercice réel de cette séance, le même pour chaque visiteur. Répondez, puis vérifiez : la correction est calculée, et le corrigé s’affiche après votre tentative.
Difficulté 3 sur 5 · ≈ 4 minutes
Énoncé
On exécute le programme Python ci-dessous.
| n° | Instruction |
|---|---|
| 1 | def f(n): |
| 2 | ····if n == 0: |
| 3 | ········return 7 |
| 4 | ····return f(n - 1) + 2 * n |
| 5 | print(f(4)) |
Chaque groupe de quatre points « ···· » marque un niveau d'indentation (quatre espaces en Python).
Quel nombre ce programme affiche-t-il ?
Votre réponse
Continuez dans votre compte
Créez votre compte gratuit pour faire toute la séance avec l’aide graduée, ou connectez-vous pour revenir directement ici.
L’accès gratuit comprend les cours et exercices de votre niveau choisi.