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

Pascal Discussion :

Aide pour construire un pseudocode


Sujet :

Pascal

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Aide pour construire un pseudocode
    bonjour a vous ,j'ai un programme a faire en pseudo code mais je galère un peu , l'énoncé est le suivant :

    " Lire la suite des prix (en euros entiers et terminée par zéro) des achats d’un
    client. Calculer la somme qu’il doit, lire la somme qu’il paye, et simuler la remise de la
    monnaie en affichant les textes "10 Euros", "5 Euros" et "1 Euro" autant de fois qu’il y a de
    coupures de chaque sorte à rendre."

    J'ai une trame principale avec deux boucles tantque et certaines affectations de variables , je voulais savoir si vous pouviez me donner des idées pour completer mon programme car je galère pour le mettre sur papier , merci de votre attention

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Hoi,

    On peut t'aider, t'orienter, mais probablement pas "compléter" quelque chose qui pour l'instant, est totalement "vide" (ou alors il faut que je change de lunettes ?).
    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Voilà un petit programme qui fait ce que tu veut.Mais il n' est pas complet. Il reste quelques trucs à ajouter. Je crois que pourras le faire:

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    program client;
     
    function facture:integer;
    {achat des produit}
     var paie,s :integer;
     begin
     s:=0;
     writeln('Veuillez effectuer vos achats :');
     repeat
      write('Entrez le prix du produit voulu: ');readln(paie);  
      s:=s+paie;
     until paie=0;
     facture:=s;
    end;
     
    function relicat:integer;{difference entre somme payée et somme due}
    {lecture de la somme payée}
     var paie,s:integer;
     begin
     s:=facture;
     writeln('Vous avez effectuez une depense egale à: ',s);
     repeat
     write('Veuillez payer lan facture: '); readln(paie);
     if (paie<s) then
      writeln('cette somme est inferieur aux depenses');
     until paie>=s;
     relicat:=paie-s;
    end;
     
    procedure simulremise(a: integer);
    {simule la remise de la monaie}
     const monaie:array[1..8]of integer=(1,5,10,20,50,100,200,500);
         {les differentes coupures et aussi les centimes}
         {tu auras à completer la suite}
     var i,q,r:integer;
    begin
    if a<>0 then
     begin
     writeln('Remise de monnaie :');
     for i:=8 downto 1 do
      begin
      q:=a div monaie[i];
      a:=a mod monaie[i];
      {tu verras pour les accords}
      if q<> 0 then
        writeln(q,' coupure de ',monaie[i],' euro');
      end;
      end;
      writeln;
      writeln('Merci pour votre visite dans notre magasin');
     end;
     
    {corps du programme}
    BEGIN
    simulremise(relicat);
    readln;
    end.

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    ok je pense que je pourrais completer , merci beaucoup

  5. #5
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Donner un code tout fait, c'est bien et généreux, mais c'est pas forcément utile, et c'est dutravail mâché. Surtout pour quelqu'un qui se surnomme flemmaster
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    ne t'en fait pas ( je n'avais demandé qu'une aide , mais je ne vais pas me plaindre ) , ce code sera étudié de près afin que je ressorte la technique pour l'utiliser moi même la prochaine fois

    Ps : et qu'est ce que t'a contre mon pseudo ?? on est tous un peu flemmards quelque par ....

  7. #7
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Citation Envoyé par flemmaster Voir le message
    Ps : et qu'est ce que t'a contre mon pseudo ?? on est tous un peu flemmards quelque par ....
    Non pas tout le monde, et même si on l'est ce n'est pas une raison pour le revandiquer publiquement (c'est un conseil pour la suite).
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  8. #8
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut

    t'es trop cool
    wormful_sickfoot
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  9. #9
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut problème copié
    Tu peux essayer ce programme :
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    program client;
    uses wincrt;
    var
       r:integer;
    function facture:integer;
    {achat des produit}
    var paie,s :integer;
    begin
    s:=0;
    writeln('Veuillez effectuer vos achats :');
    repeat
    write('Entrez le prix du produit voulu: ');readln(paie); 
    s:=s+paie;
    until paie=0;
    facture:=s;
    end;
     
    function relicat:integer;{difference entre somme payée et somme due}
    {lecture de la somme payée}
    var paie,s:integer;
    begin
    s:=facture;
    writeln('Vous avez effectuez une depense egale à: ',s);
    repeat
    write('Veuillez payer lan facture: '); readln(paie);
    if (paie<s) then
    writeln('cette somme est inferieur aux depenses');
    until paie>=s;
    relicat:=paie-s;
    end;
    Procedure AFFICHE (r : integer) ;
    Var 
         c ,n1,n2,n3:integer ;
    begin
            N1 := R DIV 10;
            N2 := (R MOD 10) DIV 5;
            N3 := R MOD 5;
            For c := 1 to n1 do
                  write ('10 Euros') ;
            For c := 1 to n2 do
                  write ('5 Euros');
            For c := 1 to n3 do
                  write ('1 Euro')
    end;
     
    begin
         r:=relicat;
         affiche(r);
    end.

  10. #10
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut une anlyse
    si tu cherche une anlyse, en voici une pour ton problème :
    Voici une spécification du problème
    Résultat : afficher n1 fois le texte "10 Euros", n2 fois le texte "5 Euros" et n3 fois le texte "1 Euro" (on utilise 3 boucles pours
    Pour c de 1 à n1 faire
    Ecrire ("10 Euros")
    Finpour
    …………. )
    Traitement : n1 = ? n2 = ? n3 = ?
    N1 et le nombre des pièces de 10 Euros dans la somme à rendre (SR)
    N1 <-- SR DIV 10
    N2 et le nombre des pièces de 5 Euros dans la somme à rendre (SR) après avoir enlever les pièces de 10 euros
    N2 <-- (SR MOD 10) DIV 5
    N3 et le nombre des pièces d’1 Euro dans la somme à rendre (SR) après avoir enlever les pièces de 10 euros et celle de 5Euros.
    N3 <-- SR MOD 5
    SR = ?
    Sr est la difference entre la somme donnée (SD) et le prix total (PT)
    SR <-- SD – PT
    PT = ?
    SD = ?
    PT est la somme d’une suite de nombres entiers finissant par 0.
    On utilise une boucle répétitive à condition d’arrêt
    PT<--0
    Repeter
    Lire (p)
    PT <-- PT + p
    Jusqu’à p=0
    SD = donnée à saisir au clavier(Lire (D)).

  11. #11
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Meo,

    Citation Envoyé par wormful_sickfoot Voir le message
    Non pas tout le monde, et même si on l'est ce n'est pas une raison pour le revandiquer publiquement (c'est un conseil pour la suite).
    C'est vrai !

    Mais je me demande si gammoudi a lu ça ?
    Si les cons volaient, il ferait nuit à midi.

Discussions similaires

  1. demande d'aide pour construire une requete
    Par moabomotal dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/08/2007, 10h38
  2. Aide pour construire une requête SQL
    Par squalito dans le forum Oracle
    Réponses: 1
    Dernier message: 09/03/2007, 15h04
  3. Aide pour construire une requête SQL
    Par squalito dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/03/2007, 14h08
  4. [SQL] aide pour construire une requête
    Par mealtone dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/08/2006, 15h16

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