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.

Créez un répertoire nommé DEV32. Faites-en votre répertoire courant et placez-y tous les fichiers que vous écrirez durant l'épreuve. Votre nom complet devra être mentionné au début 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 DEV32 et archivez votre travail, par exemple par la commande :

bob@box:~$ tar czvvf bob_dev32.tar.gz DEV32
Téléversez l'archive ainsi obtenue à cet endroit.

  1. Somme. (10 points) On souhaite connaître la somme des éléments d'une file. Pour y accéder, il faudra bien sûr vider entièrement la file.

    1. Écrivez une méthode itérative prenant en argument une file (quelconque) de Double et qui renvoie la somme des éléments qu'elle y a trouvé.
    2. Écrivez une deuxième version de la même méthode, récursive cette fois.
    3. Écrivez une troisième version de la même méthode, récursive ou itérative, qui accepte aussi bien les files de Double que de Float ou Integer. On rappele que toutes ces classes héritent de Number.

    Attention Notez bien que l'on ne vous demande pas de coder une file dans cette question.

  2. Priorité. (10 points) Une file de priorité est une structure de données abstraite très similaire à une file. Elle supporte les opérations suivantes :

    enqueue
    ajoute un élément en lui attribuant une priorité (un entier),
    dequeue
    retire et renvoie l'élément de plus haute priorité (l'entier le plus petit),
    empty
    signale si la file est vide.

    Définissez une interface pour représenter une file de priorité, puis proposez une réalisation de cette interface basée sur un arbre binaire de recherche. Vous testerez votre travail en écrivant un programme qui prend sur la ligne de commande une série de mots précédés de leur numéro d'ordre et qui les affiche ensuite dans le bon ordre.

    bob@box:DEV32$ java Q2 6:sans 2:sans 0:À 5:triomphe 3:péril, 4:on 7:gloire 1:vaincre
    À vaincre sans péril, on triomphe sans gloire.
    

retour à la page d'accueil

retour au sommet