NSI (terminale) · Chapitre 16 · Exercice d'entraînement
Du texte qui devient programme
Calculabilité, décidabilité et paradigmes de programmation · Programmes, données et calculabilité · niveau 1 (application)
Énoncé
Du texte qui devient programme. On exécute le programme suivant.
print(eval("3 * (2 + 5)"))
code = "x = 4\ny = x * x\n"
env = {}
exec(code, env)
print(env["y"])
n = 3
source = "def f(x):\n return x + " + str(n) + "\n"
env2 = {}
exec(source, env2)
print(env2["f"](10))
- Prévoir les trois valeurs affichées.
- Pourquoi utilise-t-on
evaldans la première ligne etexecdans les suivantes ? - Quel est le type de la variable
sourceau moment où elle est construite ? En quel sens ce programme en fabrique-t-il un autre ? - Pourquoi ne faut-il jamais appliquer
execà un texte saisi par un utilisateur ?
Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.