cours nsi terminale Type de données abstrait
Publié le 05/05/2025
Extrait du document
«
Type de données abstrait
Doc.
6,1
1 Rappel : Fonctions
La définition d'une fonction est formée :
¡
de la spécification ;
¡
du code qui réalise le traitement attendu.
La spécification comprend :
¡
le nom de la fonction ;
¡
la liste de ses paramètres accompagnés de leur type ;
¡
le type de la valeur retournée ;
¡
la documentation.
def abs(x: float) -> float:
"""
Retourne la valeur absolue de
x
"""
if x >= 0:
rep = x
else:
rep = -x
return rep
La spécification est une abstraction de la fonction : une description de ce qui caractérise cette fonction
sans jamais entrer dans les détails de l'implémentation.
2 Rappel : Modules
Help on module math:
NAME
math
Pour chaque module on distingue :
¡
MODULE REFERENCE
https://docs.python.org/3.9/library/math
The following documentation is
son interface (API) : c'est l'énumération des
fonctions publiques définies dans le module acces- automatically generated from the Python
source files.
It may be incomplete, incorrect
sibles aux clients ;
or include features that are considered
implementation detail and may vary between
¡ son implémentation : c'est le code lui-même.
Python implementations.
When in doubt,
consult the module reference at the location
L'interface présente une documentation dans laquelle listed above.
toutes les informations utiles au client sont indiquées.
L'objectif de l'interface est que le client n'ait à aucun DESCRIPTION
moment besoin de consulter l'implémentation pour utiThis module provides access to the
mathematical functions defined by the C
liser les fonctions.
standard.
FUNCTIONS
acos(x, /)Return the arc cosine (measured
in radians) of x.
....
1
Chap.
6 Type de données abstrait (ADT)
L'interface d'un module est une abstraction de ce module : une description de ce qui caractérise les
fonctions (ou attributs) qu'il propose sans jamais entrer dans les détails de l'implémentation.
3 Avantages d'une barrière d'abstraction
La barrière d'abstraction permet de cacher (encapsuler) le code de l'implémentation.
Elle permet donc de
faire varier l'implémentation sans impacter le client.
4 Qu'est-ce qu'une structure de données ?
Une structure de données est une structure qui permet de stocker des données de manière organisée et de
les manipuler efficacement.
Choisir la bonne structure de données permet :
¡
d'améliorer l'efficacité d'un programme ;
¡
de simplifier, clarifier l'algorithme utilisé pour résoudre le problème.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------I'm a huge proponent of designing your code around the data, rather than the other way around,
and I think it's one of the reasons git has been fairly successful::: I will, in fact, claim that the
difference between a bad programmer and a good one is whether he considers his code or his data
structures more important.
Bad programmers worry about the code.
Good programmers worry
about data structures and their relationships.
Linus Torvalds
2
Chap.
6 Type de données abstrait (ADT)
Data dominates.
If you've chosen the right data structures and organized things well, the algorithms
will almost always be self-evident.
Data structures, not algorithms, are central to programming.
Rob Pikes
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5 Qu'est-ce qu'une structure de données abstraite (ADT) ?
Un type de donnée abstrait structure de données abstraite (en anglais, abstract data type
ou ADT) est une spécification mathématique d'un ensemble de données et de l'ensemble des opérations qu'on
peut effectuer sur elles.
On qualifie d'abstrait ce type de donnée car il ne spécifie pas comment les données sont représentées ni comment
les opérations sont implémentées.
Un type de donnée abstrait est donc l'équivalent de la spécification d'une fonction ou de l'API d'un module.
Remarque.
Un tableau n'est pas une structure de donnée abstraite car sa définition indique comment les
données sont stockées et pas ce que l'on peut faire avec.
Un tableau est une structure de données dans laquelle les éléments, tous du même type, occupent des
emplacements contigus en mémoire.
6 Les différentes structures de données abstraites
Il existe des :
Structures de données linéaires.
Chaque donnée est associée au maximum à deux autres données : la
donnée qui précède dans la structure et la donnée qui suit.
¡
Au programme : Tableaux, listes chaînées, piles, files.
Les données peuvent se trouver dans des emplacements en mémoire contigus, ce n'est cependant pas
obligatoire.
Structures de données non linéaires et hiérarchiques.
Les données entretiennent une relation de hiérarchie entre elles : ancêtre....
»
↓↓↓ APERÇU DU DOCUMENT ↓↓↓
Liens utiles
- Le Langage - Cours Complet Philosophie Terminale
- Quelles inégalités sont compatibles avec les différentes conceptions de la justice sociale ? (cours SES terminale)
- Cours SES Terminale CHAPITRE 8 : L’école
- Dynamiques territoriales, cours de Terminale
- cours NSI premiere circuits et logique booleenne