22-NSIJ1NC1 : Corrigé
Année : 2022
Centre : Nouvelle-Calédonie
Jour : 1
Enoncé :
Exercice 1
Schéma relationnel de bases de données et requêtes SQL
Exercice 2
Architecture des ordinateurs et protocoles réseau
Exercice 3
Algorithme et programmation en Python, fichier csv
Exercice 4
Algorithme et programmation en Python, arbre binaire
Exercice 5
Algorithme et programmation en Python et programmation orientée objet
Partie 1 : Création de la classe compte
-
1 2
def crediter(self, montant): self.solde = self.solde + montant
-
def debiter(self, montant): self.solde = self.solde - montant
-
1 2
def est_positif(self): return self.montant >= 0
Note
On pourrait aussi écrire :
def est_positif(self): if self.montant >= 0: return True else: return False
Partie 2 : Utilisation de la classe compte
-
cpt_0123456A = Compte("0123456A","MARTIN Dominique","12 rue des sports")
Note
On rappelle que la méthode
__init__
de la classeCompte
ne prend pas en argument le solde (il est fixé à zéro initialement dans la méthode) -
cpt_01234561.crediter(200)
-
1 2 3
def transferer(self,autre_compte,montant): self.debiter(self,montant) autre_compte.crediter(montant)
Note
L'énoncé précise de ne pas modifier directement les attributs.
Partie 3 : Gestion des comptes
-
1 2 3 4 5 6
def recherche_debiteurs(liste_comptes): liste_debiteurs = {} #(1) for compte in liste_comptes: #(2) if not compte.est_positif(): #(3) liste_debiteurs[compte.adherent] = compte.solde #(4) return liste_debiteurs
- On crée un dictionnaire vide
- On parcourt la liste des comptes
- Si le solde n'est pas positif
- On ajoute dans le dictionnaire la clé nom de l'adhérent avec pour valeur le solde du compte.
-
def urgent_debiteur(liste_debiteurs): mini = 0 nom_mini = None for debiteur in liste_debiteurs: if liste_debiteurs[debiteur] < mini: nom_mini = debiteur return nom_mini
Note
Le sujet ne précise pas comment traiter le cas où le dictionnaire liste_debiteurs
est pas vide (il n'y aucun débiteur). Dans cette correction la fonction renverra None
.