Algo

Résolu
etoui -  
 etoui -
Bonjour,
voila j'ai un soucie j'aimerais créer des programme en algo mais je ne sait comment faire alors voila je demande votrz aide comment faire

je voudrais créer un algo qui permettrais de déterminer le maximum de 4 nombre X Y Z et T et aussi un algo bien pratique pour me permettre de décomposé une somme d'argent en billet de 20 10 5 et en piece de 2 et 1 €

aider moi svp
Configuration: Windows Vista
Firefox 2.0.0.17

12 réponses

Résumé de la discussion

Un objectif est de concevoir un algorithme qui détermine le maximum de quatre nombres X, Y, Z et T et un algorithme de décomposition d'une somme en billets et pièces. Des propositions pratiques montrent comment calculer les quantités de chaque billet ou pièce en utilisant des divisions successives par 20, 10, 5, 2 et 1 et en conservant les restes. Certaines réponses mettent en avant un exemple étape par étape avec des variables NB20, NB10, NB5, NP2 et NP1 et illustrent aussi des approches de permutation entre X et Y. D'autres discussions évoquent des variantes liées à des permutations de deux variables et soulignent que des solutions partielles restent utiles même lorsque le but principal n'est pas encore totalement clarifié.

Bobot (l'IA à votre service)
  1. XatOr Messages postés 799 Statut Membre 34
     
    Ton énoncé ?
    0
  2. etoui
     
    pour le premier j'arrive qu'a le commencer variable et afficher saisir pour le second j'ai déterminer qu'il me fallait dim et mod mais je ne sait pas comment faire?
    0
  3. etoui
     
    ok sinon pour une permutation de deux variable sa marche sa je sait pas trop si la forme et correcte mais j'aurais éssayer

    var

    X,Y,Z: réel

    début

    afficher ("entrer X")
    saisir (X)
    afficher ("entrer Y")
    saisir (Y)

    Z = x
    x = y
    y = Z

    afficher ("X :"; Y)

    afficher ("Y :"; x)

    fin
    0
  4. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Wep, tu as déjà utilisé des tableaux?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. etoui
     
    NON PAS ENCORE

    pour les billet voila ce que j'ai fait

    var

    NB20, NB10, NB5, NP2, NP1, somme, reste : entier

    début

    afficher ("entrer somme")
    saisir (somme)

    NB20 (--- somme div 20
    reste (--- somme mod 20
    NB10 (--- somme div 10
    reste (--- somme mod 10
    NB5 (--- somme div 5
    reste (--- somme mod 5
    NP2 (--- somme div 2
    reste (--- somme mod 2
    NP1 (--- somme div 1
    reste (--- somme mod 1

    afficher ("vous aurais :"; somme)

    fin
    0
  7. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Pour le max tu pourra pas boucler, t'as pas de tableau.
    L'idéal:
    _ Tu saisis X et tu fais max = X
    _ Tu saisis Y, si Y > max alors max = Y
    _ et ainsi de suite....
    0
    1. etoui
       
      il faut que je le fasse sans tableau sa doit étre possible de le finir sans mais je sait pas comment je vais éssayer de le faire
      0
      1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526 > etoui
         
        Je viens de te montrer que tu n'en avais pas besoin.
        0
  8. Stephane39
     
    Salut,

    t'es en BTS info ? tu sais pas faire ça ? arretes l'info ...

    1/

    VAR
    x,y,z,t :réels
    DEBUT
    AFFICHER("Valeur pour x :")
    SAISIR x
    AFFICHER("Valeur pour y :")
    SAISIR y
    AFFICHER("Valeur pour z :")
    SAISIR z
    AFFICHER("Valeur pour t :")
    SAISIR t

    SI (x<=y) ALORS
    x = y
    FIN SI

    SI (x<=z) ALORS
    x = z
    FIN SI

    SI (x<=t)ALORS
    x = t
    FIN SI

    AFFICHER ("Plus grande valeur : " + x)
    FIN

    2/

    VAR
    S : entier
    nbVingt,nbDix,nbCinq,nbDeux,nbUn : entiers
    reste : entier
    DEBUT

    nbVingt = 0
    nbDix = 0
    nbCinq = 0
    nbDeux = 0
    nbUn = 0
    reste = S

    AFFICHER("Somme :")
    SAISIR(S)

    SI(S/20<>0)ALORS
    nbVingt = S/20
    reste = S - nbVingt*20
    FSI

    SI(reste/10<>0)ALORS
    nbDix = reste/10
    reste = reste - nbDix*10
    FSI

    SI(reste/5<>0)ALORS
    nbCinq = reste/5
    reste = reste - nbCinq*5
    FSI

    SI(reste/2<>0)ALORS
    nbDeux = reste/2
    reste = reste - nbDeux*10
    FSI

    SI(reste<>0)ALORS
    nbUn = reste
    FSI

    Afficher("S = nbVingt*20+nbDix*10+nbCinq*5+nbDeux*2+nbUn*1")
    FIN

    tcho'
    0
    1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      t'es en BTS info ? tu sais pas faire ça ? arretes l'info ...

      Heu....tu es né en sachant programmer? Tu a commencé tes études en sachant programmer?
      0
      1. Stephane39 > kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention  
         
        "Heu....tu es né en sachant programmer? Tu a commencé tes études en sachant programmer?"


        Je me dis simplement que celà fait 2 mois que les cours en BTS ont repris ... ce genre d'algo, c'est vu la première semaine ...

        Gardes la pêche ;)
        0
      2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526 > Stephane39
         
        Ca dépend quel BTS :-)
        0
      3. Stephane39 > kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention  
         
        C'est sûr, pas en BTS Immobilier ...
        0
  9. etoui
     
    merci mais je voulais pas forcément les réponses ce que je demander se sont tous simplement des explications

    et non je ne suis pas en bts info mais en 1er stg j'apprends les algo
    0
    1. Stephane39
       
      Ok dans ce cas là, je te prie de m'excuser.

      Dis moi ce que tu n'as pas compris dans les algos que je t'ai fait, je vais t'expliquer.
      0
    2. etoui > Stephane39
       
      SURTOUT le premier que je n'ai pas compris le max des 4 nombre j'ai pas compris pourquoi tu fesait sa plus haut j'ai mis un éxo de permutation je ne sait pas si c'est le même principe??
      0
    3. etoui > etoui
       
      a si je viens de le comprendre en fait c'est tout simple j'aurais pas su le faire sans ton aide mais now je serais le faire j'ai compris le principe merci bcp
      0
    4. Stephane39 > etoui
       
      Je pense que c'est cette partie là que tu n'as pas compris ...

      SI (x<=y) ALORS // on teste si x inférieur ou égal à y
      x = y // si c'est le cas la valeur de x on s'en fout et on la remplace par celle de y
      FIN SI // si ce n'est pas le cas, on s'en fout de la valeur de y et x reste x

      // on sort du test avec la plus grande valeur des deux variables x et y, stockée dans x


      //MEME PRINCIPE avec la valeur de x récupérée avant
      SI (x<=z) ALORS
      x = z
      FIN SI

      //MEME PRINCIPE
      SI (x<=t)ALORS
      x = t
      FIN SI

      et donc tu affiches la plus grande valeur stockée dans la variable x
      0
    5. etoui > Stephane39
       
      j'ai un autre exo que j'avais fait il falliait placer dans X la plus petite des deux valeurs dans y la plus grande en gros ses deux exo était presque pareille sauf que dans celui que tu m'a expliquer il faut trouver la valeur la plus forte et l'afficher
      0
  10. etoui
     
    a en fait il faut que mon reste sont la somme du calcule de mon prochain nb

    en gros que le reste de NB20 ce retrouve en somme de nb10
    0
  11. etoui
     
    Stephane39 pour info je suis peut étre nul mais si j utilise les div c'est que je doit les utiliser
    0
  12. etoui
     
    SA MARCHE SA

    var

    NB20, NB10, NB5, NP2, NP1, somme, reste : entier

    début

    afficher ("entrer somme")
    saisir (somme)

    NB20 (--- somme div 20
    reste (--- somme mod 20
    NB10 (--- NB20 div 10
    reste (--- somme mod 10
    NB5 (--- NB10 div 5
    reste (--- somme mod 5
    NP2 (--- NB5 div 2
    reste (--- somme mod 2
    NP1 (--- NB2 div 1
    reste (--- somme mod 1

    afficher ("vous aurais :"; NB20+NB10+NB5+NB2+NB1)

    fin
    0