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

Pascal Discussion :

Comment créer un nombre de façon aléatoire entre 2 bornes définies


Sujet :

Pascal

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Comment créer un nombre de façon aléatoire entre 2 bornes définies
    bonjour!
    je suis étudiante, et l'on me demande de créer des courbes de niveau dans un nuage de point!
    pour cela j'ai besoin de savoir s'il existe une fonctions permettant de créer un nombre aléatoire entre 2 bornes définies c'est-à-dire par exemple entre 5 et 10!
    j'ai pensé à la fontion random mais elle part de 0 et ce n'est pas ce que je cherche à faire!!
    merci de me répondre!!

    kirika

  2. #2
    Membre éclairé
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Points : 746
    Points
    746
    Par défaut
    De souvenir la fonction Random renvoie un résultat entre 0 et 1 non compris. Maintenant si multiplie ce nombre par 5, tu obtiendras un nombre compris entre 0 et 5 non compris. Enfin si tu ajoutes 5 à ce résultat, il devrai te rester un nombre compris dans les bornes que tu cherches.
    Donnez un poisson à un homme et il mangera pendant un jour... Apprenez-lui à pêcher et il s'assiéra dans une barque et boira de la bière toute la journée

  3. #3
    Membre éclairé Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Points : 770
    Points
    770
    Par défaut
    De souvenir la fonction Random renvoie un résultat entre 0 et 1 non compris.
    non random(); renvoie un nombre entre 0 et le nombre spécifié entre (); -1
    donc tu peux faire ceci :


    a := (random(5) + 1)*5

    le random sera compris entre 0 et 4, donc + 1 entre 1 et 5, * 5 entre 5 et 10
    ★ Pascal/Java/C/xhtml,css/SQL/Mips
    ★ Linux/unix

  4. #4
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut question!
    je viens d'essayer ce que vous m'avez dit seulement j'ai beaucoup de point à générer, et je ne peux pas utiliser cette méthode, à part si je les trace un par un, mais à ce moment-là, autant choisir les valeurs!

    le problème que je renconte est le suivant:
    si je veux un nom entre 40 et 60, j'utilise random(60), je fais un test pour savoir si la valeur est infèrieur à 40, mais si la valeur se trouve entre 20 et 40 je dois ajouter 20 et si elle se trouve entre 0 et 20 je dois ajouter 40! puis à chaque fois, mes intervalles vont de 20 en 20([0-20],[20,40],[40,60],
    [60,80],...)!
    et je ne vois pas comment généraliser tout ça pour l'implanter dans une boucle au lieu de tout faire à la main, valeur après valeur!
    j'espère que c'est compréhensible au moins! lol
    merci

    kirika

  5. #5
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut question
    Citation Envoyé par Tuxico
    non random(); renvoie un nombre entre 0 et le nombre spécifié entre (); -1
    donc tu peux faire ceci :


    a := (random(5) + 1)*5

    le random sera compris entre 0 et 4, donc + 1 entre 1 et 5, * 5 entre 5 et 10
    ça marcherai pour un cas isolé mais est-ce possible dans mon cas? (voir message plus haut!)

    kirika

  6. #6
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    C'est pas forcément très clair, tes messages. Quel est ton objectif, générer quels nombres ?

    Si tu veux obtenir un nombre entre 40 et 60, et plus généralement entre x et x+20, avec x multiple de 20, pourquoi ne pas utiliser la résultat random(20) + x ? Pour un nombre entre 40 et 60, random(20) + 40, ou encore random(20) + (20 * 2). Tu peux ainsi généraliser.
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  7. #7
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    mon objectif c'est de générer les coordonnées des points composant mon nuage!
    la solution que tu me propose je suis en train de l'essayer!
    on va bien voir si ça fonctionne!

    kirika

  8. #8
    Membre éclairé Avatar de Sheriff
    Inscrit en
    Octobre 2004
    Messages
    608
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 608
    Points : 718
    Points
    718
    Par défaut
    salut !
    je pense que wormful_sickfoot a tout à fait raison...
    g essayé et ça marche...
    a=borne_inférieure
    b=borne_superieure
    pour faire aléatoire[a,b] on fait a+random(b-a+1)
    @+
    Que votre situation soit bonne ou mauvaise, cela va changer...

  9. #9
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    merci shériff, je pense que ça me sera plus qu'utile!
    @+!!

    kirika

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/03/2012, 19h01
  2. Générer un nombre entier aléatoire entre deux bornes
    Par zozoman dans le forum Débuter
    Réponses: 6
    Dernier message: 28/02/2012, 13h31
  3. Comment créer une fonction d'archivage des entrées
    Par vietzims dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/05/2008, 23h15
  4. Comment créer un logiciel de tirage aléatoires ?
    Par Yul80 dans le forum Windows
    Réponses: 2
    Dernier message: 17/04/2007, 14h31

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