Adloun

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 inscription

Gratuit, sans inscription. L'IA te guide pas à pas, sans te donner la réponse.

Le cours du chapitre · Tous les exercices du chapitre

Continuer avec l'IA, gratuit →