Exercice 2 - Partie C · Bac Numérique et Sciences Informatiques Métropole 2 remplacement 2025

Thème : Programmation orientée objet : classes, attributs, méthodes · Tiré du sujet Métropole France 2 remplacement (2025)

Énoncé

Exercice 2 (6 points)

Cet exercice porte sur les systèmes d'exploitation ainsi que sur programmation et la programmation orientée objet.

Partie A

Partie C

Dans cette partie, on souhaite écrire un gestionnaire de fichiers Linux. Pour cela, on modélise les fichiers en utilisant la programmation orientée objet. On dispose de la classe Fichier ci-dessous.

class Fichier:

def __init__(self, nom, poids, proprio, groupe, permission):

self.nom = nom

self.poids = poids # taille en octets

self.proprietaire = proprio # nom du propriétaire

self.groupe = groupe # nom du groupe

self.permission = permission # représentation symbolique 9.

Instancier l'objet mon_fichier de la classe Fichier représentant un fichier nommé concat.pls, dont le propriétaire est root, le groupe est www-data, le poids 1257 octets et dont les permissions sont données par la représentation symbolique 'rw-r--r--'.

10.

Écrire une méthode chown de la classe Fichier qui prend en paramètre une chaîne de caractères qui correspond au nom du nouveau propriétaire et qui modifie le propriétaire du fichier.

11.

Écrire une fonction get_executable qui prend en paramètres une liste d'objets de la classe Fichier ainsi qu'un nom de propriétaire et qui renvoie la liste des fichiers qui appartiennent à ce propriétaire et qui sont exécutables par ce propriétaire.

Énoncé: Exercice 2 - Partie C · Bac Numérique et Sciences Informatiques Métropole 2 remplacement 2025

Corrigé

Corrigé établi d’après les éléments de correction officiels

9. Instancier l'objet mon_fichier de la classe Fichier représentant un fichier nommé concat.pls, dont le propriétaire est root, le groupe est www-data, le poids 1257 octets et dont les permissions sont données par la représentation symbolique 'rw-r--r--'.

Réponse : ```python mon_fichier = Fichier('concat.pls', 1257, 'root', 'www-data', 'rw-r--r--') ```

10. Écrire une méthode chown de la classe Fichier qui prend en paramètre une chaîne de caractères qui correspond au nom du nouveau propriétaire et qui modifie le propriétaire du fichier.

Réponse : ```python def chown(self, nouveau_proprietaire): self.proprietaire = nouveau_proprietaire ```

11. Écrire une fonction get_executable qui prend en paramètres une liste d'objets de la classe Fichier ainsi qu'un nom de propriétaire et qui renvoie la liste des fichiers qui appartiennent à ce propriétaire et qui sont exécutables par ce propriétaire.

Réponse : ```python def get_executable(fichiers, proprietaire): executables = [] for fichier in fichiers: if fichier.proprietaire == proprietaire and fichier.permission[2] == 'x': executables.append(fichier) return executables ```

L’explication pas à pas, faite avec l’IA, est réservée aux membres Premium. Premium

Résous-le ici : correction automatique, indices et corrigé détaillé.

‹ Exercice 2 - Programmation orientée objet · Métropole 2025 (sujet 1) · Exercice 3 - Programmation orientée objet · Métropole 2024 (sujet 1) ›

Plus d’exercices de Programmation orientée objet : classes, attributs, méthodes