NSI (première) · Chapitre 3 · Exercice supplémentaire
On voudrait une fonction sarrete(programme, entree) qui rende True si…
Langages et programmation · Ce que l'on ne sait pas décider · niveau 3 (difficile)
Énoncé
On voudrait une fonction sarrete(programme, entree) qui rende True si le programme donné s'arrête sur cette entrée, et False sinon — sans l'exécuter jusqu'au bout. Écrire une version approchée à budget de tours, honnête sur ce qu'elle ignore, puis expliquer pourquoi la version exacte ne peut pas exister.
Pour démarrer : comment l'IA t'aide
Élève
Je ne vois pas par où commencer : on me demande une fonction qui devine si un programme s'arrête, mais sans l'exécuter jusqu'au bout. Ça me paraît impossible à écrire.
IA
C'est une réaction saine. Avant de coder, sépare les deux parties de l'énoncé : une version approchée à budget de tours, puis une explication d'impossibilité. Pour la première, si tu limites le nombre de tours, que peux-tu répondre quand le budget est épuisé sans avoir tranché ?
Élève
Je pourrais rendre False, puisque le programme n'a pas fini dans le budget ?
IA
Attention : « pas fini dans le budget » ne veut pas dire « ne s'arrête jamais ». Rendre False serait donc une affirmation fausse. Quel troisième résultat, distinct de True et de False, traduirait honnêtement « je ne sais pas » en Python ?
L'IA ne donne pas la réponse : elle pose la question qui fait avancer. Le corrigé de cet exercice n'est pas publié : à toi de continuer.
Continue cet exercice avec l'IA
Reprends l'exercice là où le dialogue s'arrête.
Continuer avec l'IA — gratuit, sans inscriptionGratuit, sans inscription. L'IA te guide pas à pas, sans te donner la réponse.