Fiche de cours

Différencier l'interfaçage de l'implémentation

Lycée   >   Terminale   >   NSI   >   Différencier l'interfaçage de l'implémentation

  • Fiche de cours
  • Quiz et exercices
  • Vidéos et podcasts
Objectifs
  • Distinguer interfaçage et implémentation.
  • Spécifier une structure de données par son interfaçage.
  • Écrire plusieurs implémentations d’une même structure de données.
Points clés
  • L’interfaçage permet de spécifier la représentation d’une structure de données qui ne serait pas présente nativement et que l’on souhaite utiliser pour construire un programme.
  • Interfacer, c’est décrire de façon formelle les opérations et propriétés que les données doivent respecter, afin de pouvoir utiliser ces données dans un environnement théorique de développement.
  • Une fois que l’interfaçage est effectué, on est en mesure de choisir l’implémentation suivant le langage.
Pour bien comprendre
  • Notion d’implémentation
  • Types de données : listes, tableaux, dictionnaires

Lorsqu’on construit un programme, on peut avoir besoin d’un type de données non présent nativement, la représentation n’est pas encore fixée, on va alors procéder à l’interfaçage.

1. Distinguer interfaçage et implémentation
a. L'interfaçage
Définition
L’interfaçage permet de spécifier la représentation d’une structure de données qui ne serait pas présente nativement et que l’on souhaite utiliser pour construire un programme.
Interfacer, c’est décrire de façon formelle les opérations et propriétés que les données doivent respecter, afin de pouvoir utiliser ces données dans un environnement théorique de développement.
Remarque
Un environnement théorique de développement permet de s’affranchir d’un langage.

Une fois que l’interfaçage est effectué, on est en mesure de choisir l’implémentation.

Principe

Dans l’interfaçage, on réfléchit à une notation pour représenter des données, puis les opérations que l’on pourra appliquer et les propriétés de ces différentes opérations. On parle alors d’un type de données abstrait (en abrégé TAD).

Les différentes opérations de l’interfaçage s’appellent les primitives et les propriétés que les opérations doivent respecter forment ce qu’on appelle la sémantique.
Exemple – Création d’un type abstrait de données « entiers relatifs »
  • Notation : séquence de chiffres précédés d’un signe + ou .
  • Primitives : opérations arithmétiques de base : +* et /.
  • Sémantique : propriétés habituelles de ces opérations.
  • On ne se soucie pas de la représentation en binaire de ces nombres.
b. Différences entre l'interfaçage et l'implémentation

L’implémentation consiste à choisir une représentation en fonction du langage de programmation choisi.

L’interfaçage est donc différente de l’implémentation car l’interfaçage permet d’obtenir les méthodes abstraites que doivent respecter les données.

Un type de données abstrait (TAD) peut ainsi avoir différentes implémentations, en Python ou en langage C par exemple.

2. Exemple - Implémenter la structure de données linéaires de type liste
a. Spécifier une structure de données par son interfaçage

On veut construire une séquence ordonnée d’éléments qui ont un même type (entier, chaine de caractères (string en anglais), etc.).

Si on connait un élément, on doit pouvoir connaitre le suivant, on doit donc disposer d’une fonction qui permette d’accéder au successeur. On vient de construire une première primitive (opération obligatoire) pour spécifier l’interfaçage de cette structure de données de type liste.

On peut ajouter d’autres primitives pour compléter l’interfaçage de cette structure de données.

  • Création d’une liste vide : créer()
  • Ajouter un élément a au début de L : ajout_debut(a,L)
  • Ajouter un élément a à la fin de L : ajout_fin(a,L)
  • Supprimer le premier élément de la liste L que l’on appelle « en-tête » : supp(L)
  • Obtenir l’en-tête de la liste L : entete(L)
  • Obtenir la longueur d’une liste L : longueur(L)
Remarque
Les primitives ne sont pas à connaitre par cœur.

Ces primitives permettent de programmer dans un environnement théorique de développement sans s’occuper de l’implémentation.

b. Écrire plusieurs implémentations d'une même structure de données - Exemple en Python

Une fois l’interfaçage de la liste réalisé, on peut l’implémenter dans un langage de programmation.

Implémentation native en Python
Python Explication
L=[ ] On crée la liste vide L.
L.append(x) On ajoute x à la fin de la liste L.
len(L) On obtient la longueur de la liste L.
Implémentation en Python
Python Explication
def creer():
  return None
On crée une liste vide.
def ajout_debut(a,L):
  return (a,L)
On ajoute au début de la liste l’élément a.
def ajout_fin(a,L):
  return (L,a)
On ajoute à la fin de la liste l’élément a.
Remarque
Il existe d’autres types abstraits de données : les structures de données linéaires (piles, files, listes), les structures de données séquentielles (tableaux, dictionnaires) et les structures de données relationnelles (arbres et graphes).

Évalue ce cours !

 

Des quiz et exercices pour mieux assimiler sa leçon

La plateforme de soutien scolaire en ligne myMaxicours propose des quiz et exercices en accompagnement de chaque fiche de cours. Les exercices permettent de vérifier si la leçon est bien comprise ou s’il reste encore des notions à revoir.

S’abonner

 

Des exercices variés pour ne pas s’ennuyer

Les exercices se déclinent sous toutes leurs formes sur myMaxicours ! Selon la matière et la classe étudiées, retrouvez des dictées, des mots à relier ou encore des phrases à compléter, mais aussi des textes à trous et bien d’autres formats !

Dans les classes de primaire, l’accent est mis sur des exercices illustrés très ludiques pour motiver les plus jeunes.

S’abonner

 

Des quiz pour une évaluation en direct

Les quiz et exercices permettent d’avoir un retour immédiat sur la bonne compréhension du cours. Une fois toutes les réponses communiquées, le résultat s’affiche à l’écran et permet à l’élève de se situer immédiatement.

myMaxicours offre des solutions efficaces de révision grâce aux fiches de cours et aux exercices associés. L’élève se rassure pour le prochain examen en testant ses connaissances au préalable.

S’abonner

Des vidéos et des podcasts pour apprendre différemment

Certains élèves ont une mémoire visuelle quand d’autres ont plutôt une mémoire auditive. myMaxicours s’adapte à tous les enfants et adolescents pour leur proposer un apprentissage serein et efficace.

Découvrez de nombreuses vidéos et podcasts en complément des fiches de cours et des exercices pour une année scolaire au top !

S’abonner

 

Des podcasts pour les révisions

La plateforme de soutien scolaire en ligne myMaxicours propose des podcasts de révision pour toutes les classes à examen : troisième, première et terminale.

Les ados peuvent écouter les différents cours afin de mieux les mémoriser en préparation de leurs examens. Des fiches de cours de différentes matières sont disponibles en podcasts ainsi qu’une préparation au grand oral avec de nombreux conseils pratiques.

S’abonner

 

Des vidéos de cours pour comprendre en image

Des vidéos de cours illustrent les notions principales à retenir et complètent les fiches de cours. De quoi réviser sa prochaine évaluation ou son prochain examen en toute confiance !

S’abonner

Découvrez le soutien scolaire en ligne avec myMaxicours

Plongez dans l'univers de myMaxicours et découvrez une approche innovante du soutien scolaire en ligne, conçue pour captiver et éduquer les élèves de CP à la terminale. Notre plateforme se distingue par une riche sélection de contenus interactifs et ludiques, élaborés pour stimuler la concentration et la motivation à travers des parcours d'apprentissage adaptés à chaque tranche d'âge. Chez myMaxicours, nous croyons en une éducation où chaque élève trouve sa place, progresse à son rythme et développe sa confiance en soi dans un environnement bienveillant.

Profitez d'un accès direct à nos Profs en ligne pour une assistance personnalisée, ou explorez nos exercices et corrigés pour renforcer vos connaissances. Notre assistance scolaire en ligne est conçue pour vous accompagner à chaque étape de votre parcours éducatif, tandis que nos vidéos et fiches de cours offrent des explications claires et concises sur une multitude de sujets. Avec myMaxicours, avancez sereinement sur le chemin de la réussite scolaire, armé des meilleurs outils et du soutien de professionnels dédiés à votre épanouissement académique.

Fiches de cours les plus recherchées

NSI

Programmer une classe

NSI

Comprendre la structure de données des types liste, pile et file

NSI

Utiliser une pile pour évaluer une notation en polonais inverse

NSI

Choisir une structure de données en fonction de la situation

NSI

Rechercher une valeur dans une liste et dans un dictionnaire

NSI

Comprendre la structure hiérarchique des arbres binaires

NSI

Étudier et implémenter un arbre binaire

NSI

Utiliser des arbres binaires de recherche

NSI

Comprendre la structure des graphes

NSI

Implémenter un graphe