NSI (Spé) — Langages et programmation
Problèmes décidables et indécidables, problème de l'arrêt, tests, assertions, mise au point de programmes
10 questions
Voir tous les chapitres « Algorithmique et programmation » de la Seconde à la Terminale
Les points clés à retenir sur Calculabilité, décidabilité et mise au point, extraits du quiz de révision.
Réponse : Indécidable
Le problème de l'arrêt est indécidable : il n'existe aucun algorithme capable de déterminer, pour tout programme et toute entrée, si le programme s'arrête ou boucle indéfiniment.
Réponse : Alan Turing
Alan Turing a démontré en 1936, par un raisonnement par l'absurde, qu'il est impossible d'écrire un programme universel qui détermine si un programme donné s'arrête.
Réponse : Vérifie que x > 0, sinon lève AssertionError
assert x > 0 vérifie la condition x > 0. Si elle est fausse, Python lève une AssertionError et le programme s'arrête (sauf si les assertions sont désactivées).
Réponse : Une condition qui doit être vraie avant l'exécution d'une fonction
Une précondition est une condition qui doit être satisfaite avant l'appel d'une fonction pour garantir son bon fonctionnement. Ex : le paramètre n doit être positif.