Pensée informatique et algorithmique
🔴 ExpertLes é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
Sur un quadrillage, → ajoute 1 à x et ↑ ajoute 1 à y. Le robot part de et exécute « répéter 4 fois [ → → ↑ ] ».
Existe-t-il un chemin (uniquement avec → et ↑) plus court pour aller de au point final ? Justifie.Voir le corrigéoffert
À chaque tour, le robot fait → → ↑, soit x augmente de 2 et y augmente de 1.
a) Après 4 tours : et . Coordonnées finales : .
b) Chaque tour comporte 3 flèches ; sur 4 tours : flèches.
c) Pour aller de à uniquement avec → (qui ajoute 1 à x) et ↑ (qui ajoute 1 à y), il faut au minimum 8 déplacements → et 4 déplacements ↑, soit flèches. Le chemin actuel utilise déjà exactement 12 flèches : il est donc déjà le plus court possible. Aucun chemin plus court n'existe. - 2
On exécute : « mettre n à 100 ; répéter tant que : retirer 7 à n ».
Explique en quoi retirer 7 autant de fois que possible revient à poser la division euclidienne de 100 par 7.Voir le corrigéoffert
La boucle retire 7 à n tant que .
a) On retire 7 autant de fois que possible. Comme , après avoir retiré 7 quatorze fois il reste 2 (et est faux, on s'arrête). Valeur finale : .
b) Chaque tour retire un 7 : on a retiré 7 quatorze fois, donc la boucle fait 14 tours.
c) Ce programme calcule la division euclidienne de 100 par 7 : le nombre de tours (14) est le QUOTIENT, et la valeur finale de n (2) est le RESTE.
Vérification : . - 3
Un programme classe un triangle à partir de ses trois côtés a, b, c : « si et alors « équilatéral » ; sinon si ou ou 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 → - 4
On considère deux boucles imbriquées : « mettre total à 0 ; répéter 3 fois [ répéter 4 fois [ ajouter 1 à total ] ] ».
En Python, on écrit for i in range(3): for j in range(6): puis une seule instruction à l'intérieur. Combien de fois est-elle exécutée ?🔒 Corrigé réservé aux abonnésS'abonner → - 5
En Python : s = 0, puis for i in range(1, 11): si i est pair alors ajouter i à s.
En modifiant le test pour ajouter les nombres IMPAIRS à la place, que vaudrait s ?🔒 Corrigé réservé aux abonnésS'abonner → - 6
Un site applique une réduction : « si alors réduction de 20 % ; sinon si 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 → - 7
On exécute : « mettre a à 1 ; mettre b à 1 ; répéter 5 fois [ mettre c à ; mettre a à b ; mettre b à c ] ».
Quelle suite de nombres célèbre reconnais-tu dans les valeurs de b ?🔒 Corrigé réservé aux abonnésS'abonner → - 8
On définit deux fonctions : « f prend n et renvoie » et « g prend n et renvoie ».
Trouve le nombre n pour lequel .🔒 Corrigé réservé aux abonnésS'abonner → - 9
On exécute : « mettre s à 0 » ; « mettre p à 1 » ; puis « répéter 5 fois [ ajouter 2 à s ; multiplier p par 2 ] ».
À quel tour p devient-il pour la première fois STRICTEMENT plus grand que s ?🔒 Corrigé réservé aux abonnésS'abonner → - 10
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 alors mettre max à élément ». On l'applique à la liste [7 ; 3 ; 15 ; 9 ; 15 ; 2].
La condition utilise . Le deuxième « 15 » de la liste modifie-t-il max ? Explique.🔒 Corrigé réservé aux abonnésS'abonner →
Comment ça s'est passé ?
Retrouve tout dans Mon suivi.
