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

Scheme Discussion :

Générer une liste aléatoire


Sujet :

Scheme

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Générer une liste aléatoire
    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? Si oui pouvez-vous m'aider à trouver une solution à mon problème?

    D'avance Merci

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2013
    Messages : 152
    Points : 275
    Points
    275
    Par défaut
    Salut !

    Bien sûr, c’est possible.

    La tâche principale est de générer un seul valeur en choisissant un des objets avec une probabilité donnée. Si l’on a une telle fonction, il suffit de l’appeller plusieures fois en accumulant les valeurs.

    Pour choisir un des symboles, il suffit de générer un nombre aléatoire X qui ait la distribution uniforme sur l’interval (0, 1). Alors, si X ≤ 0.34, on choisit a, si 0.34 < X ≤ 0.34 + 0.36, on choisit b, si 0.34 + 0.36 < X ≤ 0.34 + 0.36 + 0.22, on choisit c et autrement on choisit d. Le choix paraît assez simple, et il est facile d’ecrire une fonction générale acceptant, par exemple, une liste de la forme ((valeur1 . poids1) ... (valeurN . poidsN)).

    Maintenant, la question est, comment générer un nombre aléatoire? R5RS ne spécifie pas de telles fonctions, alors ça dépend de la réalisation que tu utilise. En principe, ça vaut la peine d’utiliser SRFI-27 si ta réalisation le supporte. Chez moi, il paraît qu’il y a un bogue : avec Chicken Scheme, je n’arrive pas a installer l’œuf srfi-27. Je vais essayer de m’y débrouiller, et entre-temps, tu peux essayer écrire du code ou poser des questions.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Ok merci beaucoup
    J'ai fait comme cela et ça marche Moi je programme sur "drracket" et il y a une fonction random donc ça fonctionne bien.
    Merci pour votre aide

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2013
    Messages : 152
    Points : 275
    Points
    275
    Par défaut
    Ah, c’est donc Racket. Si vous voulez, vous pouvez montrer votre code.

Discussions similaires

  1. Générer une chaine aléatoire
    Par java_fun dans le forum Général Java
    Réponses: 24
    Dernier message: 07/11/2018, 23h03
  2. Générer une liste aléatoire en lisp ?
    Par rifian dans le forum Lisp
    Réponses: 7
    Dernier message: 09/06/2010, 16h16
  3. Mélanger une liste aléatoirement
    Par Ickou dans le forum Langage
    Réponses: 19
    Dernier message: 23/12/2005, 13h56
  4. Besoin de générer une chaine aléatoire
    Par warsky dans le forum Langage
    Réponses: 7
    Dernier message: 01/12/2005, 19h34
  5. Générer une liste
    Par pfredin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/04/2003, 15h30

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