• Aucun résultat trouvé

NFP121 Programmation avancée Session Avril 2013 - durée : 3 heures Tous documents papiers autorisés

N/A
N/A
Protected

Academic year: 2022

Partager "NFP121 Programmation avancée Session Avril 2013 - durée : 3 heures Tous documents papiers autorisés"

Copied!
2
0
0

Texte intégral

(1)

NFP121

Programmation avancée Session Avril 2013 - durée : 3 heures

Tous documents papiers autorisés

Exercice 1 :

(9 points)

Dans cet exercice, vous allez proposer une solution logicielle en Java pour la création d'un traducteur anglais/français. La solution doit lire le contenu d'un fichier texte «traduction.fr»

contenant des mots en français (resp. «traduction.en» en anglais), les traduire, et finalement les enregistrer dans un fichier «traduction.en» (resp. «traduction.fr»).

1) Identifiez et implémentez la structure de données adéquate pour contenir la correspondance entre les mots français/anglais. Argumentez votre choix.

2) Restructurez votre solution pour que ça puisse lancer en parallèle deux traducteurs : un pour la traduction français --> anglais, et un autre pour la traduction anglais --> français.

Le premier traducteur enregistre à la volée le résultat de sa traduction dans un fichier. A chaque fois qu'un mot est traduit par le premier, le deuxième traducteur ira le chercher dans ce fichier et fera la traduction inverse, en sauvegardant le résultat dans un autre fichier. On effectuera des pauses d'un temps aléatoire pour simuler le temps de recherche de la traduction.

3) Mettez en place une interface graphique pour votre traducteur. Cette interface permettra de saisir le mot que l'on voudrait traduire, sélectionner le mode de traduction (français -->

anglais ou bien anglais --> français), et de lancer la traduction et afficher le résultat dans l'interface. Prenez soin de l'ergonomie de votre interface.

4) Comment gérer les cas où un mot possède plus qu'une traduction possible ? Mettez en œuvre cette solution.

5) Comment voyez-vous l'évolution de votre solution vers un traducteur en plusieurs langues (anglais, français, espagnol par exemple) ?

Exercice 2 :

(11 points)

Dans cet exercice, vous allez proposer une solution logicielle en Java pour la gestion d'une bibliothèque universitaire. Cette bibliothèque gère des œuvres numériques (livre sous format pdf, DVD,...) et papier (revue, livre papier...). La bibliothèque est gérée par deux personnes qui pourraient traiter par exemple deux demandes en même temps. Les deux personnes possèdent le même login/password pour accéder à une base de données contenant l'ensemble des œuvres. Cette base contiendra pour chaque œuvre son identifiant unique, sa nature (numérique/papier), son auteur, sa date d'achat, son endroit de rangement (numéro de rangée par exemple), sa disponibilité (disponible ou prêtée), ainsi que la personne qui l'a empruntée (si l’œuvre n'est pas disponible en bibliothèque).

1) Proposez votre conception objet pour un tel problème. Quels modèles de conception pourrait-on mettre en œuvre ici. Justifiez votre réponse.

2) Rappeler par un schéma le principe du modèle de conception MVC. Quels sont les avantages de ce modèle.

(2)

3) Quelle structure de données proposez-vous pour gérer un ensemble d’œuvres dans votre programme ? Argumentez votre choix et mettez en œuvre cette structure.

4) Mettez en place la base de données et implémentez ce qu'il faut pour pouvoir établir la connexion depuis votre programme Java. Interrogez là pour afficher toutes les œuvres disponibles à un instant donné, ainsi que toutes les œuvres empruntées par un personne xxx à préciser de façon dynamique.

5) Mettez en place la gestion parallèle des œuvres par les deux responsables de la bibliothèque.

6) Proposez une interface graphique pour communiquer avec l'utilisateur de votre application. Votre solution doit contenir deux fenêtres :

- une fenêtre principale qui permet de saisir les informations sur l’œuvre recherchée et effectuer la recherche, ajouter une œuvre récemment achetée par la bibliothèque...

- une deuxième fenêtre qui affiche toutes les œuvres disponibles à un moment donné. Il faut prévoir un bouton de rafraîchissement pour actualiser la liste disponible.

7) Est-il possible d'automatiser l'actualisation de la liste des œuvres disponibles ? Si oui, comment ?

Références

Documents relatifs

Arbre-k minimum Il s'agit d'extraire d'un graphe un arbre de poids minimum(la somme des poids des arêtes est minimum) contraint à ne posséder que k arêtes, le problème est

de concentration égale à 10 -1 mol/l dans laquelle plonge une lame de cuivre. 2°) Représenter cette pile en précisant le sens des électrons et celui du courant. 3°) Ecrire

Question 3: Sachant que la covariance de l’erreur de mesure est 0.752 et que les covariances des erreurs en position, vitesse et accélération sont identiques de 1.102, donner

Un avion est caractérisé par un numéro d’avion (code interne à la compagnie) et appartient à un certain type d’avion (par exemple : AIRBUS,

qui se passe depuis la température d’austénitisation jusqu’à l’ambiante (températures d’apparition, proportion, nature, microstructure, dureté du produit final).. -

Sur le diagramme des classes, NomEnMajuscule et MéthodeExiste sont deux propriétés d’une classe, la première propriété est satisfaite si la première lettre du nom de la classe

Proposer une interface graphique pour gérer cette plate-forme : initier des vols, afficher les vols en cours ainsi que leurs altitudes, consulter et mettre à jour la météo,… Une

Supposons qu’un processeur non pipeliné possède un temps de cycle de 25 ns et que le chemin de données est constitué de modules dont les temps d’exécution sont respectivement 3,