Contrôle Machine

Les seuls documents papier autorisés sont vos notes de cours, de travaux dirigés et de travaux pratiques. Les documents électroniques autorisés sont les documents présents sur les machines de l'IUT et dont vous êtes l'unique auteur (ainsi que les éventuels documents de cours). En dehors de la machine qui vous est attribuée et de votre matériel de composition (crayons, stylos, feuilles de brouillon…), aucun matériel n'est autorisé.

La documentation de l'API Java doit être consultée uniquement en version locale.

Toutes les réponses devront prendre la forme de fichiers source en langage Java. Suivez scrupuleusement les instructions de ce sujet. Vos réponses doivent correspondre aux exemples d'exécution. Soyez rigoureux !

Sauf indication contraire, vous pouvez supposer que les données fournies sur la ligne de commande ou l'entrée standard respectent les restrictions de l'énoncé et ne nécessitent donc pas de contrôle.

Dans le répertoire dédié au module (normalement, ~/DEV/DEV2.1/), créez un nouveau répertoire nommé CM1. Faites-en votre répertoire courant et placez-y tous les fichiers générés durant l'épreuve. Le contenu de ce répertoire peut être soumis dans votre dépôt git local, mais pas poussé vers votre dépôt global avant l'heure officielle de fin de l'épreuve.

Attention Votre nom complet devra être mentionné sur la première ligne de chaque fichier (en commentaire).

Effacez tous les fichiers temporaires et ne gardez que les fichiers d'extension .java (attention à ne pas effacer vos fichiers source !). Placez-vous ensuite dans le répertoire immédiatement au dessus de CM1 et archivez votre travail, par exemple par la commande :

bob@box:DEV2.1$ tar czvvf dummy_CM1.tar.gz CM1
Remplacez le mot dummy par votre login. Téléversez l'archive ainsi obtenue à cet endroit.

  1. Filtre. (5 points) Écrivez une méthode de classe qui prend en argument une chaîne de caractère et qui renvoie une nouvelle chaîne de caractère contenant seulement les lettres minuscules de la chaîne d'origine (dans le même ordre).

    Écrivez ensuite (dans une autre classe) un programme qui prend en argument sur sa ligne de commande une série de mots, et qui affiche leurs versions expurgées.

    bob@box:CM1$ java Filtre Fête de Noël à 21h00
    ête
    de
    oël
    à
    h
    

    Attention Vous trouverez dans la classe Character une méthode qui distingue les minuscules.

  2. Exquis. (5 points) Écrivez une classe dont le constructeur prend en argument un tableau de chaînes de caractères, et dont la méthode toString renvoie une de ces chaînes choisie au hasard (le résultat de la méthode peut donc être différent à chaque invocation).

    Utilisez ensuite cette classe dans un programme qui affiche cinq phrases avec un sujet, un verbe et un complément d'objet direct choisis au hasard parmi une courte liste.

    bob@box:CM1$ java Exquis
    John embrasse le chien
    Mary tue le voisin
    Mary épouse le facteur
    Jack tue le facteur
    John épouse le chien
    

    Attention La méthode nextInt de la classe Random permet de générer des valeurs entières de façon pseudo-aléatoire dans un intervalle de votre choix.

  3. Compteur. (6 points) Écrivez une application qui ouvre une fenêtre contenant deux boutons et un composant de votre invention contenant une image.

    exemple d'exécution

    En cas de redimensionnement, ni les boutons ni l'image ne changent de taille. Ils restent tous centrés horizontalement. L'image reste centrée verticalement. Les boutons restent collés en haut et en bas de la fenêtre. Les caractères contenus dans les boutons sont '\u25B2' et '\u25BC'.

  4. Illumination. (4 points) Écrivez une application qui ouvre une fenêtre entièrement noire. Lorsque l'on tourne la molette de la souris vers le haut, la fenêtre se remplit de blanc, et elle redevient noire si on tourne la molette vers le bas.

    Attention Respectez bien le principe de responsabilité unique. Au moins deux classes (et donc deux fichiers) sont attendus dans cette question.

retour à la page d'accueil

retour au sommet