Fiche de Révision : POO, Piles, Files, Listes, Dictionnaires - Tle NSI¶
1. Interface, Implémentation, POO¶
Concepts clés :¶
- Interface : Définit les fonctionnalités d'une classe ou d'un module, sans implémentation spécifique.
- Implémentation : La réalisation concrète des fonctionnalités définies par l'interface.
- Encapsulation : Principe de protection des données internes d'une classe en utilisant des attributs privés et des méthodes publiques pour y accéder.
- Héritage : Permet à une classe de réutiliser et d'étendre les fonctionnalités d'une autre classe.
- Polymorphisme : Capacité à utiliser une interface unique pour des types différents, par exemple via des méthodes redéfinies.
class Voiture: # Classe structure qui permet de définir des objets qui encapsulent des données et des fonctions.
def __init__(self, marque, modele, kilometrage):# Constructeur, et self fait référence à l'instance actuelle.
self.marque = marque # Attribut
self.modele = modele # Attribut
self.kilometrage = kilometrage # Attribut interne de l'objet ou de l'instance
def afficher_details(self): # Méthode
print(f"Voiture {self.marque} {self.modele}, {self.kilometrage} km parcourus.")
def conduire(self, km): # Méthode
self.kilometrage += km
# Exemple
v1 = Voiture("Peugeot", "208", 10000) # Création d'une instance de la classe.
v1.afficher_details()
v1.conduire(150)
v1.afficher_details()
v2 = Voiture("Tesla", "Modèle 3", 60000) # Création d'une autre instance de la classe.
v2.afficher_details()
Voiture Peugeot 208, 10000 km parcourus. Voiture Peugeot 208, 10150 km parcourus. Voiture Tesla Modèle 3, 60000 km parcourus.
2. Piles, Files, Listes¶
Concepts clés :¶
- Pile (LIFO) : Dernier entré, premier sorti (Last In, First Out).
- File (FIFO) : Premier entré, premier sorti (First In, First Out).
- Liste : Structure de données linéaire dynamique permettant l'accès, l'insertion et la suppression à n'importe quelle position.
# Exemple de pile en Python
pile = []
pile.append(10)
pile.append(20)
pile.append(30)
print(pile) # Affiche [10, 20, 30]
print(pile.pop()) # Retire 30
print(pile) # Affiche [10, 20]
[10, 20, 30] 30 [10, 20]
# Exemple de file en Python
file = []
file.append(10)
file.append(20)
file.append(30)
print(file) # Affiche [10, 20,30]
print(file.pop(0)) # Retire 10
print(file) # Affiche [20, 30]
[10, 20, 30] 10 [20, 30]
3. Dictionnaires¶
Concepts clés :¶
- Structure de données non ordonnée basée sur des paires clé-valeur.
- Complexité moyenne des opérations (recherche, insertion, suppression) : 𝑂(1).
- Permet un accès rapide aux éléments via leurs clés.
# Exemple de dictionnaire en Python
dictionnaire = {'a': 1, 'b': 2, 'c': 3}
print(dictionnaire['a']) # Accès à la valeur associée à la clé 'a'
dictionnaire['d'] = 4 # Ajout d'une nouvelle clé-valeur
del dictionnaire['b'] # Suppression de la clé 'b'
print(dictionnaire)
1
{'a': 1, 'c': 3, 'd': 4}
# Exemple mettant en œuvre les trois types de boucle for sur un dictionnaire
dictionnaire = {'a': 1, 'b': 2, 'c': 3}
# Boucle sur les clés
print("Parcours des clés :")
for cle in dictionnaire:
print(f"Clé : {cle}")
# Boucle sur les valeurs
print("\nParcours des valeurs :")
for valeur in dictionnaire.values():
print(f"Valeur : {valeur}")
# Boucle sur les paires clé-valeur
print("\nParcours des paires clé-valeur :")
for cle, valeur in dictionnaire.items():
print(f"Clé : {cle}, Valeur : {valeur}")



