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

Turbo Pascal Discussion :

Générer aléatoirement une chaîne de caractères


Sujet :

Turbo Pascal

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Générer aléatoirement une chaîne de caractères
    Bonjour

    est-t-il possible de saisir aléatoirement une chaine de caractères ?
    Si oui comment?
    et merci d'avance?

  2. #2
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    Par défaut
    Saisir aléatoirement ... Voilà un concept original.

    Ne voudrais-tu pas plutôt dire "générer" plutôt que "saisir" ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Points : 506
    Points
    506
    Par défaut
    Tu vas devoir écrire une fonction ou une procédure pour générer une chaîne aléatoire mais il va falloir prendre quelques décisions avant.

    La longueur de la chaîne : fixe, aléatoire, à la demande ?
    Les caractères autorisés dans la chaine ? minuscules ? majuscules ? chiffres ?

    Pour générer une simple lettre (a-z) par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var
      Num : Integer;
      Lettre
    begin
      Num := Random(26); { Aléatoire entre 0 et 25 inclus }
      Lettre:= Chr( Ord('a') + Num );
      WriteLn('Lettre au hasard : ', Lettre);
    end;

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par batyann811 Voir le message
    Tu vas devoir écrire une fonction ou une procédure pour générer une chaîne aléatoire mais il va falloir prendre quelques décisions avant.

    La longueur de la chaîne : fixe, aléatoire, à la demande ?
    Les caractères autorisés dans la chaine ? minuscules ? majuscules ? chiffres ?

    Pour générer une simple lettre (a-z) par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var
      Num : Integer;
      Lettre
    begin
      Num := Random(26); { Aléatoire entre 0 et 25 inclus }
      Lettre:= Chr( Ord('a') + Num );
      WriteLn('Lettre au hasard : ', Lettre);
    end;
    La longueur de la chaîne : aléatoire.
    Les caractères autorisés dans la chaine ? Lettres alphabétiques.
    Mais je dois saisir une chaîne de caractères et non un caractère.
    Et merci bien pour vos efforts.

  5. #5
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 417
    Points : 5 816
    Points
    5 816
    Par défaut
    une chaine de caractère et non un caractère
    Voici un petit exemple de ce que tu cherches et qui inclut le code envoyé par batyann811 (Les lettres sont ici en majuscule)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    VAR
      Num : Integer;
      Lettre:Char;
      s:String;
      I:Integer;
    Begin
       Randomize;{Réinitialisation du générateur des nombres aléatoires, c'est essentiel}
       S:='';
      For i:=1 to Random(20)+1 do {+1 pour éviter d'avoir une chaine vide}
       Begin
        Num := Random(26); { Aléatoire entre 0 et 25 inclus }
        Lettre:= Chr( Ord('A') + Num );
        {WriteLn('Lettre au hasard : ', Lettre);}
        s:=s+Lettre;
       End;
      Write(s);
      Readln;
    End.
    Si tu utilises TPW ou BPW, tu peux supprimer la ligne "Readln;"

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Réponses: 6
    Dernier message: 27/06/2007, 10h33
  3. Réponses: 2
    Dernier message: 07/05/2007, 12h18
  4. Réponses: 6
    Dernier message: 27/01/2007, 00h06
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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