Quiz · Langages et programmation
0/19 questions réussie
Connecte-toi pour persister tes réponses entre appareils.
1/2 · mise-au-point-c1
Quelle expression renvoie True ?
2/2 · mise-au-point-c2
Que vérifie le test test_division_par_zero ?
1/2 · modularite-c1
Quelle ligne permet d'écrire sqrt(2) directement ?
2/2 · modularite-c2
Quel élément est ABSENT du module geom.py qui le rendrait moins fiable ?
1/2 · recursivite-c1
Combien d'appels récursifs imbriqués pour factorielle(4) ?
2/2 · recursivite-c2
Pourquoi fib_naif(n) est-il en O(φ^n) ?
1/2 · paradigmes-c1
Quel paradigme n'utilise pas de variable mutable ?
2/2 · paradigmes-c2
Une fonction pure est une fonction qui…
1/2 · programme-comme-donnee-c1
Calculabilité dépend-elle du langage utilisé ?
2/2 · programme-comme-donnee-c2
Le problème de l'arrêt est indécidable signifie que…
1/9 · td-langages-prog-1-q1
Pourquoi 0.1 + 0.2 == 0.3 renvoie-t-il False en Python ?
2/9 · td-langages-prog-1-q2
Quelle est la complexité de fib_naif(n) (Fibonacci récursif sans mémoïsation) ?
3/9 · td-langages-prog-1-q3
Que doit obligatoirement contenir toute fonction récursive bien formée ?
4/9 · td-langages-prog-1-q4
Lesquels de ces énoncés caractérisent une fonction pure (paradigme fonctionnel) ? (plusieurs réponses)
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/9 · td-langages-prog-1-q6
Le problème de l'arrêt est-il :
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/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 · 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))