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

Ada Discussion :

Problème d'affichage


Sujet :

Ada

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 36
    Points
    36
    Par défaut Problème d'affichage
    Comme je l'ai dit dans un précédent topic, il persiste un problème d'affichage pour mes polynômes.....

    En voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    PROCEDURE AFF_POLY (P : IN POLYNOME) IS
          --{ e.i.: le polynôme existe }
          --{ e.f.: on a affiché le polynôme ou bien un message d'erreur}
          --{ Principe de realisation : On fait un parcours (schéma n°3) sur la liste chaînée de tête T1}
          --{On regarde si l'élément est positif ou négatif }
          --{ si celui-ci est négatif on le recopie tel quel, sinon on le recopie, précédé du signe ('+').
          --{Ensuite, si le degré est différent de 0, on écrit "x**" suivit de la valeur du degré, sinon on recopie uniquement le coeficient}
     
          A : Adresse;
     
       BEGIN
          if P=NULL then Put_line("Aucun polynome n'est enregistre");
     
          Else A:=Adresse(P);Put(A.el.coeff,1);PUT("x^");Put(A.El.degre,1);
     
     
             LOOP 
             A:=A.suiv;    
     
                   EXIT WHEN A=NULL;
     
             IF A.EL.Coeff<0 then Put(A.El.coeff,1);
                ELSE IF A.EL.Coeff>0 THEN Put("+"); Put(A.El.coeff,1);
                   ELSE NULL;
                   End IF;
                END IF;
     
             IF A.El.Degre <0 THEN Put("x^("); Put(A.El.degre,1);
                 Put(")");
               ELSE IF A.El.Degre > 0 THEN Put("x^"); Put(A.El.degre,1);
                    ELSE NULL;
                    END iF;
                END IF;
     
     
             END LOOP;
          end if;
       END AFF_POLY;
    Je ne sais pas si ça ppeut vous aider je vous le programme de saisie d'un polynome:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     PROCEDURE SAISIE_POLY (P : OUT POLYNOME) IS
          --{ e.i.: indifferent }
          --{ e.f.: on a saisi le polynome P }
          A, T : Adresse;
          C, D : Integer;
     
      BEGIN
     
          New_Line;
          T:= NULL;
           New_line; Put("Ecrire un nombre non nul:"); Get(C);
     
         WHILE C /= 0 LOOP 
     
            New_line; Put_line("Coeff du coefficient:");Get(C); 
            if C /= 0 then Put_line("Coeff du degre:");Get(D); 
     
            ALLOUER(A); 
     
            A.el.coeff:=C;  
            A.El.Degre:=D;
            A.Suiv:=T; 
            T:=A; 
           end if;  
               END LOOP;
     
           P:=Polynome(T); 
     
     END SAISIE_POLY;
    et le résultat qui s'affiche à l'écran:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    ========================= Saisie du premier polynome ===========================
     
     
    Ecrire un nombre non nul:1
     
    Coeff du coefficient:
    2
    Coeff du degre:
    3
     
    Coeff du coefficient:
    4
    Coeff du degre:
    5
     
    Coeff du coefficient:
    0
    4x^5+2x^3
    Je vous remercie pour votre aide........

    $ Kleer $

  2. #2
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    En fait je pense qu'avec ce programme de polynômes tu cherches à faire des choses bien trop compliquées alors que tu pourrais le faire de manière bien plus simple.

    D'autant que tu considère ton niveau en Ada comme "débutant" (et je te crois ), je pense que tu aurais pu implémenter ça de manière beaucoup plus simple.



    Est-ce que ce programme a un but particulier ? La structure de donnée des polynômes en liste chaînée est-elle vraiment justifiée ?


    En programmation on essaye toujours (ou presque) de d'abord faire une version simple mais qui fait ce qu'on lui demande avant de chercher à optimiser/améliorer.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 36
    Points
    36
    Par défaut SUite problème affichage
    Citation Envoyé par Celelibi
    Est-ce que ce programme a un but particulier ? La structure de donnée des polynômes en liste chaînée est-elle vraiment justifiée ?
    Bonsoir,
    en fait, je suis obligé de faire ainsi car mon but est justement d'arriver à afficher un polynôme à l'aide des listes chainées. Le but de ce programme est d'arriver à la fin, après saisie de deux polynômes, de faire leur addition, leur multiplication ou autre.....pour les additions, je dois trouver deux manières différentes dont j'ai les principes.

    Il faut vraiment que je parvienne à terminer ce programme avant cette fin de semaine, c'est le planning que je me suis fixé. Et si je n'y parviens pas...ben ce sera un échec pour moi.

    Pour tout vous dire, j'ai un ami en DUT informatique et je veux y rentrer, or, je sais que là bas ils font des T¨P d'ada exactement comme celui-ci, avec une date limite. C'est juste un entraîenement mais c'est très important pour moi.

    EN tout cas, merci pour ta réponse !!!

    $ Kleer $

  4. #4
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Dans l'IUT d'informatique, il ont sûrement eut avant des cours d'Ada et d'algorithmie, et ils ont sûrement commencés par des TP bien plus simples que ce que tu essayes de faire.

    À vu de nez je dirais que ce que tu essaye de faire est du niveau fin de première année.
    Toi, tu essaye de faire la même chose sans aucun cours et sans être passé par les étapes élémentaires. Ça n'est pas possible si tu n'as pas déjà pratiqué la programmation depuis un certain temps.


    Enfin voilà, ne considère pas cela comme un échec si tu n'y arrives pas. Peu de gens (voir personne) ne peut y arriver comme ça.


    je sais que là bas ils font des TP d'ada exactement comme celui-ci, avec une date limite.
    Je veux pas paraître méchant, mais un TP comme ça, la date limite c'est quelques heures.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Celelibi
    Dans l'IUT d'informatique, il ont sûrement eut avant des cours d'Ada et d'algorithmie, et ils ont sûrement commencés par des TP bien plus simples que ce que tu essayes de faire.

    À vu de nez je dirais que ce que tu essaye de faire est du niveau fin de première année.
    Toi, tu essaye de faire la même chose sans aucun cours et sans être passé par les étapes élémentaires. Ça n'est pas possible si tu n'as pas déjà pratiqué la programmation depuis un certain temps.
    Moi non plus je ne veux pas paraître, mais ce qui est sur c'est que ce TP est bien celui que sont en train de faire les étudiant en DUT informatique en milieu de première année !! La preuve est que le sujet vient d'un ami qui est là bas.. si tu ne me crois pas, j'ai le sujet avec la date avant laquelle il faut le rendre !!!

    Mais c'est vrai, que pour une première année, je trouve ça vraiement assez costaud......

    En tout cas, merci de ta participation active !!

    $ Kleer $

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'affichage
    Par mustang-gx dans le forum Bases de données
    Réponses: 8
    Dernier message: 26/01/2005, 22h54
  2. Problème d'affichage avec trace
    Par WriteLN dans le forum Flash
    Réponses: 10
    Dernier message: 22/10/2003, 16h59
  3. [Kylix] problème d'affichage
    Par scalvi dans le forum EDI
    Réponses: 1
    Dernier message: 18/06/2003, 10h07
  4. Réponses: 1
    Dernier message: 06/03/2003, 11h57
  5. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43

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