|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
PIPHILOLOGIE
Information sur la source
Description
Piphilologie : Création et utilisation de mnémotechniques pour retenir la constante Pi. Comme par exemple, un poème en français. Le nombre de lettres de chaque mot correspond à une décimale.
Source
- /*
- * Created by SharpDevelop.
- * User: yanngeffrotin@gmail.com
- * info : http://fr.wikipedia.org/wiki/Pi
- * info : http://en.wikipedia.org/wiki/Piphilology
- *
- * Piphilology comprises the creation and use of mnemonic techniques to remember a span of digits of the mathematical constant p. The word is a play on Pi itself and the linguistic field of philology.
- */
-
- using System;
- using System.IO;
-
- namespace Piphilologie
- {
- class MainClass
- {
- public static void Main(string[] args)
- {
- //Variables
- int cpt = 0;
- string choix = "";
- int longPi = 0;
- int longDico = 0;
- int nboccurence = 0;
- string Pi = "";
- string nom;
- string temp ="";
- int temp2=0;
-
- //Affichage
- Console.WriteLine("Piphilologie");
- Console.WriteLine(" ");
- Console.WriteLine("GNU General Public License"); //Licence publique générale GNU
-
- //Chargement de la sauvegarde de Pi
- //Console.WriteLine("-----");
- nom = "Pi";
- //Console.WriteLine("Lecture du fichier " + nom + ".txt en cours...");
- lecture_fichier(ref Pi, nom, ref nboccurence);
-
- //Annonce de la longueur des décimales
- longPi = Pi.Length ;
- //Console.WriteLine(" ");
- //Console.WriteLine("Il y a " + longPi + " décimales dans le fichier Pi.txt");
-
- //Mise dans le tableau des décimales de Pi
- string [,] Tpi = new string [longPi,3];
- for (cpt=0;cpt<=(longPi-1);cpt++)
- {
- Tpi[cpt,1] = System.Convert.ToString(Pi[cpt]) ;
- }
-
- //Chargement de la sauvegarde du poème de Pi
- Console.WriteLine(" ");
- nom = "Pi_sauvegarde";
- //Console.WriteLine("Lecture du fichier " + nom + ".txt en cours...");
- cpt = 2;
- lecture_fichier_tab(ref Tpi, nom, cpt);
-
- //Compter le nombre de mots des listes
- //Console.WriteLine(" ");
- //Console.WriteLine("Lecture des listes de 0 à 9 en cours...");
- for (cpt=0;cpt<=9;cpt++)
- {
- nom = "fr\\fr_" + cpt ;
- lecture_fichier(ref temp, nom, ref longDico);
- }
- //Console.WriteLine(" ");
- //Console.WriteLine("Total de " + longDico + " mots dans les listes de 0 à 9.");
-
- //Chargement des listes des mots dans le tableau Trepartition
- string [,] Trepartition = new string [longDico,10]; //modifier ici si des mots ont été rajoutés
- for (cpt=0;cpt<=9;cpt++)
- {
- nom = "fr\\fr_" + cpt ;
- lecture_fichier_tab(ref Trepartition, nom, cpt);
- }
- //Console.WriteLine("-----");
-
- // Debut
- do{
- Console.WriteLine(" ");
- Console.WriteLine("MENU ");
- Console.WriteLine(" ");
- Console.WriteLine("1 - Voir Piphilologie (les décimales et le poème de 1 à " + longPi + ")");
- Console.WriteLine(" ");
- Console.WriteLine("2 - Modifier une partie du poème");
- Console.WriteLine(" ");
- Console.WriteLine("3 - Réinitialiser une partie du poème");
- Console.WriteLine(" ");
- Console.WriteLine("4 - Sauvegarder le poème");
- Console.WriteLine(" ");
- Console.WriteLine("5 - Importer des extraits");
- Console.WriteLine(" ");
- Console.WriteLine("0 - Sortie");
- Console.WriteLine(" ");
- choix=Console.ReadLine();
-
- switch (choix)
- {
- case "0" : //Sortir
- break;
- case "1" : affiche_Piphilology(cpt, longPi, Tpi);
- break;
- case "2" : modifier_Pi_poeme(ref Tpi, longPi);
- break;
- case "3" : Réinitialiser_poeme(longPi, ref Tpi, Trepartition);
- break;
- case "4" : sauvegarde_Pi_poeme (cpt, longPi, Tpi);
- Console.WriteLine(" ");
- Console.WriteLine("Enregistrement du poème terminé avec succès.");
- break;
- case "5" : importer_extrait (ref nboccurence);
- string [,] TabImport = new string [nboccurence,3]; //tableau d'importation
- nom = "Pi_Poeme_insert";
- lecture_fichier_tab(ref TabImport, nom, 2);
-
- Console.WriteLine(" ");
- Console.WriteLine("| Place | Décimale | Mot |");
- Console.WriteLine(" ");
- for(cpt=0;cpt<=(nboccurence-2);cpt++)
- { //calcul de la longueur des mots
- temp = TabImport[cpt,2];
- temp2= temp.Length ;
- TabImport[cpt,1]= temp2.ToString();
- //Affichage
- Console.WriteLine("| " + (cpt+1) + " | " + TabImport[cpt,1] + " | " + TabImport[cpt,2] + " |");
- }
- //Ensuite, fonction compare et demande de remplacement à faire
- break;
- }
-
-
- }while(choix!="0");
- }
-
- static void affiche_Piphilology(int cpt, int longPi, string [,]Tpi)
- {
- Console.WriteLine(" ");
- Console.WriteLine("Lecture du tableau Tpi en cours...");
- Console.WriteLine(" ");
- Console.WriteLine("| Place | Décimale | Mot |");
- Console.WriteLine(" ");
- for(cpt=0;cpt<=(longPi-1);cpt++)
- {
- Console.WriteLine("| " + (cpt+1) + " | " + Tpi[cpt,1] + " | " + Tpi[cpt,2] + " |");
- }
- Console.WriteLine(" ");
- Console.WriteLine("Vous pouvez également voir les résultats dans le répertoire :");
- Console.WriteLine("Piphilologie/bin/debug/");
- }
-
- static void modifier_Pi_poeme(ref string [,]Tpi, int longPi)
- { int cpt = 0;
- string mot;
- int longmot = 0;
- int decideb=0;
- int decifin=0;
-
- do{
- Console.WriteLine(" ");
- Console.WriteLine("Numéro de la décimale du mot de début : (Entre 1 et "+longPi+")");
- decideb=Int32.Parse(Console.ReadLine());
- }while(decideb<1 || decideb>longPi);
-
- do{
- Console.WriteLine(" ");
- Console.WriteLine("Numéro de la décimale du mot de fin : (Entre 1 et "+longPi+")");
- decifin=Int32.Parse(Console.ReadLine());
- }while(decifin<1 || decifin>longPi);
-
- decideb = decideb - 1;
- decifin = decifin - 1;
-
- // Pour de la décimale de début jusq'à la décimale de fin
- for (cpt=decideb;cpt<=decifin;cpt++)
- {
- do{
- longmot = Tpi[cpt,2].Length ;
- Console.WriteLine("Que voulez vous mettre à la place de '" + Tpi[cpt,2] + "' (le mot doit faire " + longmot + " caractères) ?");
- mot=Console.ReadLine();
- }while(longmot!=mot.Length);
- Tpi[cpt,2] = mot;
- }
- }
-
- static void lecture_fichier(ref string phrase, string nom, ref int nboccurence)
- {
- using (StreamReader sr = new StreamReader(nom + ".txt") )
- {
- String line;
- while ((line = sr.ReadLine()) != null)
- {
- //Console.WriteLine(line);
- phrase=line;
- nboccurence = nboccurence + 1;
- }
- }
- }
-
- static void lecture_fichier_tab(ref string [,]Tab, string nom, int cpt)
- { int nboccurence=0;
- using (StreamReader sr = new StreamReader(nom + ".txt") )
- {
- String line;
- while ((line = sr.ReadLine()) != null)
- {
- //Console.WriteLine(line);
- Tab[nboccurence,cpt]=line;
- nboccurence = nboccurence + 1; // compte le nombre de lignes
- }
- }
- }
-
- static void Réinitialiser_poeme(int longPi, ref string [,] Tpi, string [,] Trepartition)
- { int decideb=0;
- int decifin=0;
- int cpt = 0 ;
- Random ran = new Random();
- int longDico = 0;
- int cpt2=0;
- string nom="";
- string temp="";
-
- do{
- Console.WriteLine(" ");
- Console.WriteLine("Numéro de la décimale du mot de début : (Entre 1 et "+longPi+")");
- decideb=Int32.Parse(Console.ReadLine());
- }while(decideb<1 || decideb>longPi);
-
- do{
- Console.WriteLine(" ");
- Console.WriteLine("Numéro de la décimale du mot de fin : (Entre 1 et "+longPi+")");
- decifin=Int32.Parse(Console.ReadLine());
- }while(decifin<1 || decifin>longPi);
-
- Console.WriteLine(" ");
- Console.WriteLine("Réinitialisation en cours... Veuillez patienter.");
-
- //Ecrasement des anciennes valeurs dans le tableau Tpi
- for (cpt=(decideb-1);cpt<=(decifin-1);cpt++)
- { // Pour les liste de 0 à 9
- for (cpt2=0;cpt2<=9;cpt2++)
- { longDico=0;
- nom = "fr\\fr_" + cpt2 ;
- lecture_fichier(ref temp, nom, ref longDico);
- if(Tpi[cpt,1]==(cpt2).ToString()) //Si le mot de la 1ere colonne vaut entre 0 et 9
- {Tpi[cpt,2] = Trepartition[ran.Next(longDico),cpt2];} // Met un chiffre aléatoire dans la 2eme colonne de même valeur
- }
- }
-
- Console.WriteLine(" ");
- Console.WriteLine("Réinitialisation terminée.");
- }
-
- static void sauvegarde_Pi_poeme (int cpt, int longPi, string [,]Tpi)
- {
- StreamWriter sw = new StreamWriter("Pi_sauvegarde.txt");
- for(cpt=0;cpt<=(longPi-1);cpt++)
- {
- sw.WriteLine(Tpi[cpt,2]);
- }
- sw.Close();
- }
-
- static void importer_extrait (ref int nboccurence)
- { string nom = "Pi_Poeme_insert";
- string temp = "";
-
- //compte le nombre d'occurence
- lecture_fichier(ref temp, nom, ref nboccurence);
- }
- }
- }
/*
* Created by SharpDevelop.
* User: yanngeffrotin@gmail.com
* info : http://fr.wikipedia.org/wiki/Pi
* info : http://en.wikipedia.org/wiki/Piphilology
*
* Piphilology comprises the creation and use of mnemonic techniques to remember a span of digits of the mathematical constant p. The word is a play on Pi itself and the linguistic field of philology.
*/
using System;
using System.IO;
namespace Piphilologie
{
class MainClass
{
public static void Main(string[] args)
{
//Variables
int cpt = 0;
string choix = "";
int longPi = 0;
int longDico = 0;
int nboccurence = 0;
string Pi = "";
string nom;
string temp ="";
int temp2=0;
//Affichage
Console.WriteLine("Piphilologie");
Console.WriteLine(" ");
Console.WriteLine("GNU General Public License"); //Licence publique générale GNU
//Chargement de la sauvegarde de Pi
//Console.WriteLine("-----");
nom = "Pi";
//Console.WriteLine("Lecture du fichier " + nom + ".txt en cours...");
lecture_fichier(ref Pi, nom, ref nboccurence);
//Annonce de la longueur des décimales
longPi = Pi.Length ;
//Console.WriteLine(" ");
//Console.WriteLine("Il y a " + longPi + " décimales dans le fichier Pi.txt");
//Mise dans le tableau des décimales de Pi
string [,] Tpi = new string [longPi,3];
for (cpt=0;cpt<=(longPi-1);cpt++)
{
Tpi[cpt,1] = System.Convert.ToString(Pi[cpt]) ;
}
//Chargement de la sauvegarde du poème de Pi
Console.WriteLine(" ");
nom = "Pi_sauvegarde";
//Console.WriteLine("Lecture du fichier " + nom + ".txt en cours...");
cpt = 2;
lecture_fichier_tab(ref Tpi, nom, cpt);
//Compter le nombre de mots des listes
//Console.WriteLine(" ");
//Console.WriteLine("Lecture des listes de 0 à 9 en cours...");
for (cpt=0;cpt<=9;cpt++)
{
nom = "fr\\fr_" + cpt ;
lecture_fichier(ref temp, nom, ref longDico);
}
//Console.WriteLine(" ");
//Console.WriteLine("Total de " + longDico + " mots dans les listes de 0 à 9.");
//Chargement des listes des mots dans le tableau Trepartition
string [,] Trepartition = new string [longDico,10]; //modifier ici si des mots ont été rajoutés
for (cpt=0;cpt<=9;cpt++)
{
nom = "fr\\fr_" + cpt ;
lecture_fichier_tab(ref Trepartition, nom, cpt);
}
//Console.WriteLine("-----");
// Debut
do{
Console.WriteLine(" ");
Console.WriteLine("MENU ");
Console.WriteLine(" ");
Console.WriteLine("1 - Voir Piphilologie (les décimales et le poème de 1 à " + longPi + ")");
Console.WriteLine(" ");
Console.WriteLine("2 - Modifier une partie du poème");
Console.WriteLine(" ");
Console.WriteLine("3 - Réinitialiser une partie du poème");
Console.WriteLine(" ");
Console.WriteLine("4 - Sauvegarder le poème");
Console.WriteLine(" ");
Console.WriteLine("5 - Importer des extraits");
Console.WriteLine(" ");
Console.WriteLine("0 - Sortie");
Console.WriteLine(" ");
choix=Console.ReadLine();
switch (choix)
{
case "0" : //Sortir
break;
case "1" : affiche_Piphilology(cpt, longPi, Tpi);
break;
case "2" : modifier_Pi_poeme(ref Tpi, longPi);
break;
case "3" : Réinitialiser_poeme(longPi, ref Tpi, Trepartition);
break;
case "4" : sauvegarde_Pi_poeme (cpt, longPi, Tpi);
Console.WriteLine(" ");
Console.WriteLine("Enregistrement du poème terminé avec succès.");
break;
case "5" : importer_extrait (ref nboccurence);
string [,] TabImport = new string [nboccurence,3]; //tableau d'importation
nom = "Pi_Poeme_insert";
lecture_fichier_tab(ref TabImport, nom, 2);
Console.WriteLine(" ");
Console.WriteLine("| Place | Décimale | Mot |");
Console.WriteLine(" ");
for(cpt=0;cpt<=(nboccurence-2);cpt++)
{ //calcul de la longueur des mots
temp = TabImport[cpt,2];
temp2= temp.Length ;
TabImport[cpt,1]= temp2.ToString();
//Affichage
Console.WriteLine("| " + (cpt+1) + " | " + TabImport[cpt,1] + " | " + TabImport[cpt,2] + " |");
}
//Ensuite, fonction compare et demande de remplacement à faire
break;
}
}while(choix!="0");
}
static void affiche_Piphilology(int cpt, int longPi, string [,]Tpi)
{
Console.WriteLine(" ");
Console.WriteLine("Lecture du tableau Tpi en cours...");
Console.WriteLine(" ");
Console.WriteLine("| Place | Décimale | Mot |");
Console.WriteLine(" ");
for(cpt=0;cpt<=(longPi-1);cpt++)
{
Console.WriteLine("| " + (cpt+1) + " | " + Tpi[cpt,1] + " | " + Tpi[cpt,2] + " |");
}
Console.WriteLine(" ");
Console.WriteLine("Vous pouvez également voir les résultats dans le répertoire :");
Console.WriteLine("Piphilologie/bin/debug/");
}
static void modifier_Pi_poeme(ref string [,]Tpi, int longPi)
{ int cpt = 0;
string mot;
int longmot = 0;
int decideb=0;
int decifin=0;
do{
Console.WriteLine(" ");
Console.WriteLine("Numéro de la décimale du mot de début : (Entre 1 et "+longPi+")");
decideb=Int32.Parse(Console.ReadLine());
}while(decideb<1 || decideb>longPi);
do{
Console.WriteLine(" ");
Console.WriteLine("Numéro de la décimale du mot de fin : (Entre 1 et "+longPi+")");
decifin=Int32.Parse(Console.ReadLine());
}while(decifin<1 || decifin>longPi);
decideb = decideb - 1;
decifin = decifin - 1;
// Pour de la décimale de début jusq'à la décimale de fin
for (cpt=decideb;cpt<=decifin;cpt++)
{
do{
longmot = Tpi[cpt,2].Length ;
Console.WriteLine("Que voulez vous mettre à la place de '" + Tpi[cpt,2] + "' (le mot doit faire " + longmot + " caractères) ?");
mot=Console.ReadLine();
}while(longmot!=mot.Length);
Tpi[cpt,2] = mot;
}
}
static void lecture_fichier(ref string phrase, string nom, ref int nboccurence)
{
using (StreamReader sr = new StreamReader(nom + ".txt") )
{
String line;
while ((line = sr.ReadLine()) != null)
{
//Console.WriteLine(line);
phrase=line;
nboccurence = nboccurence + 1;
}
}
}
static void lecture_fichier_tab(ref string [,]Tab, string nom, int cpt)
{ int nboccurence=0;
using (StreamReader sr = new StreamReader(nom + ".txt") )
{
String line;
while ((line = sr.ReadLine()) != null)
{
//Console.WriteLine(line);
Tab[nboccurence,cpt]=line;
nboccurence = nboccurence + 1; // compte le nombre de lignes
}
}
}
static void Réinitialiser_poeme(int longPi, ref string [,] Tpi, string [,] Trepartition)
{ int decideb=0;
int decifin=0;
int cpt = 0 ;
Random ran = new Random();
int longDico = 0;
int cpt2=0;
string nom="";
string temp="";
do{
Console.WriteLine(" ");
Console.WriteLine("Numéro de la décimale du mot de début : (Entre 1 et "+longPi+")");
decideb=Int32.Parse(Console.ReadLine());
}while(decideb<1 || decideb>longPi);
do{
Console.WriteLine(" ");
Console.WriteLine("Numéro de la décimale du mot de fin : (Entre 1 et "+longPi+")");
decifin=Int32.Parse(Console.ReadLine());
}while(decifin<1 || decifin>longPi);
Console.WriteLine(" ");
Console.WriteLine("Réinitialisation en cours... Veuillez patienter.");
//Ecrasement des anciennes valeurs dans le tableau Tpi
for (cpt=(decideb-1);cpt<=(decifin-1);cpt++)
{ // Pour les liste de 0 à 9
for (cpt2=0;cpt2<=9;cpt2++)
{ longDico=0;
nom = "fr\\fr_" + cpt2 ;
lecture_fichier(ref temp, nom, ref longDico);
if(Tpi[cpt,1]==(cpt2).ToString()) //Si le mot de la 1ere colonne vaut entre 0 et 9
{Tpi[cpt,2] = Trepartition[ran.Next(longDico),cpt2];} // Met un chiffre aléatoire dans la 2eme colonne de même valeur
}
}
Console.WriteLine(" ");
Console.WriteLine("Réinitialisation terminée.");
}
static void sauvegarde_Pi_poeme (int cpt, int longPi, string [,]Tpi)
{
StreamWriter sw = new StreamWriter("Pi_sauvegarde.txt");
for(cpt=0;cpt<=(longPi-1);cpt++)
{
sw.WriteLine(Tpi[cpt,2]);
}
sw.Close();
}
static void importer_extrait (ref int nboccurence)
{ string nom = "Pi_Poeme_insert";
string temp = "";
//compte le nombre d'occurence
lecture_fichier(ref temp, nom, ref nboccurence);
}
}
}
Conclusion
Mettre une syntaxe (auxiliaire, sujet, verbe, complément) pour chaque phrase du poème dans ses differents sens.
(avec grammaire et conjugaison des verbes)
Incorporer une recherche de mots dans le poeme pour un éventuel remplacement.
Et une recherche par la taille des mots importé comparé avec les décimales de Pi.
Historique
- 01 avril 2006 13:42:45 :
- Ajout d'un dictionnaire de mots en français.
Repartion des mots selon leur longueur.
- 01 avril 2006 13:43:13 :
- Ajout d'un dictionnaire de mots en français.
Repartition des mots selon leur longueur.
- 09 avril 2006 18:45:28 :
- Possibilité d'importer des extraits depuis un fichier texte
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
comment definir les constante d'un projet [ par bidules ]
Bonjour,J'aiemrais savoir comment definir les constantes d'un projet?je suis debutant en c# mais connais bien le java. Ma premiere tantative etais de
Constante et énumération LVITEM dans API SendMessage [ par jacma ]
BonjourDans la déclaration ci-dessous de l'API SendMessage employée avec une ListView, à quelle constante correspond Int32 wMsg?static extern Int32 Se
Fichier ini [ par joe2005 ]
Bonjour à vous tous, J'aurai besoin de votre aide. Il faut que je crée un fichier de configuration *.ini pour mon hébergeur. Mais, je n
String non reconnue "\\.\" [ par el_teedee ]
Salut, je voudrais mettre "\\.\" dans un string, mais l'éditeur de code VS.NET ne l'accepte pas. Dès que je met '\' ou "\", il souligne
Souci de ... Conceptualisation avec le stockage d'un 'path' de base de données en tant que global [ par PeTeRsLaStAr ]
Bonjour. j'ai un petit problème conceptuel. Voilà mon appli marche de la manière suivante, il est composé de plusieurs Dataset qui
déclaration d'une constante [ par hadhber ]
Bonjour,j'ai une déclaration en vb.net d'une constante comme suivant PublicConst MyConst <font color="#0000ff" size=
Sauter une ligne dans une constante ???? [ par madshell ]
Bonjour,Si j'écris cela : if ( // Le gars demande qu'on lui dessine un mouton ! )
Tracer une fonction [ par luudo ]
Bonjour , je souhaiterais tracer la fonction suivante :(0.25 + 0.22508*Math.Sin(((Math.PI/4))*x)+0.0932*Math.Cos(((Math.PI/4))*x))elle devrait donner
|
Téléchargements
Logiciels à télécharger sur le même thème :
|