cs_OphidiaN
Messages postés235Date d'inscriptionmercredi 4 avril 2001StatutMembreDernière intervention 9 novembre 2007
-
2 sept. 2003 à 22:25
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010
-
11 juin 2006 à 13:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010 11 juin 2006 à 13:28
Hum desole pour ette reponse tardive, on est en tra inde rusher pour finir nos projets, c'ets de la folie .. bref
A l'epoque je souhaitais egalement faire comme les TI, le probleme c'est que c'est un probleme beaucoup plus complique de faire du calcul avec des variables qui reste "variable" : exemple:
"x + 2x" --> "3x" (on n'a pas substitue x par une valeur)
Mais bon si tu le fait tiens moi au courant :)
Pour l'analyseur je vais le refaire en le parsant correctement (tokenizer + parser) (peut etre la semaine prochaine j'ai un creux dans l'emploi du temp))
Tant qu'a faire, que ca me fait plaisir, et que je risque pas d'apprendre quelquechose de nouveau (juste reviser le vb ), je voudrais savoir si il y a des contraintes particulieres pour les pocket pc (autant se donner un peu de difficulte) ?
mortmen
Messages postés8Date d'inscriptionjeudi 1 janvier 2004StatutMembreDernière intervention15 août 2010 7 juin 2006 à 08:43
Salut ZerocOOl !
Je serais intéressé par ton nouvel analyseur s'il était encore un peu plus complet et performant afin de l'intégrer dans une sorte de caltoch pour PocketPC. Je voudrais faire un truc qui ressemble un peu à une TI pour ce qui est de la gestion des calculs parceque je ne trouve pas exactement ce que je veux à ce sujet !
merci
Bonne continuation et @+
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010 1 mai 2006 à 03:24
Pile poil un an après ... reelle coincidence !
bref...
Exacte ! correction effectuée.
Bon après quelques annees d'experience et d'étude supplémentaires,
je trouve que le vb c'est grave *** (prise_de_risque = 0 :D)
Si on me bombarde de message (ou pas, mais je chercherai moins à trouver du temps), je ferai peut-être un vrai analyseur syntaxique.
A l'époque je connaissais meme pas les parser, le mot "token" m'était totalement inconnu, le concept d'arbre également (si j'avais poussé un peu plus loin ma réflexion j'aurais réinventé les arbres, à la place on a une espece de list lstElement bizarrement gérée :) )
Par vrai analyseur, j'entend :
--> toute les operations et fonctions traditionnelles
--> possibilite d'ajoute des declarations de fonciton à la volé
--> gestion des nombres imaginaires
--> d'autre chose si vous voyiez koi (hesiter pas a proposer)...
voili voilo
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 30 avril 2005 à 18:39
Salut,
Je réflèchi actuellement au même problème traité ici... mais j'ai un peu de mal à en comprendre le sens du découpage... enfin, tant que je me suis pas plongé à fond dedans...
Néanmoins, en passant, je pense avoir remarqué une erreur dans la vérification des profondeurs des parenthèses... je cite :
While i < Len(Equa)
i = i + 1
If Mid$(Equa, i, 1) "(" Then Var Var + 1
If Mid$(Equa, i, 1) "(" Then Var Var - 1
If Var < 0 Then GoTo TropParent
If Var = 32767 Then
MsgBox "Desolé ,il y a trop de profondeur de parentheses"
Exit Function
End If
Wend
LES deux lignes :
If Mid$(Equa, i, 1) "(" Then Var Var + 1
If Mid$(Equa, i, 1) "(" Then Var Var - 1
font le même test ! donc la variable Var est successivement incrémenté et décrémenté...
Je pense que l'idée était :
If Mid$(Equa, i, 1) ")" Then Var Var - 1
avec la parenthèse dans l'autre sens (fermeture)...
Voilà... c'était juste une remarque en passant.... mais bravo tout de même !
Amicalement,
Us.
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010 30 juin 2004 à 02:19
Un petit recodage "propre" prévu normalement au cours de cet été ...
Si j'oublie n'hésitez pas ...
cs_astra
Messages postés21Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention19 mars 2004 19 mars 2004 à 18:35
bonjour
quand on appelle la fonction calcul, le code s'exécute bien mais attention à la fin :
Formule = Val(Replace(RAM.Calcul(Var - 1), ",", "."))
du coup la valeur de la fonction n'est pas definie puisque la on n'a stocké le resultat que dans "Formule"
il faut remplacer donc la ligne ci-dessus par:
mortmen
Messages postés8Date d'inscriptionjeudi 1 janvier 2004StatutMembreDernière intervention15 août 2010 17 févr. 2004 à 19:54
Saliut a todos
Moi je suis débutant en VB et j'ai eu le meme probleme que Astra (un peu plus haut ) mais j'ai pas compris son explication
ya moyen que l'on me ré explique la modif à faire ?
merci a tous
hpfx
Messages postés22Date d'inscriptionvendredi 29 août 2003StatutMembreDernière intervention18 novembre 2007 15 oct. 2003 à 23:54
neodante :
amateur de hp48 ?
je suis en train de faire une calculatrice RPN.
qui prends en compte : liste, chaines, nombres complexes, matrices, hexa, binaires, H:M:S, polynomes... et programmes (oui!) .... c'est encore qu'une beta (v0.45) mais ca marche pas mal !
et vous savez quoi ?.. c'est un freeware ! :)
c'est super performant , je compte y ajouter les APN (arbitrary Precision number : nombre infini si tu veux !)
je cherche des beta tester ! laissez moi un message ou un mail si ca vous interresse !!! http://xout.free.fr/rpne/
et je confirme le RPN ("reverse polish notation" ou lisp) c'est parfait pour develloper une calc (moi c'est tout des classes de partout c'est joli...)
lumesh
Messages postés564Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention 7 novembre 2008 12 oct. 2003 à 22:09
Zeroc00l > effectivement, c'est bien du LISP, à la base c'est meme Polonais.
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010 12 oct. 2003 à 18:16
Ah ouais peut etre bien .. c'est parce qu'au debut ma fonction s'appelait 'formule'...
Etant donne que j'ai changé les noms des foncitons pour que la lecture soit plus compréhensible et plus intuitive...
J'ai donc oublié certain changement d'appel ... dsl ...
Je mettrai a jour quand j'aurais le net chez moi ( la je suis chez mes parents, mais vous vous en foutez et vous avez bien raison lol )
A++ all et bonne prog !
cs_astra
Messages postés21Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention19 mars 2004 16 sept. 2003 à 21:29
ta fonction calcul ne retourne rien car tu mets le calcul dans "formule" et non dans "calcul" et du coup ca fonctionne pas
rajoute une ligne et ce sera parfait je ve lutiliser!
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010 11 sept. 2003 à 09:15
Mwa chui amateur de calculette TI...
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 10 sept. 2003 à 22:40
Amateur de calculatrice HP a vos claviers !!! Vous allez pouvoir reprendre vos calculettes et comparer avec le prog !
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 6 sept. 2003 à 12:58
C'est bien la methode polonaise, LISP est un langage de programmation qui utilise le procédé...
Et pour le probleme de decoupage, je me suis trompe, j'avais pas vu que tu tenais compte des parentheses :o)
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010 6 sept. 2003 à 12:37
Aucune Idée .. on m'a suggere de transforme une equation en faisant
arg1, arg2, Operateur1 ... etc
J'ai trouve l'idée sympa et interessante... hop j'ai codé le module sinon je ne sais strictement rien ... c'est à vous de me le dire .. mais aparement vous ne semblez pas d'accord !
Ca existais deja comme méthode ? Quel est son nom ? (je changerai le titre de la source )
méthode polonaise inverse ? LISP ? les deux ? (désignant le meme principe )
wonesek
Messages postés115Date d'inscriptionsamedi 2 février 2002StatutMembreDernière intervention13 mai 2006 6 sept. 2003 à 00:35
C'est le principe de LISP mettre les membre d'une operation en premier et l'operateur en second? c'est ca?
lumesh
Messages postés564Date d'inscriptionjeudi 21 février 2002StatutMembreDernière intervention 7 novembre 2008 3 sept. 2003 à 19:02
Progger oui, comme la HP48G et Gx ki ont ete concue par les ingenieurs polonais ..... au debut c deroutant le 1 1 + 2 lol mais c efficace :)
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010 3 sept. 2003 à 14:36
CONTENT de connaitre le nom de ma méthode (Je n'ai recu que le principe... J'ai donc fait le code moi même ; ce n'est pas une copie d'un autre code ...
et CONTENT de voir que mon explication n'est pas trop confuse :)))
Au fait cet algo (modifié afin d'etre bien integre ) me sert pour ma calculette experte :
http://www.vbfrance.com/article.aspx?Val=4187 (les source arriveront je vous le garanti, j'arrange le code petit à petit avec des commentaires, mais il faut trouver le temps <:-( )
a++ all
Proger
Messages postés248Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention19 décembre 2008 3 sept. 2003 à 10:50
coucou la méthode polonaise inverse :) pour ceux qui comprenais pas l'interêt de cette notation sur certaines calculatrices de poche, ton explication leur répondra !!
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 3 sept. 2003 à 09:55
Il est clair que je fais pas le meme genre de decoupage que toi, mais l'idee de ne pas refaire le decoupage a chaque fois est pas bete...
Par contre, ta methode de coupage me semble contenir un probleme, j'y reflechis quand j'ai un peu de temps...
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010 3 sept. 2003 à 00:52
looooool ;)
cs_OphidiaN
Messages postés235Date d'inscriptionmercredi 4 avril 2001StatutMembreDernière intervention 9 novembre 2007 2 sept. 2003 à 22:25
ya pas a dire, tu es mon idole dans ce domaine....
11 juin 2006 à 13:28
A l'epoque je souhaitais egalement faire comme les TI, le probleme c'est que c'est un probleme beaucoup plus complique de faire du calcul avec des variables qui reste "variable" : exemple:
"x + 2x" --> "3x" (on n'a pas substitue x par une valeur)
Mais bon si tu le fait tiens moi au courant :)
Pour l'analyseur je vais le refaire en le parsant correctement (tokenizer + parser) (peut etre la semaine prochaine j'ai un creux dans l'emploi du temp))
Tant qu'a faire, que ca me fait plaisir, et que je risque pas d'apprendre quelquechose de nouveau (juste reviser le vb ), je voudrais savoir si il y a des contraintes particulieres pour les pocket pc (autant se donner un peu de difficulte) ?
7 juin 2006 à 08:43
Je serais intéressé par ton nouvel analyseur s'il était encore un peu plus complet et performant afin de l'intégrer dans une sorte de caltoch pour PocketPC. Je voudrais faire un truc qui ressemble un peu à une TI pour ce qui est de la gestion des calculs parceque je ne trouve pas exactement ce que je veux à ce sujet !
merci
Bonne continuation et @+
1 mai 2006 à 03:24
bref...
Exacte ! correction effectuée.
Bon après quelques annees d'experience et d'étude supplémentaires,
je trouve que le vb c'est grave *** (prise_de_risque = 0 :D)
Si on me bombarde de message (ou pas, mais je chercherai moins à trouver du temps), je ferai peut-être un vrai analyseur syntaxique.
A l'époque je connaissais meme pas les parser, le mot "token" m'était totalement inconnu, le concept d'arbre également (si j'avais poussé un peu plus loin ma réflexion j'aurais réinventé les arbres, à la place on a une espece de list lstElement bizarrement gérée :) )
Par vrai analyseur, j'entend :
--> toute les operations et fonctions traditionnelles
--> possibilite d'ajoute des declarations de fonciton à la volé
--> gestion des nombres imaginaires
--> d'autre chose si vous voyiez koi (hesiter pas a proposer)...
voili voilo
30 avril 2005 à 18:39
Je réflèchi actuellement au même problème traité ici... mais j'ai un peu de mal à en comprendre le sens du découpage... enfin, tant que je me suis pas plongé à fond dedans...
Néanmoins, en passant, je pense avoir remarqué une erreur dans la vérification des profondeurs des parenthèses... je cite :
While i < Len(Equa)
i = i + 1
If Mid$(Equa, i, 1) "(" Then Var Var + 1
If Mid$(Equa, i, 1) "(" Then Var Var - 1
If Var < 0 Then GoTo TropParent
If Var = 32767 Then
MsgBox "Desolé ,il y a trop de profondeur de parentheses"
Exit Function
End If
Wend
LES deux lignes :
If Mid$(Equa, i, 1) "(" Then Var Var + 1
If Mid$(Equa, i, 1) "(" Then Var Var - 1
font le même test ! donc la variable Var est successivement incrémenté et décrémenté...
Je pense que l'idée était :
If Mid$(Equa, i, 1) ")" Then Var Var - 1
avec la parenthèse dans l'autre sens (fermeture)...
Voilà... c'était juste une remarque en passant.... mais bravo tout de même !
Amicalement,
Us.
30 juin 2004 à 02:19
Si j'oublie n'hésitez pas ...
19 mars 2004 à 18:35
quand on appelle la fonction calcul, le code s'exécute bien mais attention à la fin :
Formule = Val(Replace(RAM.Calcul(Var - 1), ",", "."))
du coup la valeur de la fonction n'est pas definie puisque la on n'a stocké le resultat que dans "Formule"
il faut remplacer donc la ligne ci-dessus par:
Calcul = Val(Replace(RAM.Calcul(Var - 1), ",", "."))
et
Formule = "Indeterminé"
par
Calcul = "Indeterminé"
petite correction modeste mais importante...
en tout cas coup de chapeau à l'auteur de ce code qui m'a été vraiment utile...
source employant ce code corrigé sur:
http://www.chez.com/sucker/alexs/Progs/courbes.zip
(de mon site perso www.alexs.ht.st un ptit coup de promo ne fait pas de mal...)
bonne prog ++
alexs
17 févr. 2004 à 19:54
Moi je suis débutant en VB et j'ai eu le meme probleme que Astra (un peu plus haut ) mais j'ai pas compris son explication
ya moyen que l'on me ré explique la modif à faire ?
merci a tous
15 oct. 2003 à 23:54
amateur de hp48 ?
je suis en train de faire une calculatrice RPN.
qui prends en compte : liste, chaines, nombres complexes, matrices, hexa, binaires, H:M:S, polynomes... et programmes (oui!) .... c'est encore qu'une beta (v0.45) mais ca marche pas mal !
et vous savez quoi ?.. c'est un freeware ! :)
c'est super performant , je compte y ajouter les APN (arbitrary Precision number : nombre infini si tu veux !)
je cherche des beta tester ! laissez moi un message ou un mail si ca vous interresse !!! http://xout.free.fr/rpne/
et je confirme le RPN ("reverse polish notation" ou lisp) c'est parfait pour develloper une calc (moi c'est tout des classes de partout c'est joli...)
12 oct. 2003 à 22:09
12 oct. 2003 à 18:16
Etant donne que j'ai changé les noms des foncitons pour que la lecture soit plus compréhensible et plus intuitive...
J'ai donc oublié certain changement d'appel ... dsl ...
Je mettrai a jour quand j'aurais le net chez moi ( la je suis chez mes parents, mais vous vous en foutez et vous avez bien raison lol )
A++ all et bonne prog !
16 sept. 2003 à 21:29
rajoute une ligne et ce sera parfait je ve lutiliser!
11 sept. 2003 à 09:15
10 sept. 2003 à 22:40
6 sept. 2003 à 12:58
Et pour le probleme de decoupage, je me suis trompe, j'avais pas vu que tu tenais compte des parentheses :o)
6 sept. 2003 à 12:37
arg1, arg2, Operateur1 ... etc
J'ai trouve l'idée sympa et interessante... hop j'ai codé le module sinon je ne sais strictement rien ... c'est à vous de me le dire .. mais aparement vous ne semblez pas d'accord !
Ca existais deja comme méthode ? Quel est son nom ? (je changerai le titre de la source )
méthode polonaise inverse ? LISP ? les deux ? (désignant le meme principe )
6 sept. 2003 à 00:35
3 sept. 2003 à 19:02
3 sept. 2003 à 14:36
et CONTENT de voir que mon explication n'est pas trop confuse :)))
Au fait cet algo (modifié afin d'etre bien integre ) me sert pour ma calculette experte :
http://www.vbfrance.com/article.aspx?Val=4187
(les source arriveront je vous le garanti, j'arrange le code petit à petit avec des commentaires, mais il faut trouver le temps <:-( )
a++ all
3 sept. 2003 à 10:50
3 sept. 2003 à 09:55
Par contre, ta methode de coupage me semble contenir un probleme, j'y reflechis quand j'ai un peu de temps...
3 sept. 2003 à 00:52
2 sept. 2003 à 22:25