Langages et programmation
Au programme
Le chapitre TD prolonge ce que vous savez déjà programmer et l'élève au rang d'ingénierie : on n'écrit plus seulement du code qui marche, on écrit du code qui se relit, se documente, se teste, se réutilise — et on prend enfin le recul théorique nécessaire pour comprendre ce qu'un programme est et ce qu'aucun programme ne pourra jamais faire.
Vous y apprenez à :
- anticiper les bugs (TD01) : typage, effets de bord, débordements de
tableaux, conditionnelles non-exhaustives, comparaisons de flottants — et à
durcir vos programmes par des
assert, des doctests et un jeu de testspytest; - moduler votre code (TD02) : utiliser des bibliothèques, exploiter leur documentation, créer vos propres modules documentés ;
- penser récursivement (TD05) : écrire et analyser des programmes récursifs, comprendre la pile d'appels, dompter l'explosion exponentielle par mémoïsation ;
- distinguer trois paradigmes (TD04) : impératif, fonctionnel, objet — et voir le même problème résolu trois fois ;
- prendre du recul (TD03) : un programme est une donnée pour un autre programme (interpréteur, compilateur), la calculabilité ne dépend pas du langage, et le problème de l'arrêt est indécidable.
Pré-requis
Le chapitre PG (Langages et programmation de Première) est un appui direct, notamment pour les spécifications, les assertions et la première rencontre avec les fonctions. La récursivité est nouvelle en Terminale.
Plan
- Mise au point des programmes — TD01 — typage, effets de bord, pièges
classiques, assertions, doctests, jeux de tests avec
pytest. - Modularité — TD02 —
import, modules, packages, bibliothèques, exploitation de doc, création d'un module documenté. - Récursivité — TD05 — programmes récursifs, pile d'appels, factorielle, Fibonacci naïf vs mémoïsé, terminaison et relations de récurrence.
- Paradigmes de programmation — TD04 — impératif, fonctionnel, objet : un même problème résolu dans les trois.
- Programme comme donnée — TD03 — interpréteur, compilateur, calculabilité, problème de l'arrêt et argument d'auto-référence.
À la fin du chapitre, une fiche mémo de synthèse consolide les notions et
propose une auto-évaluation. La source MDC d'évaluation notée
(chapitre.eval.md) prépare le DS de fin de séquence.