NSI en première

Programmation

Extrait du programme

Langages et programmation

Les langages de programmation Turing-complets sont caractérisés par un corpus de constructions élémentaires. Sans introduire cette terminologie, il s'agit de montrer qu'il existe de nombreux langages de programmation, différents par leur style (impératif, fonctionnel, objet, logique, événementiel, etc.), ainsi que des langages formalisés de description ou de requêtes qui ne sont pas des langages de programmation.

L'importance de la spécification, de la documentation et des tests est à présenter, ainsi que l'intérêt de la modularisation qui permet la réutilisation de programmes et la mise à disposition de bibliothèques. Pour les programmes simples écrits par les élèves, on peut se contenter d'une spécification rapide mais précise. Pour les programmes simples écrits par les élèves, on peut se contenter d'une spécification rapide mais précise.

Contenus Capacités attendues Commentaires
Constructions élémentaires

Mettre en évidence un corpus de constructions élémentaires.

Séquences, affectation, conditionnelles, boucles bornées, boucles non bornées, appels de fonction.

Diversité et unité des langages de programmation

Repérer, dans un nouveau langage de programmation, les traits communs et les traits particuliers à ce langage.

Les manières dont un même programme simple s'écrit dans différents langages sont comparées.

Spécification

Prototyper une fonction.

Décrire les préconditions sur les arguments.

Décrire des postconditions sur les résultats.

Des assertions peuvent être utilisées pour garantir des préconditions ou des postconditions.

Mise au point de programmes

Utiliser des jeux de tests.

L'importance de la qualité et du nombre des tests est mise en évidence.

Le succès d'un jeu de tests ne garantit pas la correction d'un programme.

Utilisation de bibliothèques

Utiliser la documentation d'une bibliothèque.

Aucune connaissance exhaustive d'une bibliothèque particulière n'est exigible.

Lionel Avon