Aller au contenu
studuel

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

CompilateurInterpréteur
Quand il traduitUne fois pour toutesAu fil de la lecture
L’exécutionRapidePlus lente
Les erreurs de typeDétectées avant l’exécutionÀ l’exécution
La portabilitéLe résultat est lié à une machineLe programme est portable
ExemplesC, RustPython

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

DistinctionCe qu’elle oppose
Statique ou dynamiqueVérifié à la compilation, ou à l’exécution
Fort ou faiblePas 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. 1.Que postule l’architecture de von Neumann ?

  2. 2.Quelle est la différence entre compilation et interprétation ?

  3. 3.Que signifie « une fonction est une donnée de première classe » ?

  4. 4.Python est à typage dynamique et fort.

  5. 5.Que dit le problème de l’arrêt ?

  6. 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.

Continuer dans l’app
Aperçu flouté de la fiche de révision

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.

Débloquer la fiche dans l’app

Dans le même thème

NSI en terminale : passe à l’entraînement.

Le quiz complet, les exercices corrigés, les duels contre des élèves de ton niveau et un coach IA qui t’explique ce qui bloque.

Commencer gratuitement