Ordinateur
et Logiciel
Dans cet exercice, on souhaite représenter le fonctionnement très simplifié d'un ordinateur et de logiciels sous la forme d'un programme informatique et en utilisant la programmation orientée objet.
Question 1 - Écrire une classe Ordinateur
. Les attributs de la classe sont :
Logiciel
.On demandera dans le constructeur la valeur pour la marque, la RAM disponible, le stockage disponible et l'OS. Les listes seront initialisées par une liste vide.
Question 2 - Écrire une classe Logiciel
. Les attributs de la classe sont :
Toutes les valeurs des attributs seront demandées au sein du constructeur.
Question 3 - Écrire les accesseurs de la classe Logiciel
Question 4 - Dans un fichier main.py
, créer 3 objets de type Logiciel
et un objet de type Ordinateur
.
Question 5 - Dans la classe Ordinateur
, écrire une méthode ajouter_RAM
qui prend un nombre entier en paramètre. Cette méthode permet d'ajouter de la RAM disponible à l'ordinateur.
Question 6 - Dans la classe Ordinateur
, écrire une méthode ajouter_espace
qui prend un nombre entier en paramètre. Cette méthode permet d'ajouter de l'espace de stockage disponible à l'ordinateur.
Question 7 - Dans la classe Ordinateur
, écrire une méthode infos
. Cette méthode permet d'afficher les informations suivantes :
L'affichage des informations pourra ressembler au format suivant :
[Lenovo] Windows10 RAM : 2.6/8.0 GB Disque : 150/500 GB 15 logiciels 3 périphériques
Question 8 - Dans la classe Ordinateur
, écrire la méthode ajouter_peripherique
qui prend en paramètre une chaine de caractères. Cette méthode permet d'ajouter un périphérique dans la liste de l'ordinateur.
Question 9 - Dans la classe Ordinateur
, écrire la méthode installer
qui prend en paramètre un objet de type Logiciel
. Cette fonction permet d'ajouter un logiciel dans la liste de l'ordinateur uniquement si :
Lorsque qu'on souhaite installer un logiciel :
Question 10 - Dans le fichier main.py
, essayer les différentes méthodes créées.
Question 11 - Dans la classe Ordinateur
, écrire une méthode est_intalle
qui prend en paramètre un objet de type Logiciel. Cette méthode renvoie un booléen indiquant si le logiciel passé en paramètre est installé sur l'ordinateur.
Question 12 - Dans la classe Ordinateur
, écrire la méthode desinstaller
qui prend en paramètre un objet de type Logiciel. Cette méthode enlève le logiciel de la liste et met à jour les valeurs de la RAM et du stockage.
Question 13 - Dans la classe Ordinateur
, écrire la méthode reset
qui remet l'ordinateur à zéro. Les listes seront vidées et la valeur du stockage et de la RAM remit à 0.
Question 1 - Écrire une classe Contact
qui représente un contact de notre annuaire. Elle sera composée des attributs suivants :
nom (str)
qui précise le nom d’un contact.prenom (str)
qui précise le prénom d’un contact.portable (str)
qui précise le portable d’un contact.adresse (str)
qui précise l’adresse d’un contact.Question 2 - Écrire les accesseurs pour chacun des attributs.
Question 3 - Réécrire la méthode __str__
qui retourne chaine de caractère avec l'ensemble des attributs de la classe.
Question 4 - Écrire la méthode modifier_nom
qui prend en paramètre un nouveau nom et qui modifie le nom du contact.
Question 5 - Sur le même principe que la question précédente, écrire les méthodes modifier_prenom
, modifier_portable
et modifier_adresse
qui permettent de mettre à jour la valeur des attributs.
Question 6 - Réécrire la méthode __eq__
qui prend en paramètre un objet de type Contact
. Cette méthode retourne True
si les deux contacts identiques, False
sinon.
Question 7 - Écrire une classe Annuaire
représentant notre annuaire. Elle sera composée de l’attribut suivant :
contacts (list)
qui contiendra l’ensemble de nos contacts.Question 8 - Écrire les accesseurs et les mutateurs pour chacun des attributs.
Question 9 - Écrire une méthode ajouter_contact
qui prend en paramètre un nouveau contact et qui l’ajoute dans notre annuaire.
Question 10 - Écrire une méthode supprimer_contact
qui prend en paramètre un contact présent dans l’annuaire et qui le supprime.
Question 11 - Réécrire la méthode __contains__
qui prend en paramètre un objet quelconque en paramètre. Cette méthode retourne True
si le contact passé en paramètre est présent dans l’annuaire. Cette méthode permet de redéfinir le fonctionnement de l’opérateur in
.
Question 12 - Écrire une méthode ouvrir_annuaire
qui affichera un menu avec 5 possibilités pour l’utilisateur :
L’utilisateur indiquera son choix en entrant un chiffre compris entre 1 et 5. Pour cela, l’utilisation de la fonction input()
sera nécessaire. Si les données entrées par l’utilisateur ne sont pas correctes, on demandera à nouveau le choix de l’utilisateur.
Si l’utilisateur souhaite supprimer ou modifier un contact, un second menu sera affiché afin que l’utilisateur puisse choisir quel contact.