générer une liste aléatoire en schème
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

générer une liste aléatoire en schème



  1. #1
    bouti08

    générer une liste aléatoire en schème


    ------

    Bonjour,

    Voici mon problème. Je cherche à créer une liste aléatoire dont les éléments appartiennent à la liste (a b c d) et où le "a" apparait avec une probabilité de 0.34, le "b" avec une probabilité 0.36, le "c" avec une probabilité de 0.22 et le "d" avec une probabilité de 0.08.

    Est-ce possible en scheme (j'utilise drracket)? Si oui pouvez-vous m'aider à trouver une solution à mon problème?

    D'avance Merci

    -----

  2. #2
    LeMulet

    Re : générer une liste aléatoire en schème

    Je ne connais pas schème.
    Néanmoins pour ce type de problème (et lorsque les probabilités sont fixées à l'avance) j'utilise la méthode suivante :
    Je tire un nombre entier au hasard entre 0 et 100 (ici appelé a en exemple)
    Ensuite j'utilise un "case of" sur la base de ce nombre a, avec pour "intervale" la valeur de la probabilité.

    Exemple en pascal.
    Le résultat demandé (a, b, c ou d) est mis dans la chaine s
    Code:
    a:=random(100);
    case a of
    0..34 : s:='a';    // La chaine s vaut a avec une probabilité de 0.34
    35..71 : s:='b';   // La chaine s vaut b avec une probabilité de 0.36  
    72..94 : s:='c';   // La chaine s vaut c avec une probabilité de 0.22
    else c:='d';       // Sinon la chaine s vaut d (probabilité restante de 0.08)
    end;
    Bonjour, et Merci.

  3. #3
    Dlzlogic

    Re : générer une liste aléatoire en schème

    Bonjour LeMulet,
    En C, je ne dispose pas de ce type de branchement, alors je teste successivement par rapport à 34, 70, 92. Il ne reste donc que 8% pour 'd'.
    Bien sûr, il faut que schème dispose d'une fonction rand ou équivalent.

  4. #4
    CM63

    Re : générer une liste aléatoire en schème

    Bonjour,

    Si on ne dispose pas de la fonction case, on peut toujours faire un tableau de 100 positions.

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

    Re : générer une liste aléatoire en schème

    Super Merci beaucoup

    Je n'avais pas pensé à faire un tableau de taille 100 et à faire un random dessus (la fonction random existe aussi en scheme), c'est tout simple mais fallait y penser.
    Je crois que je cherchais trop compliqué dans la documentation du langage scheme.

    Encore merci

Discussions similaires

  1. Générer un nombre aléatoire pour µC
    Par jeym21 dans le forum Électronique
    Réponses: 7
    Dernier message: 02/03/2014, 20h46
  2. langage Scheme type des expressions Scheme et valeur de retour
    Par Zabour dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 12/11/2012, 16h08
  3. [SCILAB] Générer un nombre aléatoire
    Par nikob88 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 31/05/2012, 12h05
  4. Générer un entier aléatoire en C++
    Par invite234d9cdb dans le forum Logiciel - Software - Open Source
    Réponses: 23
    Dernier message: 16/10/2006, 20h57