IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Exo d'algo


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Par défaut Exo d'algo
    Bonjour, je suis étudiant en premiere année et je vient de commencé en info. G de gros problemes de compréhension mais le prof nous donne kelkes exo a faire a la maison ke je narrive pa a faire. pourrié vou m'aidé?:

    Je dois réaliser un petit programme qui manipule des tableaux avec notamment le tri de leurs éléments et leur affichage de sorte que cela devienne un utilitaire de manipulation de données stockées a l'aide d'un tableau ( on définit de la sorte un type MonTab )
    On suppose que l'on manipule des tableaux de N ( fixé ou constant ) éléments de type MonType. On souhaite faire le minimum d'hypotheses sur MonType de sorte que les algorithmes ( et donc les méthodes correspondantes ) soient les plus réutilisables possibles.
    Remarque: un type s'implantera a l'aide d'une classe.


    Merci de m'aider si vous avé le temps .

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    et où se situe ton problème ?
    dans le pseudo code ? dans l'énoncé ?

    il s'agit d'imaginer un algorithme de tri (il en existe des tas : tri à bulles, tri par insertion, tri par fusion, quicksort ...) ainsi qu'un algo de parcours pour ton affichage de données. L'algo de parcours est tivial, une simple boucle et le tour est joué.

    Par contre cet exercice met en avant des points très intéressants grâce au type MonType dont on ne connait rien.

    Pour pouvoir trier ton tableau, il va te falloir une fonction de comparaison, pour déterminer si un MonType est inférieur ou non à un autre. De même pour l'affichage d'un MonType, il va te falloir tenir compte du type de données qu'il contient (entier, chaine ...)

    Donc en gros, pour le tri, tu vas te retrouver avec l'un des algos qu'on trouve massivement sur internet avec une petite modification : ce sera ta fonction de comparaison [par exemple, une fonction qui prend 2 MonType en paramètres et qui renvoie un booléen].

    Et pour ton affichage, tu vas boucler sur une fonction d'affichage d'un MonType.

    Cet exercice ne me parait pas spécialement adapté pour étudier les algos (à cause du MonType qui est bien abstrait et mystérieux), mais il me parait impeccable pour appréhender les concepts objets qui vont venir.
    En effet, les fonctions d'affichage d'un MonType et de comparaison de deux MonType seront des fonctions membres de la classe MonType.

    On pourra donc écrire un code de tri et d'affichage qui sera générique, quel que soit ce qu'on veut trier ou afficher.

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Par défaut
    C justement le MonType qui m'ennui je ne compren pa vrément a koi il correspond.
    Le prof nous a dit de dabor créer l'algorithme ki crée une variable de type Montab en utilisant la fonction aléat ( ) mais je ne voit pa comen l'utiliser.

  4. #4
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    MonType est le nom d'une classe qui peut contenir n'importe quel type de données : entier, flottant, chaine de caractères ou même tableau ou encore autre chose.

    Il faut donc que tu écrives un algo indépendant du type de données représenté par MonType. Tu te contentes d'appeler une foncton de comparaison.

    Le contenu de cette fonction va dépendre de la nature de MonType, que tu ne connais pas pour l'instant. Donc, dans l'immédiat, tu dois juste écrire l'algo de tri sans tenir compte de MonType

  5. #5
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Oui, ton prof veut de faire toucher du doigt la généricité.

    Que tu manipule un type précis (Integer, float, ...) ou un type quelquonque, tes raisonnement sont les mêmes. Le seul point délicat sont les comparaisons entre ces éléments : puisque tu ne connais pas le véritable type des données à l'avance, tu ne peut pas utiliser les opérateurs de comparaison standard ('=','>','<'). Exemple : Si je décide de créer un tableau (monTab) de fuits (monType : fruit), les opérateurs traditionnels ne vont pas fonctionner : comment veux-tu que le compilateur résolve l'expression 'fruit1<fruits2' ? Il faut donc redefinir tes propres opérateurs de comparaisons, adapté aux types types que tu va réellement manipuler.

    Après, selon le langage de programmation utilisé, cette notion de généricité va être prise en charge de différentes manière :
    en ADA : utilisation du mot clé generic et instanciation via un new
    en JAVA : la classe racine Object permet nativement cette forme de généricité
    etc...
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

Discussions similaires

  1. Exo d'algo débutant
    Par Mika2008 dans le forum Algorithmes et structures de données
    Réponses: 17
    Dernier message: 05/03/2008, 09h23
  2. exo d'algo a resoudre
    Par bansan dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 27/02/2008, 17h33
  3. exo d'algo a resoudre
    Par bansan dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 27/02/2008, 16h00
  4. Exo algo , probleme n1
    Par Panaméen dans le forum Mathématiques
    Réponses: 1
    Dernier message: 25/09/2007, 16h51
  5. Aide sur un exo d'algo
    Par sp4rr0ws dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 25/03/2007, 03h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo