Aller au contenu

Représentation des données : types et valeurs de base⚓︎

Toute machine informatique manipule une représentation des données dont l’unité minimale est le bit 0/1, ce qui permet d’unifier logique et calcul. Les données de base sont représentées selon un codage dépendant de leur nature : entiers, flottants, caractères et chaînes de caractères. Le codage conditionne la taille des différentes valeurs en mémoire.

Contenus Capacités attendues Commentaires
Écriture d’un entier positif dans une base 𝑏 ≥ 2 Passer de la représentation d’une base dans une autre. Les bases 2, 10 et 16 sont privilégiées.
Représentation binaire d’un entier relatif Évaluer le nombre de bits nécessaires à l’écriture en base 2 d’un entier, de la somme ou du produit de deux nombres entiers. Utiliser le complément à 2. Il s’agit de décrire les tailles courantes des entiers (8, 16, 32 ou 64 bits). Il est possible d’évoquer la représentation des entiers de taille arbitraire de Python.
Représentation approximative des nombres réels : notion de nombre flottant Calculer sur quelques exemples la représentation de nombres réels : 0.1, 0.25 ou 1/3. 0.2 + 0.1 n’est pas égal à 0.3. Il faut éviter de tester l’égalité de deux flottants. Aucune connaissance précise de la norme IEEE-754 n’est exigible.
Valeurs booléennes : 0, 1. Opérateurs booléens : and, or, not. Expressions booléennes Dresser la table d’une expression booléenne. Le ou exclusif (xor) est évoqué. Quelques applications directes comme l’addition binaire sont présentées. L’attention des élèves est attirée sur le caractère séquentiel de certains opérateurs booléens.
Représentation d’un texte en machine. Exemples des encodages ASCII, ISO-8859-1, Unicode Identifier l’intérêt des différents systèmes d’encodage. Convertir un fichier texte dans différents formats d’encodage. Aucune connaissance précise des normes d’encodage n’est exigible.

Représentation des données : types construits⚓︎

À partir des types de base se constituent des types construits, qui sont introduits au fur et à mesure qu’ils sont nécessaires. Il s’agit de présenter tour à tour les p-uplets (tuples), les enregistrements qui collectent des valeurs de types différents dans des champs nommés et les tableaux qui permettent un accès calculé direct aux éléments. En pratique, on utilise les appellations de Python, qui peuvent être différentes de celles d’autres langages de programmation.

Contenus Capacités attendues Commentaires
p-uplets. p-uplets nommés Écrire une fonction renvoyant un p-uplet de valeurs.
Tableau indexé, tableau donné en compréhension Lire et modifier les éléments d’un tableau grâce à leurs index. Construire un tableau par compréhension. Utiliser des tableaux de tableaux pour représenter des matrices : notation a [i] [j]. Itérer sur les éléments d’un tableau. Seuls les tableaux dont les éléments sont du même type sont présentés. Aucune connaissance des tranches (slices) n’est exigible. L’aspect dynamique des tableaux de Python n’est pas évoqué. Python identifie listes et tableaux. Il n’est pas fait référence aux tableaux de la bibliothèque NumPy.
Dictionnaires par clés et valeurs Construire une entrée de dictionnaire. Itérer sur les éléments d’un dictionnaire. Il est possible de présenter les données EXIF d’une image sous la forme d’un enregistrement. En Python, les p-uplets nommés sont implémentés par des dictionnaires. Utiliser les méthodes keys(), values() et items ()