Sujet 2⚓︎
Exercice 1⚓︎
On souhaite implémenter une structure de pile à l'aide d'une classe Python Pile s'appuyant sur une liste avec les primitives suivantes :
- est_vide() : renvoie True si la pile est vide, False sinon.
- empiler(element) : ajoute un élément au sommet de la pile.
- depiler() : supprime et renvoie l'élément au sommet de la pile (on suppose que la pile n'est pas vide).
- Qu'est ce qu'une pile ?
- Que fait le code suivant ?
pile = Pile() pile.empiler(1) pile.empiler(2) print(pile.depiler()) - Compléter les méthodes
empileretdepilerde la classe P
class Pile:
def __init__(self):
self.contenu = []
def est_vide(self):
return len(self.contenu) == 0
def empiler(self, element):
... # à compléter
def depiler(self):
... # à compléter, on suppose la pile non vide
- Écrire un petit programme de test qui empile 1, 2, 3 puis dépile deux éléments et affiche le résultat.
- On veut vérifier qu'une expression contenant des parenthèses est correctement parenthésée (exemple :
(a+(b*c))est correcte,(a+(b*c)est incorrecte). Écrire une fonctionest_equilibre(expression)qui renvoieTrueouFalse, en utilisant une Pile.
Exercice 2⚓︎
Un lycée dispose du réseau 192.168.10.0/24 et souhaite le découper en 4 sous-réseaux de taille égale, un par bâtiment (Administration, CDI, Salles info, Internat).
- Qu'est ce qu'une adresse IPv4 ?
- Rappeler ce que désignent l'adresse réseau et l'adresse de diffusion (broadcast) d'un réseau IPv4.
- Combien d'adresses IPv4 sont disponibles dans le réseau
192.168.10.0/24? - Déterminer 3 adresses dans le réseau
192.168.10.0/24. - On veut découper en 4 sous-réseaux de taille égale. Déterminer le nouveau masque de sous-réseau permettant d'obtenir 4 sous-réseaux à partir de 192.168.10.0/24.
- Donner la plage d'adresses utilisables (première et dernière adresse d'hôte) de chacun des 4 sous-réseaux.
- Indiquer le nombre de machines utilisables par sous-réseau et expliquer le rôle d'une passerelle (gateway) dans ce contexte.