Programme officiel
Contenus | Capacités attendues | Commentaires |
---|---|---|
Paradigme de programmation | Distinguer sur des exemples les paradigmes impératif, fonctionnel et objet.
|
Choisir le paradigme de programmation selon le champ d’application d’un programme. Avec un même langage de programmation, on peut utiliser des paradigmes différents. Dans un même programme, on peut utiliser des paradigmes différents. |
Consigne
L’objectif de l’exercice est d’implémenter un mini réseau social.- Télécharger l’annexe et extraire le dossier reseau-social-eleve. Il est composé de trois
fichiers.
Le fichier test.py est le programme principal. Il présente un scénario de création du réseau social en utilisant les classes qui seront construites dans les autres fichiers.
À retenir
À la fin du développement, l’exécution du fichier test ne doit lever aucune erreur d’assertion.
- Dans le fichier utilisateur.py, compléter la classe Utilisateur avec:
-
☛ son constructeur qui acceptera trois paramètres:
- une chaîne de caractère: le pseudo de l’utilisateur,
- une chaîne de caractère: le mot de passe de l’utilisateur,
- un entier: l’année de naissance de l’utilisateur.
-
☛ trois accesseurs:
- get_pseudo
- get_mdp
- get_naissance
Cette méthode renverra True si le mot de passe a été modifié, False sinon.
☛une méthode ajouter_ami qui acceptera une instance d’Utilisateur pour paramètre. Cette méthode ajoutera l’ami dans l’attribut amis seulement s’il n’est pas déjà présent dans le tableau. La méthode renverra une chaîne de caractère:
- si l’ajout est effectué: pseudo est ton nouvel ami.
- sinon: pseudo est déjà ton ami.
À retenir
La syntaxe des chaînes de caractère doit être respectée strictement pour pouvoir passer les tests.
-
3. Dans le fichier reseau.py, construire la classe Reseau avec:
- son constructeur, sans paramètre, mais avec un attribut utilisateurs, qui référencera un tableau vide.
- une méthode get_utilisateur qui acceptera un paramètre: un pseudo d’utilisateur. Cette méthode renverra l’instance d’Utilisateur correspondant au pseudo et présente dans le tableau utilisateurs. Elle renverra None s’il n’est pas présent.
- une méthode existe qui acceptera un paramètre: un pseudo d’utilisateur. Cette méthode renverra True si l’utilisateur est présent dans le tableau utilisateurs, False sinon.
- une méthode inscrire qui acceptera trois paramètres:
- une chaîne de caractère: le pseudo de l’utilisateur,
- une chaîne de caractère: le mot de passe de l’utilisateur,
- un entier: l’année de naissance de l’utilisateur.
- Cette méthode renverra une chaîne de caractère:
- si le pseudo existe déjà dans le tableau des utilisateurs: pseudo est déjà inscrit.
- si la personne est trop jeune: pseudo est trop jeune.
- si la personne est éligible, on ajoutera ce nouvel utilisateur dans le tableau utilisateurs et on renverra: pseudo est maintenant inscrit.
À retenir
Pour vérifier l’âge de la personne, on se contentera de regarder l’année de naissance. Un utilisateur pourra s’inscrire s’il a 15 ans ou plus. On utilisera la documentation ci-dessous pour déterminer l’année en cours.
-
4. À l’aide d’un commentaire dans le fichier test.py expliquer ce qu’il se passe lors de l’exécution de la
dernière ligne du fichier:
assert not prof.set_mdp("12345")
-
5. Renommer le dossier sous le nom eval_poo_votre_nom (sans accent, sans espace), le compresser et le
déposer dans le casier numérique.
Annexes
Documentation
classmethod datetime.today()
- Return the current local datetime, with tzinfo None.
datetime.today()
datetime.datetime(2023, 9, 7, 14, 33, 20, 515979)
year
-
Extract the year from a datetime's instance
>>> maintenant = datetime.today()
>>> maintenant.year
2024