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 :

demande aide en algo


Sujet :

Algorithmes et structures de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Par défaut demande aide en algo
    Bonjour

    J'ai repris mes etudes tard (j'ai 40 ans) et je suis en L3 AES (administration economique et social) par correspondance. Cette année on a un cours d'algorithme (un truc que je n'ai jamais vu de ma vie ) Le cours fait 20 pages c'est pour dire qu'au niveau difficulté c'est pas dur (mais aussi tres succint), mais moi , je plane un peu (en plus par correspondance nous n'avons aucun prof pour nous expliquer, juste la demerde....)
    J'ai 4 exos d'entrainement, je suis arrivée a en faire 1, le 2eme j'ai un bon debut et les 2 drrniers c'est une horreur)!!!
    Voici l'exo que je pense avoir compris:

    Ex3: ecrire un algo qui convertit des secondes en heures, minutes et secondes. On entre un nombre de secondes et l'algo affiche la quantité d'heures de minutes et de secondes
    Ma reponse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Programme Horaire
    Entier s,h,m
    Debut
    Ecrire ("entrez le tmps à convertir")
    Lire (s)
    h=s/3600
    m=s-(h*3600)/60
    s = s-(m*60)-(h*3600)
    Ecrire h
    Ecrire m
    Ecrire s
    Fin
    Les autres exo sont sur le monnayeur, le calcul d'un salaire et sur des stats

    qq pourrait il me dire si cet exo est ok et m'aider pour les autres
    Merci d'avance

  2. #2
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    ca a l'air pas trop mal, mais :
    - tu a des divisions entieres (qui donne un quotient entier), tu dois clairement ls identifier.
    - pour les minutes, tu as oublié des parentheses.
    - ce n'est qu'un detail, mais la lecture du code est plus agreable si tu utilises les balises code, et si tu indentes le code.

    en gros, je dirais que ca fait ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Programme Horaire
       Entier s,h,m
    Debut
       Ecrire ("entrez le temps à convertir")
       Lire (s)
       h=PartieEntiere(s/3600)
       m=PartieEntiere( (s-(h*3600)) /60 )
       s = s-(m*60)-(h*3600)
       Ecrire h
       Ecrire m
       Ecrire s
      Fin

  3. #3
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    C bon, il manque juste les parenthèses.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Programme Horaire
    Entier s,h,m
    Debut
    Ecrire ("entrez le tmps à convertir")
    Lire (s)
    h=s/3600
    m=(s-(h*3600))/60
    s = s-(m*60)-(h*3600)
    Ecrire h
    Ecrire m
    Ecrire s
    Fin
    Donne plus de détails sur les autres exercices.

    Boncourage

  4. #4
    Membre Expert
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par défaut
    pour kmaniche: ça ne marche que si "h" et "m" sont définis entiers.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Par défaut merci
    Merci Jobhertz

    C'est vrai que je dois avoir des nombres entiers. Ok j'ai compris mon oubli et du coup je comprends mieux maintenant mon prochain exo
    Ok pour la parentheses des minutes

    Par contre qu'est ce des balises code? et indenter le code? pour moi completement chinois

    Encore merci pour cet exo
    Je donnerais la suite de mes exos demain (la nuit porte conseil)

  6. #6
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    les balises code n'interviennent que dans le cadre du forum. tu reparque que le code que nous t'avons donné est mieux presenté et plus lisible, c'est parce que nous l'avons encadré entre (crochet)code] et (crochet)/code] (les (crochets) sont a remplacer ar de vrai crochets, mais si je l'avais fait tu n'aurais rien vu :-)

    l'indentation intervien aussi dans le cadre du forum, et quand tu programme "en vrai" tes algorithmes. (ce qui au passage peut etre une bonne idee, avec un langage simple comme celui d'octave par exemple) : cela signifie simplement mettre des espaces pour decaler les lignes de code quand tu rentre dans un nouveau bloc, par exemple :
    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
     
    debut du programme
    instruction
    instruction
    si tel truc, alors
       je decale ma ligne
       celle la aussi
    fin si, je revien a la normale
    si ...
       bien sur on cumule les indentations s'il y a lieu
       si truc alors
          si autre truc alors
             instruction
          fin si
       fin si
    fin si
    cela rend le code plus agreable a lire, on distingue clairement le debt et la fin d'un bloc.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Par défaut mon 2eme exo
    Voici mon 2eme exo:
    Ecrire un algo qui lit un montant M et le décompose en nombre. N1 de billets de 100 E, N2 de billets de 50E, N3 de 20E, N4 de 10E, N5 de 5E et N6 fr pièces de 1 E.
    On utilisera dans l'algo l'operateur "partie-entière" Si U=3.4 alors partie entière(U) vaut 3. Syntaxe=partie-entière (M/50); x est un entier

    Ma reponse:
    Je me suis posée qq questions avant du genre: combien coute le produit pour pouvoir rendre la monnaie? J'ai donc pris la simplicité

    [Programme: machine à rendre la monnaie
    Entier N1, N2, N3, N4, N5, N6, M
    Début
    Ecrire ("Entrez le montant à rendre")
    Lire (M)
    N1=PartieEntiere (M/100)
    N2=PartieEntiere ((M/50)-(M/100))
    N3=PartieEntiere ((M/20)-(M/50)-(M/100))
    N4=PartieEntiere ((M/10)-(M/20) -(M/50)-(M/100))
    N5=PartieEntiere ((M/5)-(M/10)-(M/20) -(M/50)-(M/100))
    N6=PartieEntiere ((M/1)-(M/5)-(M/10)-(M/20) -(M/50)-(M/100))
    Ecrire N1
    Ecrire N2
    Ecrire N3
    Ecrire N4
    Ecrire N5
    Ecrire N6
    Fin]

    En faisant le 1er exo je comprends mieux maintenant le 2eme exo!!

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Par défaut
    ca n'a pas marché les crochets code.......

  9. #9
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    je n'ai pas dit que tu devais mettre le code entre crochet, mais que tu devais commencer pas :

    (crochet)code]

    ton programme
    (crochet)/code]

  10. #10
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    et au passage, il me semble que c'est pas tout a fait ca. N1 est la partie entiere de M/100, on est d'accord. donc du coup, ce qu'il reste apres avoir compté les billets de 100, c'est M-N1*100 ! donc la formule serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    N2=PartieEntiere((M-N1*100)/50)
    et ainsi de suite...

  11. #11
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Petite parenthèse pour luwela :
    Si tu veux insérer du code clique sur le bouton # de l'éditeur ou regarde comment utiliser les balises BB pour mettre en forme tes messages :
    http://www.developpez.net/forums/misc.php?do=bbcode
    http://www.developpez.net/forums/mis...do=bbcode#code

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Par défaut
    oupss effectivement que j'ai oublié qq chose

    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
     
    Programme: machine à rendre la monnaie
    Entier N1, N2, N3, N4, N5, N6, M
    Début
    Ecrire ("Entrez le montant à rendre")
    Lire (M)
       N1=PartieEntiere (M/100)
       N2=PartieEntiere (M-((N1*100)/50))
       N3=PartieEntiere (M-((N1*100)-(N2*50))/20)
       N4=PartieEntiere (M-((N1*100)-(N2*50)-(N3*20))/10)
       N5=PartieEntiere (M-((N1*100)-(N2*50)-(N3*20)-(N4*10))/5
       N6=PartieEntiere (M-((N1*100)-(N2*50)-(N3*20)-(N4*10)-(N5*5))
       Ecrire N1
       Ecrire N2
       Ecrire N3
       Ecrire N4
       Ecrire N5
       Ecrire N6
    Fin
    je pense que maintenant mon exo est juste et que je suis arrivée a le mettre ven forme
    La suite de mon exo demain.........

  13. #13
    Membre confirmé Avatar de larimoise
    Inscrit en
    Octobre 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 220
    Par défaut
    Bonjour,

    j'ai enseigné l'algorithmique et l'informatique à des étudiants qui n'avez aucune notion de programmation, et la plus grande difficulté c'était de leurs apprendre à raisonner d'une manière structuré .
    Alors pour quelqu'un qui n'a jamais fait d'informatique et qui arrive à faire les exercices c'est pas mal du tout.


    Alors je vous dis un grand bravo, et continuez comme ça

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Par défaut
    Bonjour

    Merci pour les encouragements....
    Le plus dur dans tout cela est que je n'ai personne pour m'aider, pour m'expliquer..... On voit apparaitre des mots comme STRING (mis à part un sous vetement) il n'y avait aucune explication. Le cours fait 20 pages en tout et pour tout (avec un commencement à 0) Mais bon j'y arriverais....

    Pour continuer mes exos. Voici le 3eme
    On veu calculer le salaire d'un employé. On suppose que ce salaire est constitué d'un salaire de base calculé à partir d'un taux horaire et d'un nombre d'heures, plus 100 E par enfant à partir du 2eme, plus 200 E en cas de salaire unique dans le foyer. L'algorithme à construire devra lire:
    le taux horaire
    le nombre d'heures
    le nombre d'enfants
    le code de salaire unique (1et 2)
    et calculer le salaire brut correspondant

    Voici mon debut
    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
     
    Programme: calcul du salaire brut
    variable E , u entier
    variable t, h reel
    Debut
       Ecrire ("Quel est votre taux horaiore?")
       Lire (t)
       Ecrire ("Quel est le nombre d'heures effectuées?")
       Lire (h)
       Ecrire ("Combien d'enfants avez vous?") 
       Lire (E)
           Si E>=2 alors
                   Debut
                   Tant que ........................ faire
                   (E-1) *100
                    fintantque
            sinon 0
            Finsi
        Ecrire ("Y a til un salaire unique?")
            Si u=1 alors u=200
            sinon u=0
            Finsi
        Ecrire ("le salaire brut est")
        Lire (t*h)+(E-1*100)+(u=200)
        Fin
    Je pense savoir ou sont mes erreurs: d'abord je ne sais quoi mettre apres tant que (tant que le chiffre n'est pas atteint, faire le nombre d'iterations) facile a dire mais pas à retranscrire
    Mon 2eme pb est au niveau salaire unique (avec le 2 dans l'enoncé que je ne sais pas quoi faire!!)Apres je ne vois pas d'autres pbs

    Merci d'avance

  15. #15
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    deja, je ne vois pas pourquoi tu fais une boucle, elle ne me semble pas necessaire. ensuite, tu fais des calculs sans en stocker le resultat !

  16. #16
    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
    tu as un bon début. Je pense qu'une solution pertinente est de modifier le salaire au fur et à mesure que tu étudies les différents cas.
    Par exemple :
    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
    Programme: calcul du salaire brut
    variable E , u entier
    variable t, h, salaire reel
    Debut
       Ecrire ("Quel est votre taux horaiore?")
       Lire (t)
       Ecrire ("Quel est le nombre d'heures effectuées?")
       Lire (h)
       salaire = t*h
       Ecrire ("Combien d'enfants avez vous?") 
       Lire (E)
           Si E>=2 alors
                   salaire = salaire + (E-1)*100
            Finsi
        Ecrire ("Y a til un salaire unique?")
        lire (u)
            Si u=1 alors 
                  salaire = salaire + 200
            Finsi
        Ecrire ("le salaire brut est")
        Ecrire salaire
        Fin
    De plus, je ne saurais trop te conseiller de bien nommer tes variables, E, u, t et h ne sont pas forcément les noms les plus adaptés.

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Par défaut
    ahhhhhh Je pensais partir sur le fait que l'on ne sait pas combien il y a d'enfants (donc tourner tant que l'action est ok)
    Mais en y reflichissant un peu plus, je verrais bien un truc comme cela :-)

    Pour E de 0 à N faire
    E = (E-1)*100

    je vais reflechir pour le reste!!

  18. #18
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    je ne sais pas si vos messages se sont croisé avec khayyam90 , mais au cas ou : tu n'as pas besoin de faire de boucle du tout, donc pas non plus de "pour E de 0 a N"

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Par défaut
    Bonsoir

    2 jours pour me remettre de l'exo En fait je bosse la journée et donc il n'y a que le soir pour reviser.
    J'ai repris mon exo

    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
     
    Programme: calcul du salaire brut
    variable E , u entier
    variable t, h, S reel
    Debut
       Ecrire ("Quel est votre taux horaiore?")
       Lire (t)
       Ecrire ("Quel est le nombre d'heures effectuées?")
       Lire (h)
       Ecrire ("Combien d'enfants avez vous?") 
       Lire (E)
       Ecrire ("Y a til un salaire unique? Si seul tapez 1, sinon 2")
       Lire (u)
       S= t*h +(E-1)*100
            Si u=1 alors S=S+200     
            Finsi
       Ecrire ("le salaire brut est:")
       Ecrire S 
       Fin
    J'ai du mal avec l'histoire du 1 et 2 du salaire unique, surtout que je n'arrive pas à utiliser le 2 dans mon algo.
    Mais bon, est ce que je suis dans une meilleure voie qu'il y a 2 jours !!!!!!!
    Merci d'avance

  20. #20
    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
    Bien le bonsoir,

    que se passe-t-il si la personne n'a pas d'enfant ?
    ton algo va lui retirer de l'argent, c'est embêtant.

Discussions similaires

  1. Besoin d'aide pour algo
    Par vodevil dans le forum Langage
    Réponses: 8
    Dernier message: 08/03/2006, 13h45
  2. demande aide pour XML/XSL
    Par Jarod51 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/01/2006, 19h10
  3. Résolution Sudoku, demande aide...
    Par Alain15 dans le forum C++
    Réponses: 25
    Dernier message: 02/01/2006, 15h29
  4. Aide pour algo voyelle
    Par wareq dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 21/11/2005, 20h49
  5. débutante demande aide
    Par youna dans le forum Langage
    Réponses: 1
    Dernier message: 04/10/2005, 11h30

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