retour au chapitre

Quiz · Langages et programmation

auto-évaluation

0/19 questions réussie

Connecte-toi pour persister tes réponses entre appareils.

Mise au point des programmescours
  1. 1/2 · mise-au-point-c1

    Quelle expression renvoie True ?

  2. 2/2 · mise-au-point-c2

    Que vérifie le test test_division_par_zero ?

Modularitécours
  1. 1/2 · modularite-c1

    Quelle ligne permet d'écrire sqrt(2) directement ?

  2. 2/2 · modularite-c2

    Quel élément est ABSENT du module geom.py qui le rendrait moins fiable ?

Récursivitécours
  1. 1/2 · recursivite-c1

    Combien d'appels récursifs imbriqués pour factorielle(4) ?

  2. 2/2 · recursivite-c2

    Pourquoi fib_naif(n) est-il en O(φ^n) ?

Paradigmes de programmationcours
  1. 1/2 · paradigmes-c1

    Quel paradigme n'utilise pas de variable mutable ?

  2. 2/2 · paradigmes-c2

    Une fonction pure est une fonction qui…

Programme comme donnée — calculabilité et indécidabilitécours
  1. 1/2 · programme-comme-donnee-c1

    Calculabilité dépend-elle du langage utilisé ?

  2. 2/2 · programme-comme-donnee-c2

    Le problème de l'arrêt est indécidable signifie que…

Langages et programmation — synthèsemémo
  1. 1/9 · td-langages-prog-1-q1

    Pourquoi 0.1 + 0.2 == 0.3 renvoie-t-il False en Python ?

  2. 2/9 · td-langages-prog-1-q2

    Quelle est la complexité de fib_naif(n) (Fibonacci récursif sans mémoïsation) ?

  3. 3/9 · td-langages-prog-1-q3

    Que doit obligatoirement contenir toute fonction récursive bien formée ?

  4. 4/9 · td-langages-prog-1-q4

    Lesquels de ces énoncés caractérisent une fonction pure (paradigme fonctionnel) ? (plusieurs réponses)

  5. 5/9 · td-langages-prog-1-q5

    Quel nom porte la fonction hypothétique dont l'existence mène à la contradiction dans la preuve d'indécidabilité du problème de l'arrêt ?

  6. 6/9 · td-langages-prog-1-q6

    Le problème de l'arrêt est-il :

  7. 7/9 · td-langages-prog-1-q7

    Quel est le nom de la thèse selon laquelle tous les langages Turing-complets calculent les mêmes fonctions ?

  8. 8/9 · td-langages-prog-1-q8

    Ordonnez les étapes de l'exécution de python mon_script.py :

    Glisser-déposer pour réordonner (ou utiliser les flèches).

    • 1. L'OS lance l'exécutable CPython
    • 2. CPython lit le fichier mon_script.py comme texte
    • 3. CPython parse le source en arbre syntaxique
    • 4. CPython exécute le programme représenté par cet arbre
  9. 9/9 · td-langages-prog-1-q9

    Pour calculer fib(40), ordonnez ces stratégies de la plus efficace en mémoire à la plus coûteuse. Repère : l'itératif maintient deux variables, le mémoïsé stocke un cache de taille nnn, le naïf empile O(φn)O(\varphi^n)O(φn) appels imbriqués.

    Glisser-déposer pour réordonner (ou utiliser les flèches).

    • 1. Fibonacci itératif avec deux variables (mémoire O(1)O(1)O(1))
    • 2. Fibonacci mémoïsé via @lru_cache(maxsize=None) (mémoire O(n)O(n)O(n) pour le cache)
    • 3. Fibonacci récursif naïf (pile d'appels exponentielle, temps O(φn)O(\varphi^n)O(φn))