NSI · Terminale · Génie logiciel
Programmes et données
Un programme est une donnée comme une autre.
En bref
L’idée fondatrice de l’informatique tient en une phrase : dans la mémoire d’une machine, un programme et une donnée ont la même nature.
L’architecture de von Neumann
Elle place dans une même mémoire les instructions et les données, adressées de la même façon.
C’est ce qui permet à un programme d’en lire, d’en écrire, d’en transformer un autre — et donc l’existence des compilateurs, des interpréteurs, des systèmes d’exploitation… et des virus.
Compilation ou interprétation
| Compilateur | Interpréteur | |
|---|---|---|
| Quand il traduit | Une fois pour toutes | Au fil de la lecture |
| L’exécution | Rapide | Plus lente |
| Les erreurs de type | Détectées avant l’exécution | À l’exécution |
| La portabilité | Le résultat est lié à une machine | Le programme est portable |
| Exemples | C, Rust | Python |
Des solutions mixtes existent : Java compile vers un code intermédiaire, exécuté par une machine virtuelle.
La fonction, donnée de première classe
Dans un langage comme Python, une fonction peut être stockée dans une variable, passée en argument et renvoyée par une autre fonction.
C’est ce qui permet d’écrire un tri qui reçoit sa clé de comparaison, ou une interface graphique qui reçoit le traitement à exécuter au clic.
Le typage
| Distinction | Ce qu’elle oppose |
|---|---|
| Statique ou dynamique | Vérifié à la compilation, ou à l’exécution |
| Fort ou faible | Pas de conversion implicite hasardeuse, ou bien si |
Python est à typage dynamique et fort : il n’exige pas de déclarer les types, mais refuse d’additionner un entier et une chaîne. Les annotations de type sont facultatives — l’interpréteur ne les vérifie pas.
Les limites théoriques
Puisqu’un programme peut analyser un programme, on pourrait espérer un programme qui détecte tous les bugs. Turing a montré que non : le problème de l’arrêt — décider si un programme quelconque s’arrête sur une entrée donnée — est indécidable.
Conséquence directe : aucun outil ne prouvera jamais automatiquement qu’un programme quelconque est correct. Tester reste indispensable.
Données et représentation
Une même suite de bits ne veut rien dire hors du type qu’on lui attribue : elle peut être un entier, un flottant, un caractère ou une instruction.
Le type n’est pas dans la donnée : il est dans l’interprétation qu’on en fait.
Teste-toi
6 questions pour vérifier
Touche une réponse : la correction s’affiche tout de suite.
1.Que postule l’architecture de von Neumann ?
2.Quelle est la différence entre compilation et interprétation ?
3.Que signifie « une fonction est une donnée de première classe » ?
4.Python est à typage dynamique et fort.
5.Que dit le problème de l’arrêt ?
6.Les annotations de type de Python sont vérifiées par l’interpréteur.
0 / 6 questions
Dans l’app, ce chapitre a son quiz complet, chronométré, et tes erreurs reviennent au bon moment pour ne plus les refaire.

La fiche de révision, sur une page
Tout « Programmes et données » sur une seule page A4 illustrée : l’essentiel, les pièges et un mini-test. Elle se débloque dans l’app avec des gemmes — et ton compte gratuit en offre assez pour tes trois premières fiches.

