Le_proprio_de_mykeyes
Messages postés60Date d'inscriptionmardi 26 juillet 2005StatutMembreDernière intervention16 avril 2006
-
26 mars 2006 à 19:38
hlayachi
Messages postés62Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention24 avril 2006
-
3 avril 2006 à 20:23
Je cherche des idées sur des trucs à faire (projets divers) à réaliser pour des personnes. Quelqu'un a une idée?
2.) Il me reste 15 invitations GMail. Qqun en veut une? envoyez moi un message avec votre mail.
Merci d'avance
--------------------------------------------------
David L.Pratte, Administrateur
Mykeys Software Foundation
Making dreams into programs / Du rêve au programme
Demandes acceptées gratuitement
hlayachi
Messages postés62Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention24 avril 2006 28 mars 2006 à 21:26
tu peux essayer de faire un programme qui dessine une fonction, à partir d'une relation mathématique ou à partir d'un ensemble de points donnés. [côté graphique]
ou bien tu fais un programme ou une classe qui résout un problème de math par exemple, comme le calcul des valeurs et des vecteurs propres ...etc
2) en ce qui concerne GMail, je pense qu'il est gratuit maintenant, pas besoin de distribuer des invitations.
Le_proprio_de_mykeyes
Messages postés60Date d'inscriptionmardi 26 juillet 2005StatutMembreDernière intervention16 avril 2006 29 mars 2006 à 03:19
Merci pour ton idée, je vais regarder dans ce but. Je vais enfin tester mes capacités GDI. Cette version contiendra un UserControl réutilisable pour les autres (si ils veulent le prendre en 1.0,avec mon "beau" sens de l'esthétique.
Pour des calculs de math, on verra si je réussis enfin à déboguer ma classe Math (voir forum).
2) Pas à ce que j'ai lu dans À propos de GMail. Si ca peut servir a quelqu'un
--------------------------------------------------
David L.Pratte, Administrateur
Mykeys Software Foundation
Making dreams into programs / Du rêve au programme
Demandes acceptées gratuitement
Le_proprio_de_mykeyes
Messages postés60Date d'inscriptionmardi 26 juillet 2005StatutMembreDernière intervention16 avril 2006 30 mars 2006 à 03:04
La version que je vais mettre sur CS puisque je travaille toujours avant de rendre mes sources. Toutes les sources 1.0 que je mets sont en fait les versions 1.1 chez moi (mes versions 1.0 sont souvent très simples et fonctionnent en utilisant un code souvent laid.)
exemple: partie de code de ma classe de math:
Expr = new Regex(@"(^|\+|-|\*|/|\()(?<NUM1>[-]{0,1}[0-9,]+)!");
Matching = Expr.Matches(p_TempParsing);
foreach (Match m in Matching)
{
Max = int.Parse(m.Groups["NUM1"].Value);
Result = 1;
while (Max > 1)
{
Result *= Max;
Max--;
}
p_TempParsing = p_TempParsing.Replace(m.Groups["NUM1"].Value+"!", Result.ToString());
}
Expr = new Regex(@"(?<NUM1>[-]{0,1}[0-9,]+)\^(?<NUM2>(cos|tan|sin|rndup|rnddn|rnd|°c|°f|°k|[\s]*)([\s]*)[-]{0,1}[0-9,]+)");
Matching = Expr.Matches(p_TempParsing);
string TempOP = p_TempParsing;
while (Expr.IsMatch(p_TempParsing)){
foreach (Match m in Matching)
{
//this.ParseUnderEq(m.Groups["NUM1"].Value);
p_Numbers[0] = double.Parse(m.Groups["NUM1"].Value);//p_TempParsing);
Expr = new Regex(@"(^|\+|-|\*|/|\^)(?<FUNC>cos|tan|sin|rndup|rnddn|rnd|°c|°f|°k)(?<SPACES>[\s]*)(?<NUM1>[-]{0,1}[0-9,]+)(?<EXT>[°cfk]*)(\+|-|\*|/|\^|$)");
while (Expr.IsMatch(p_TempParsing)){
Matching = Expr.Matches(p_TempParsing);
foreach (Match m in Matching)
{
func = m.Groups["FUNC"].Value;
p_Numbers[0] = double.Parse(m.Groups["NUM1"].Value);
gen = m.Groups["NUM1"].Value;
switch (func){
case "cos":
p_Numbers[1] = System.Math.Cos(p_Numbers[0]);
break;
case "tan":
p_Numbers[1] = System.Math.Tan(p_Numbers[0]);
break;
case "sin":
p_Numbers[1] = System.Math.Sin(p_Numbers[0]);
break;
case "rndup":
p_Numbers[1] = System.Math.Ceiling(p_Numbers[0]);
break;
case "rnddn":
p_Numbers[1] = System.Math.Floor(p_Numbers[0]);
break;
case "rnd":
p_Numbers[1] = System.Math.Round(p_Numbers[0]);
break;
case "°c":
if (m.Groups["EXT"].Value == "°f")
p_Numbers[1] = (p_Numbers[0]-32.0)/1.8;
else if (m.Groups["EXT"].Value == "°k")
p_Numbers[1] = p_Numbers[0]-273;
else
p_Numbers[1] = p_Numbers[0];
gen = m.Groups["NUM1"].Value+m.Groups["EXT"].Value;
break;
case "°f":
if (m.Groups["EXT"].Value == "°c")
p_Numbers[1] = p_Numbers[0]*1.8+32.0;
else if (m.Groups["EXT"].Value == "°k")
p_Numbers[1] = (p_Numbers[0]-273)*1.8+32.0;
else
p_Numbers[1] = p_Numbers[0];
gen = m.Groups["NUM1"].Value+m.Groups["EXT"].Value;
break;
case "°k":
if (m.Groups["EXT"].Value == "°c")
p_Numbers[1] = p_Numbers[0]+273;
else if (m.Groups["EXT"].Value == "°f")
p_Numbers[1] = (p_Numbers[0]-32.0)/1.8+273;
else
p_Numbers[1] = p_Numbers[0];
gen = m.Groups["NUM1"].Value+m.Groups["EXT"].Value;
break;
}
p_TempParsing = p_TempParsing.Replace(m.Groups["FUNC"].Value+m.Groups["SPACES"].Value+gen, p_Numbers[1].ToString());
}
}
//+,-,*,/
Expr = new Regex(@"(?<NUM1>[-]{0,1}[0-9,]+)(?<OP>\*|/)(?<NUM2>[-]{0,1}[0-9,]+)");
Matching = Expr.Matches(p_TempParsing);
while (Expr.IsMatch(p_TempParsing)){
foreach (Match m in Matching)
{
p_Numbers[0] = double.Parse(m.Groups["NUM1"].Value);
p_Numbers[1] = double.Parse(m.Groups["NUM2"].Value);
if (m.Groups["OP"].Value=="*")
p_Numbers[2] = p_Numbers[0]*p_Numbers[1];
else
p_Numbers[2] = p_Numbers[0]/p_Numbers[1];
p_TempParsing = p_TempParsing.Replace(m.Groups["NUM1"].Value+m.Groups["OP"].Value+m.Groups["NUM2"].Value, p_Numbers[2].ToString());
Matching = Expr.Matches(p_TempParsing);
}
}
Avec le reste, cela fonctionne, mais c'est presque incompréhensible.
version 1.0 = tant que ca fonctionne
version 1.1 = structure repensée.
Donc toutes les versions l'auront.
--------------------------------------------------
David L.Pratte, Administrateur
Mykeys Software Foundation
Making dreams into programs / Du rêve au programme
Demandes acceptées gratuitement
Vous n’avez pas trouvé la réponse que vous recherchez ?