Aide pour Programme de génération aléatoire de texte (Noob)

Aide pour Programme de génération aléatoire de texte (Noob) - Divers - Programmation

Marsh Posté le 23-04-2005 à 13:53:28    

Je permets de coller ici un post que j'avais fait par ailleurs sans qu'il y remporte un grand succès...
 
Bonjour à tous!
Je suis un newbie total en programmation mais j'aimerais créer un petit programme amusant, et je pense, facile à réaliser.
 
Mon projet est le suivant :
Après avoir lu la "bibliothèque de Babel" de Borgès (que je vous recommande chaudement par ailleurs, ça se trouve dans le recueil Fictions), j'ai eu l'idée de créer un programme qui générerait du texte de manière purement aléatoire sur une page.
 
L'idée serait de découper cette page en 80 colonnes et 40 lignes puis dans chaque case demander au programme de choisir aléatoirement une lettre parmis les 25 disponibles ou encore un point une virgule ou un espace.
 
Voilà voilà, si je me suis mal exprimé n'hésitez pas à me poser des questions.
P.S. N'y connaissant strictement rien en programmation (quelques programmes avec ma TI à la bonne époque du lycée ), si vous pouviez m'indiquer les outils les plus adaptés à mon projet je vous en serais infiniment reconnaissant.

Reply

Marsh Posté le 23-04-2005 à 13:53:28   

Reply

Marsh Posté le 23-04-2005 à 15:10:26    

tu as un dent contre une certaine lettre de l'alphabet ?


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 23-04-2005 à 15:23:05    

KangOl a écrit :

tu as un dent contre une certaine lettre de l'alphabet ?


 
Oups, il fallait bien sûr lire 26 et non 25...  

Reply

Marsh Posté le 24-04-2005 à 01:40:27    

KangOl a écrit :

tu as un dent contre une certaine lettre de l'alphabet ?


 
 :D quelle réactivité KangOl....
 
laruethierry :  
1) choisi un langage
2) crée un tableau contenant tous les caractères
3) boucle sur 40 lignes
        boucle sur 80 colonnes
           tirer un nombre x au hasard (rand() par exemple en C )
           x=x modulo n   (n nombre de caractères dans tableau) pour être sûr que 0< x < n
           afficher le xième élément du tableau dans le fichier
 
c'est du pseudo-code, quand tu auras choisi un langage, reviens nous voir, on t'aidera un peu plus!  :hello:

Reply

Marsh Posté le 24-04-2005 à 11:14:09    

Apocalypse13 a écrit :

:D quelle réactivité KangOl....
 
laruethierry :  
1) choisi un langage
2) crée un tableau contenant tous les caractères
3) boucle sur 40 lignes
        boucle sur 80 colonnes
           tirer un nombre x au hasard (rand() par exemple en C )
           x=x modulo n   (n nombre de caractères dans tableau) pour être sûr que 0< x < n
           afficher le xième élément du tableau dans le fichier
 
c'est du pseudo-code, quand tu auras choisi un langage, reviens nous voir, on t'aidera un peu plus!  :hello:


 
Merci beaucoup, mais tu as dû voir dans mon message que je n'avais aucune notion de programmation, donc je vais avoir du mal à choisir un langage autrement qu'au hasard.  :(  
 
A votre avis, quel est le langage le plus adapté pour faire ce petit programme?
 
D'avance merci.

Reply

Marsh Posté le 24-04-2005 à 20:28:29    

laruethierry a écrit :

Merci beaucoup, mais tu as dû voir dans mon message que je n'avais aucune notion de programmation, donc je vais avoir du mal à choisir un langage autrement qu'au hasard.  :(  
 
A votre avis, quel est le langage le plus adapté pour faire ce petit programme?
 
D'avance merci.


 
Si tu veux pas d'interface graphique, juste générer des fichiers de textes aléatoires : je te conseille C ou Perl
Le perl est plus rapide à programmer, à apprendre, mais est limité pour les structures (d'un autre côté, tu n'en as pas vraiment besoin)
Le C est plus long à apprendre, un peu plus compliqué mais a des possibilités plus importantes.
 
Donc, si tu veux créér juste un programme, je conseille Perl, si tu veux apprendre petit à petit à faire des programmes de plus en plus gros, je te conseille le C.
Tu as plein de docs, tutoriaux, etc... sur le web (-> google)
bon courage!  :hello:

Reply

Marsh Posté le 24-04-2005 à 20:30:48    

ya aussi le python qu'il pourra approfondir par la suite si il veux...


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 24-04-2005 à 20:44:53    

Merci beaucoup à vous deux.  
 
Apo : En fait je veux juste faire le programme dont j'ai parlé, c'est-à-dire générer du texte sur une grille. Quoiqu'en fait après, j'ai eu l'idée de le coupler avec un dico genre spellcheck en français puis de le faire tourner seul et reconnaître lui-même un mot connu (déjà nettement plus balèze pour un noob... :whistle: ). Malheureusement, je crains de n'avoir pas le temps suffisant pour me consacrer à ce projet et me contenterai dans un premier temps d'un prog qui génère des lettres quand on appuie sur un bouton :). Il faut donc je crois une interface graphique minimale histoire de sortir un truc lisible.
 
Kangol : Je me suis en effet renseigné sur le "python" qui a l'avantage d'être libre et apparemment facile d'accès. Ce que je ne sais pas en revanche, c'est s'il est bien adapté à la "chose" que je veux faire.


Message édité par laruethierry le 24-04-2005 à 20:47:21
Reply

Marsh Posté le 24-04-2005 à 20:48:03    

si...
 
http://www.ulg.ac.be/cifen/inforef/swi/python.htm


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 24-04-2005 à 20:52:04    


 
J'ai déjà téléchargé le cours qu'on peut trouver sur cette page, mais j'attendais l'avis des connaisseurs!

Reply

Marsh Posté le 24-04-2005 à 20:52:04   

Reply

Marsh Posté le 24-04-2005 à 20:53:55    

pour info, j'ai eu ce cours irl avec le dit Mr Swinnen
 
(mais bon, comme le dit ma citation, je suis un pointeur)


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 25-04-2005 à 16:11:20    

laruethierry a écrit :

J'ai déjà téléchargé le cours qu'on peut trouver sur cette page, mais j'attendais l'avis des connaisseurs!


 
Python est un bon langage de script. (un peu mieux que perl c'est vrai).
Comme tu veux juste écrire un seul programme, c'est pas mal.
Bon courage!  :hello:

Reply

Marsh Posté le 25-04-2005 à 16:16:03    

Dernier conseil : tu devrais probabiliser chaque caractère, les générateurs les plus courants vont te faire sortir chaque caractère avec la même probabilité, or dans notre langue, ce n'est pas le cas. Pour assigner une probabilité : prend un très long texte (type bouquin) et calcule les fréquences d'apparition de chaque caractère.
Voilà, je te laisse réfléchir pour la mise en place de tout ça... ++

Reply

Marsh Posté le 25-04-2005 à 21:08:53    

Apocalypse13 a écrit :

Dernier conseil : tu devrais probabiliser chaque caractère, les générateurs les plus courants vont te faire sortir chaque caractère avec la même probabilité, or dans notre langue, ce n'est pas le cas. Pour assigner une probabilité : prend un très long texte (type bouquin) et calcule les fréquences d'apparition de chaque caractère.
Voilà, je te laisse réfléchir pour la mise en place de tout ça... ++


 
En fait pour respecter les conditions de l'expérience, je ne vais pas probabiliser les caractères, car cette fameuse bibliothèque (fictive...) contient toutes les combinaisons possible de lettres que l'on peut faire sur environ deux cents pages d'un bouquin à taille normale, donc en gros tout ce qu'il est possible de formuler en caractères romains : le passé, le présent, l'avenir, la vérité de l'univers etc lol. Ce qui porte le nombre à environ 80^500.000 volumes :pt1cable: (autant dire que même dans notre univers en expansion pas possible de stocker tout ça).
 
Ce qu'il faudrait juste c'est qu'il ne me ressorte pas deux fois la même chose (ce qui est hautement improbable je vous l'accorde).  
 
Ainsi au hasard d'un clic de souris, verrai-je peut-être s'afficher devant moi quelques bribes de mon passé, racontées dans le plus pur style et de la plus belle façon et je crois qu'une fois que j'aurai vu cela, un ordinateur générant le plus beau texte jamais écrit, je pourrai m'en aller en paix. (Autant dire que c'est pas près d'arriver :lol: )

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed