Exercice d'algorithmie
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Exercice d'algorithmie



  1. #1
    jibo30

    Exercice d'algorithmie


    ------

    Bonjour,
    J'aurais besoin de votre aide pour la résolution et surtout la présentation d'un algorithme que j'ai à rendre, noté.
    J'ai pas encore tout à fait saisi comment doit être structuré l'algorithme.

    Voici l'énoncé : Il y a 4 valeurs, on veut : 4 valeurs égales / 3 valeurs égales + 1 distinctes / 2 égales, 2 distinctes et différentes entre elles / Toutes différentes.
    Tout ça dans le même algorithme à l'aide de If/ElseIf et ( and/or )

    Pour l'instant ça donne ça

    Variables : a, b, c, d : réel

    Début :
    Get (a)
    Get (b)
    Get (c)
    Get (d)
    If a=b=c=d Then
    Afficher (" Les 4 valeurs sont égales " )
    ElseIf (a=b and b=c) or (a=c and c=d) or (b=c and c=d) or (a=b and a=d) Then
    Afficher (" 3 valeurs sont égales, la 4ème est distincte")
    ElseIf (a=b et ( d et c =/= a )) or (a=c et ( d et b =/= a )) or (a=d et (b et c =/=a)) or (b=c et (a et d=/=b)) or (b=d et (a et c =/=a )) or (c=d et (a et b =/=d))
    Afficher (" 2 sont égales, les deux autres sont distinctes")
    ElseIf a=/=b=/=c=/=d Then
    Afficher ("Les valeurs sont toutes distinctes")
    EndIf
    End

    Voilà mon travail. J'aimerais que vous me le corrigiez car je n'arrive pas à trouver comment utiliser les ( and/or ) avec les parenthèses, me dire si l'algorithme est juste également. Merci d'avance.

    -----

  2. #2
    gg0
    Animateur Mathématiques

    Re : Exercice d'algorithmie

    Bonjour.

    Je ne sais pas dans quel langage tu as écrit cet algorithme, mais les subtilités de and et or en dépendent.
    Par exemple ton "d et c =/= a " a peu de chances de faire ce que tu veux, le "d et c" étant un booléen dont la valeur dépend de celles de d et c (généralement nul/non nul) et du langage.

    Il y a d'autres façons de faire, par exemple de comparer a successivement à b, c et d et de passer à la suite dès qu'on a une égalité, de conserver 1 si on n'a pas eu égalité. Puis de faire de même avec b comparé à c et d, d'incrémenter de 1 s'il n'y a pas égalité, enfin de comparer c et d et d'incrémenter de 1 s'il y a égalité, de 2 sinon. L'idée revient à écrire la liste et à barrer un terme dès qu'il se retrouve dans la suite.

    Cordialement.

  3. #3
    ansset
    Animateur Mathématiques

    Re : Exercice d'algorithmie

    Citation Envoyé par jibo30 Voir le message
    .......
    If a=b=c=d Then
    Afficher (" Les 4 valeurs sont égales " )
    ElseIf (a=b and b=c) or (a=c and c=d) or (b=c and c=d) or (a=b and a=d) Then
    Afficher (" 3 valeurs sont égales, la 4ème est distincte")
    ElseIf (a=b et ( d et c =/= a )) or (a=c et ( d et b =/= a )) or (a=d et (b et c =/=a)) or (b=c et (a et d=/=b)) or (b=d et (a et c =/=a )) or (c=d et (a et b =/=d))
    .........

    Voilà mon travail. J'aimerais que vous me le corrigiez car je n'arrive pas à trouver comment utiliser les ( and/or ) avec les parenthèses, me dire si l'algorithme est juste également. Merci d'avance.
    ce que tu ecris n'est pas "homogène".
    par moment tu mets des and et des or , par moment non
    ex 1:
    If a=b=c=d Then ( pas de and et pas de parenthèse )
    que tu aurais pu écrire
    If (a=b) and (b=c) and (c=d) Then

    ex2:
    ElseIf (a=b and b=c) or (a=c and c=d) or (b=c and c=d) or (a=b and a=d) Then
    là, tu mets les and et les or, mais pour faire plus propre j'aurai ecrit :
    ElseIf ((a=b) and (b=c)) or ((a=c) and (c=d)) or ((b=c) and (c=d)) or ((a=b) and (a=d)) Then

    enfin sur la fin tu remplaces par des "et" et des "ou" en lieu et place des "and" et des "or".
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  4. #4
    mike.p

    Re : Exercice d'algorithmie

    Bonjour,

    il faudra veiller à ne pas sélectionner le cas : 2 égales et 2 autres égales.

    je pense que le prof attend des tests à l'économie , c'est à dire exécutés une seule fois. Pour cela, il faut imbriquer des tests unitaires.
    Un jeu de patience la première fois mais c'est facile de suivre tous les chemins avec des tirages de 3 ou 4.

  5. A voir en vidéo sur Futura
  6. #5
    jibo30

    Re : Exercice d'algorithmie

    Tout d'abord, merci pour votre aide.
    En tenant compte de vos remarques, j'ai refait mon algo, et ça me donne ça, ça vous semble plus correct? Merci d'avance.

    Variables : a, b, c, d : réel

    Début :
    Get (a)
    Get (b)
    Get (c)
    Get (d)
    If (a=b) and (b=c) and (c=d) Then
    Afficher (" Les 4 valeurs sont égales " )
    ElseIf ((a=b) and (b=c)) or ((a=c) and (c=d)) or ((b=c) and (c=d)) or ((a=b) and (a=d)) Then
    Afficher (" 3 valeurs sont égales, la 4ème est distincte")
    ElseIf ((a=b) and (d=/a) and (c=/a)) or ((a=c) and (d=/a) and (b=/a)) or ((a=d) and (b=/a) and (c=/a)) or ((b=c) and (a=/b) and (d=/b)) or ((b=d) and (a=/b) and (c=/b )) or ((c=d) and (a=/d) and (b=/d))
    Afficher (" 2 sont égales, les deux autres sont distinctes")
    ElseIf (a=/b) and (b=/c) and (c=/d) and (a=/d) Then
    Afficher ("Les valeurs sont toutes distinctes")
    EndIf
    End

    Ca vous semble mieux cette fois-ci?

  7. #6
    ansset
    Animateur Mathématiques

    Re : Exercice d'algorithmie

    Citation Envoyé par jibo30 Voir le message
    Ca vous semble mieux cette fois-ci?
    celà me semble plus propre, mais je ne sais pas quelle "grammaire" tu peux ou dois utiliser.
    donc celà depend de l'adéquation avec ton cours.
    ps : je n'ai pas non plus regardé en détail la description de chaque cas, te faisant confiance sur le fond.
    Dernière modification par ansset ; 16/09/2013 à 17h32.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

Discussions similaires

  1. Algorithmie Congruence/division eucldienne
    Par Huntere dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 15/12/2012, 07h54
  2. Exercice de dilution - exercice L1 Bio
    Par invite6945020f dans le forum Chimie
    Réponses: 3
    Dernier message: 30/01/2012, 20h43
  3. exercice sur les pH
    Par invite8dd4df9d dans le forum Chimie
    Réponses: 1
    Dernier message: 17/10/2009, 19h40
  4. exercice
    Par invite319fe712 dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 16/11/2008, 20h36
  5. A.L.I, exercice
    Par invite398fae75 dans le forum Électronique
    Réponses: 13
    Dernier message: 07/05/2008, 07h30