[PDF] [PDF] TP n 4 - Correction - Normale Sup





Previous PDF Next PDF



[PDF] TP n 4 - Correction - Normale Sup

Correction : Il faut prendre garde `a ce que si on ajoute un document en indiquant tous les documents de la liste séparées par un saut de ligne "\n"



[PDF] Corrigé de Test n° 2

ligne 4 : Lors de l'ouverture d'un document protégé en écriture Question 28 : Comment peut-on se connecter au réseau Internet ?



[PDF] Traitement de textes : Microsoft Word

Modifier l'espacement entre les lignes (interligne) 4 4 Déplacement dans un document Pour effectuer des corrections ou apporter des modifications au texte 



[PDF] guide-d-utilisationpdf - Le Robert Correcteur

26 jan 2014 · Le Robert Correcteur est un logiciel de correction de documents et d'aide à la par le menu de votre application cliquez sur la ligne



[PDF] Corrigés des exercices du livre et en ligne - Vuibert

Par extension elle contribue également à gérer les files d'attente 1 Les conditions d'application du yield management sont les suivantes : • La réservation 



[PDF] Stratégies pour réviser et corriger un texte

le texte ligne par ligne en utilisant une règle ou mot par mot en utilisant son doigt Même Être capable de justifier ses corrections



[PDF] La révision des documents

28 juil 2006 · 1 La signature est une ligne de texte dont le contenu est déterminé à partir des informations enregistrées dans Outils / Options OpenOffice org 



[PDF] COPIES EN LIGNE - Espace inscrit

Votre travail est affecté à un enseignant correcteur 4 En parallèle dès l'affectation ou la correction du devoir vous avez accès à un 



[PDF] SY ELEMENTS DE CORRECTION page 1/6 - Eduscol

La chaine directe est composée du correcteur de l'actionneur et du système à du gain décrit dans le document ressource et conclure en cinq lignes





Éditeur PDF en ligne facile à utiliser - Sejda

Gratuit aucun filigrane ou inscription Modifier fichiers PDF gratuitement Remplir et signer PDF Changer le texte et les liens existants





Éditeur de fichiers et de formulaires PDF Éditez des PDF en ligne

Éditeur PDF en ligne gratuit Ajoutez facilement du texte des formes commentez et surlignez un fichier PDF Remplissez les formulaires au format PDF et 









Comment vérifier lorthographe dun fichier PDF

15 mar 2023 · Vous pouvez utiliser le correcteur orthographique de PDFelement pour vérifier les fautes d'orthographe tout en effectuant d'autres 





Modificateur PDF Gratuit - PDF Bob

Éditez des fichiers PDF grâce à PDF Bob Éditez créez annotez gérez les pages Gratuit en ligne

  • Comment modifier le texte d'un PDF en ligne ?

    Xodo fournit un éditeur de texte PDF en ligne gratuit pour vous permettre de modifier et de mettre à jour votre contenu PDF. Sélectionnez simplement le fichier que vous souhaitez modifier et utilisez l'éditeur PDF en ligne pour mettre à jour, supprimer ou modifier le texte directement sur vos pages PDF.
  • Comment corriger un PDF gratuit ?

    Pour modifier un fichier PDF, suivez ces étapes simples :
    Ouvrez un fichier dans Acrobat. Cliquez sur l'outil Modifier le fichier PDF dans le volet de droite. Utilisez les outils de modification d'Acrobat : Ajoutez ou modifiez du texte, ou mettez à jour les polices gr? aux options de la liste Format.
  • Comment corriger une faute dans un document PDF ?

    Sélectionnez Outils > Modifier le PDF > Modifier . Les contours en pointillés délimitent le texte et les images que vous pouvez modifier. Sélectionnez le texte à modifier. Dans le panneau Format situé sur la droite, sélectionnez une police, sa taille ou d'autres options de mise en forme.
  • Les 21 meilleurs outils PDF

    iLovePDF. Freemium. Une plateforme pour fusionner, transformer et compresser vos PDF.PDF24 Tools. Gratuit. Un logiciel d'édition PDF entièrement gratuit.PDFsam. Gratuit. Smallpdf. Freemium. Adobe Acrobat Pro DC. Payant. WebtoPDF. Gratuit. Sumatra PDF. Gratuit. CleverPDF. Freemium.
[PDF] TP n 4 - Correction - Normale Sup Universite Paris Diderot Programmation Orientee Objet

Licence Informatique Annee 2009{2010

TP n

4 - Correction

Revisions, suite et n. Introduction a l'heritage

On modelise une application devant servir a l'inventaire d'une bibliotheque. Elle devra traiter des documents de nature diverse : des livres, des dictionnaires, et autres types de documents qu'on ne conna^t pas encore precisement mais qu'il faudra certainement ajouter un jour (bandes dessinees, dictionnaires bilingues,...). On denira une classeBibliothequereduite a la seule methodemainpour tester les dierentes classes de ce TP. Exercice 1Tous les documents possedent untitre. Quand un document est cree, son titre est donne a la creation et par la suite, il ne change plus.

1. Denir la classeDocumentavec son constructeur public, et la proprietetitreprivee et

son accesseur.

2. On veut attribuer unnumero d'enregistrementunique des que l'on cree un objetDocument.

On veut que le premier document cree ait le numero 0, et que ce numero s'incremente de 1 a chaque creation de document. Quelles proprietes faut-il ajouter a la classeDocument? Les- quelles doivent-^etrestatic? Les ajouter sans leurs accesseurs, et modier le constructeur. Puis ajouter une methodegetNumerorenvoyant le numero d'enregistrement du document.

3. Ajouter un second constructeur public permettant de denir aussi, en plus du titre, le

numero d'enregistrement (suppose positif ou nul) lors de la creation d'un document. Quelles restrictions peut-on prendre an d'eviter que deux documents crees aient le m^eme numero? Dans les cas de restriction, on prendra le numero suivant prevu, a la place du numero indique par l'utilisateur.

4. Redenir la methodetoStringrenvoyant la cha^ne de caracteres constituee du numero

d'enregistrement et du titre du document. Correction :Il faut prendre garde a ce que, si on ajoute un document en indiquant son numero, ce numero soit plus grand que le numero suivant prevu. Il faut de plus mettre a jour le numero suivant. public class Document { static private int numeroSuivant = 0; private int numero; private String titre; public Document(String titre) { this.numero = numeroSuivant; numeroSuivant++; this.titre = titre; public Document(String titre, int numero) { if (numero < numeroSuivant) { numero = numeroSuivant; 1 this.numero = numero; numeroSuivant = numero + 1; this.titre = titre; public int getNumero(){ return numero; public String getTitre(){ return titre; public String toString() { return ("numero: "+numero+" titre: "+titre); Exercice 2On veut implementer une liste de documents dans laquelle on veut pouvoir ajouter des documents petit a petit, et y acceder par leur numero d'enregistrement. Mais plut^ot que d'utiliser les structures de collections Java (ArrayList,Vector, etc. que l'on verra dans une seance ulterieure), on veut programmer soi-m^eme \en dur" une structure de donnees. Pour implementer cette structure, on va creer une classeListeDeDocumentsavec un tableau de documentstableaucontenant les documents de la liste. Cependant, pour eviter d'avoir a augmenter la taille du tableau a chaque ajout, on va xer initialement sa taille a 1 et doubler sa taille des qu'on veut ajouter un document dont le numero d'enregistrement est plus grand que la taille du tableau.

1. Denir la classeListeDeDocumentsavec la propriete priveetableauet la methodeajouter

qui ajoute un document a la place indiquee par son numero d'enregistrement, ainsi qu'une methodegetDocumentqui prend en argument un numero et renvoie le document de la liste ayant ce numero (nulls'il n'est pas dans la liste).

2. Dans cette classe, redenir la methodetoStringpour qu'elle renvoie les descriptions de

tous les documents de la liste, separees par un saut de ligne"\n".

3. Modier la classeDocumentpour faire en sorte que tous les documents crees puissent ^etre

retrouves en utilisant une methode statiqueaccesDocumentdans la classeDocument.

Correction :

public class ListeDeDocuments { private Document[] tableau; public void ajouter(Document doc) { if (tableau.length <= doc.getNumero()) {

Document[] t = new Document[tableau.length * 2];

for (int i = 0; i < tableau.length; ++i) { t[i] = tableau[i]; tableau = t; 2 tableau[doc.getNumero()] = doc; public Document getDocument(int index) { if (index >= tableau.length) { return null; return tableau[index]; public ListeDeDocuments() { tableau = new Document[1]; public String toString() {

String resultat = "";

for (int i = 0; i < tableau.length; ++i) {

Document d = tableau[i];

if (d != null) { resultat += d + "\n"; return resultat; L'inconvenient de cette representation est qu'il est dicile de parcourir la liste des documents. Cela est d^u au fait que cette liste, optimisee pour l'acces direct aux documents par leur numero, peut ainsi comporter des \trous". Exercice 3La bibliotheque est appelee a traiter des documents de nature diverse : des livres,

des dictionnaires, et autres types de documents.A chaque livre est associe, en plus, unauteuret unnombre de pages, les dictionnaires ont,

eux, pour attributs supplementaires unelangueet unnombre de tomes. On veut manipuler tous les articles de la bibliotheque au travers de la m^eme representation : celle de document.

1. Denissez les classesLivreetDictionnaireetendant la classeDocument. Denissez pour

chacune un constructeur permettant d'initialiser toutes ses variables d'instances respec- tives.

2. Redenissez la methodetoString()dans les classesLivreetDictionnairepour qu'elle

renvoie une cha^ne de caracteres decrivant unun livre ou un dictionnaire, en plus de la description normale d'un document.

Correction :

public class Livre extends Document{ private String auteur; private int nbPages; public Livre(String titre, String auteur, int nbPages) { super(titre); this.nbPages = nbPages; this.auteur = auteur; 3 public String getAuteur() { return auteur; } public int getNombreDePages() { return nbPages; } public String toString(){ return (super.toString()+" auteur: "+getAuteur()+" pages: "+getNombreDePages()); public class Dictionnaire extends Document { private int nbTomes; private String langue; public Dictionnaire(String titre, int nbTomes, String langue) { super(titre); this.nbTomes = nbTomes; this.langue = langue; public int getNombreDeTomes() { return nbTomes; } public String getLangue() { return langue; } public String toString() { return (super.toString()+" tomes: "+getNombreDeTomes()+" langue: "+getLangue());

3. Dans la classeListeDeDocuments, denissez une methodetousLesAuteursqui renvoie la

cha^ne des auteurs de tous les livres de la liste.

4. Dans la classeListeDeDocumentsdenissez une methodetousLesDicosqui renvoie une

liste de documents (sous la forme d'une nouvelle instance de la classeListeDeDocuments) contenant tous les dictionnaires de la liste.

Correction :

public ListeDeDocuments tousLesDicos() { ListeDeDocuments resultat = new ListeDeDocuments(); for (int i = 0; i < tableau.length; ++i) {

Document d = tableau[i];

if (d != null) { if (d instanceof Dictionnaire) { resultat.ajouter(d); return resultat; public String tousLesAuteurs() {

String resultat = "";

for (int i = 0; i < tableau.length; ++i) {

Document d = tableau[i];

if (d != null) { if (d instanceof Livre) { resultat += ((Livre) d).getAuteur() + "\n"; 4 return resultat;

5. Denissez ensuite quelques classes supplementaires, par exempleBandeDessinee,Manga,

DictionnaireBilingue, etc. avec des proprietes en plus. Pour chacune de ces nouvelles classes, quelle classe etend-elle? Exercice 4Dans l'exercice suivant nous allons utiliser la classeFileWriterpour generer un chier. Pour l'utiliser il faut l'importerimport java.io.FileWriter;. D'autre part, l'utilisa- tion des constructeurs de cette classe, peuvent generer des exceptions du typeIOException. Il convient donc : { d'importer la classeIOExceptionavecimport java.io.IOException;, { d'ajouterthrows IOExceptiona la declaration des methodes dans lesquelles nous utilisons

FileWriter.

Un cours et un TD seront consacres a la gestion des exceptions. Enn dierents constructeurs existent pourFileWriter. Nous allons utiliser le constructeur prenant en argument une chaine de caracteres. Notez que cette cha^ne de caracteres peut specier le chemin vers le dossier dans lequel nous voulons generer nos chiers. Par exemple : FileWriter w = new FileWriter(``/local/home/monom/file''); genere un chierfile.txtvide dans mon dossier/local/home/monom/. Pour ecrire dans un tel chier, on utilise entre autres les methodes : {write(String s)qui ecrit la cha^ne s dans le chier, {close()pour mettre n a l'ecriture dans ce chier. Si vous utilisezwrite(String s), il est necessaire de terminer l'ecriture du chier en utilisant close(). { Dans la classeListeDeDocuments, denissez une fonctionsauvegardepermettant d'ecrire la liste des documents dans un chier.

Correction :

public void sauvegarde(String filename) throws IOException {

FileWriter w = new FileWriter(filename);

Document unDocument;

for (int i=0; i