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. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #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.

  5. #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 !

  6. #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.

  7. A voir en vidéo sur Futura
  8. #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?

  9. #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 à 18h32.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  10. Publicité

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, 08h54
  2. Exercice de dilution - exercice L1 Bio
    Par shamy35 dans le forum Chimie
    Réponses: 3
    Dernier message: 30/01/2012, 21h43
  3. exercice sur les pH
    Par Coca02 dans le forum Chimie
    Réponses: 1
    Dernier message: 17/10/2009, 20h40
  4. exercice
    Par faroukbounou dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 16/11/2008, 21h36
  5. A.L.I, exercice
    Par Iskindar dans le forum Électronique
    Réponses: 13
    Dernier message: 07/05/2008, 08h30