Pensée informatique et algorithmique
🔴 Expert📝 Les énoncés sont gratuits, et les 2 premiers corrigés sont offerts. Les autres corrigés détaillés sont réservés aux abonnés.
- 1
On exécute : « mettre s à 0 » ; « mettre p à 1 » ; puis « répéter 5 fois ».
a) Que vaut s à la fin ?
b) Que vaut p à la fin ?
c) À quel tour p devient-il pour la première fois STRICTEMENT plus grand que s ?✅ Voir le corrigéoffert
On trace les deux variables tour par tour. Départ : s = 0, p = 1.
Tour 1 : s = 2, p = 2.
Tour 2 : s = 4, p = 4.
Tour 3 : s = 6, p = 8.
Tour 4 : s = 8, p = 16.
Tour 5 : s = 10, p = 32.
a) À la fin, s = 10 (on a ajouté 2 cinq fois : 5 × 2 = 10).
b) À la fin, p = 32 (on a multiplié 1 par 2 cinq fois : 2⁵ = 32).
c) On compare à chaque tour : tour 1 (2 et 2, égaux), tour 2 (4 et 4, égaux), tour 3 (6 et 8) → p > s pour la première fois au tour 3.
Remarque : s grandit de façon régulière (+2), mais p double à chaque fois : la croissance de p finit toujours par dépasser celle de s. - 2
On considère deux boucles imbriquées : « mettre total à 0 ; répéter 3 fois [ répéter 4 fois [ ajouter 1 à total ] ] ».
a) Combien de fois l'instruction « ajouter 1 à total » est-elle exécutée ? Que vaut total ?
b) On remplace le « 4 » par un « 5 ». Que vaut total maintenant ?
c) En Python on écrit for i in range(3): for j in range(6): puis une instruction. Combien de fois cette instruction est-elle exécutée ?✅ Voir le corrigéoffert
Dans des boucles imbriquées, la boucle intérieure recommence entièrement à chaque tour de la boucle extérieure.
a) La boucle extérieure fait 3 tours ; pour chacun, la boucle intérieure ajoute 1 quatre fois. Nombre d'exécutions = 3 × 4 = 12. Donc total = 12.
b) Avec 5 au lieu de 4 : 3 × 5 = 15. Donc total = 15.
c) range(3) donne 3 tours, range(6) donne 6 tours ; l'instruction s'exécute 3 × 6 = 18 fois.
Règle à retenir : pour deux boucles imbriquées de a et b tours, le corps intérieur s'exécute a × b fois. - 3
Un algorithme cherche le plus grand élément d'une liste : « mettre max au premier élément ; pour chaque élément de la liste, si élément > max alors mettre max à élément ». On l'applique à la liste [7 ; 3 ; 15 ; 9 ; 15 ; 2].
a) Donne la valeur de max après chaque élément.
b) Quelle est la valeur finale de max ?
c) La condition utilise > (strict). Le deuxième « 15 » de la liste modifie-t-il max ? Explique.🔒 Corrigé réservé aux abonnésS'abonner → - 4
On exécute : « mettre n à 100 ; répéter tant que n ≥ 7 : retirer 7 à n ».
a) Quelle est la valeur finale de n ?
b) Combien de tours la boucle fait-elle ?
c) Quel lien y a-t-il entre ce programme et la division euclidienne de 100 par 7 ?🔒 Corrigé réservé aux abonnésS'abonner → - 5
Un site applique une réduction : « si montant ≥ 100 alors réduction de 20 % ; sinon si montant ≥ 50 alors réduction de 10 % ; sinon aucune réduction ». Calcule le prix payé pour :
a) un montant de 120 €,
b) un montant de 60 €,
c) un montant de 40 €.🔒 Corrigé réservé aux abonnésS'abonner → - 6
On exécute : « mettre a à 1 ; mettre b à 1 ; répéter 5 fois ».
a) Écris les valeurs de a et b après chaque tour.
b) Que vaut b à la fin ?
c) Quelle suite de nombres célèbre reconnais-tu dans les valeurs de b ?🔒 Corrigé réservé aux abonnésS'abonner → - 7
Sur un quadrillage, → ajoute 1 à x et ↑ ajoute 1 à y. Le robot part de (0 ; 0) et exécute « répéter 4 fois [ → → ↑ ] ».
a) Quelles sont ses coordonnées finales ?
b) Combien de flèches (déplacements élémentaires) a-t-il faites en tout ?
c) Existe-t-il un chemin (uniquement avec → et ↑) plus court pour aller de (0 ; 0) au point final ? Justifie.🔒 Corrigé réservé aux abonnésS'abonner → - 8
On définit deux fonctions : « f prend n et renvoie 3 × n − 2 » et « g prend n et renvoie n + 5 ».
a) Calcule f(4).
b) Calcule g(f(4)) (on applique d'abord f, puis g au résultat).
c) Trouve le nombre n pour lequel f(n) = g(n).🔒 Corrigé réservé aux abonnésS'abonner → - 9
En Python : s = 0, puis for i in range(1, 11): si i est pair alors ajouter i à s.
a) Quelle est la valeur finale de s ?
b) Combien de nombres ont été ajoutés ?
c) En modifiant le test pour ajouter les nombres IMPAIRS à la place, que vaudrait s ? Vérifie ton résultat à l'aide de la somme 1 + 2 + … + 10.🔒 Corrigé réservé aux abonnésS'abonner → - 10
Un programme classe un triangle à partir de ses trois côtés a, b, c : « si a = b et b = c alors « équilatéral » ; sinon si a = b ou b = c ou a = c alors « isocèle » ; sinon « quelconque » ». Donne la réponse du programme pour :
a) (5 ; 5 ; 5),
b) (7 ; 7 ; 4),
c) (3 ; 4 ; 5). Pour ce dernier cas, que remarques-tu de particulier sur ce triangle, même si le programme ne le détecte pas ?🔒 Corrigé réservé aux abonnésS'abonner →
Comment ça s'est passé ?
Retrouve tout dans Mon suivi.
