Tricraprog Épisode 3, le LOGO
Modérateurs : Papy.G, fneck, Carl
-
- Messages : 7971
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Tricraprog Épisode 3, le LOGO
Super! Je l'ai regardé en mangeant ce soir. As tu connaissance de sources autres que ce que tu montres dans la vidéo utilisant l'aspect symbolique (à la lisp) du logo ? Je pense à des trucs sympa (pour moi) comme des calculs de dérivées d'expression mathématiques (à une époque c'était mon hobby de faire ca en basic, et j'avais galéré comme pas possible), ou mieux des calculs de développement limités (idem, je faisais ca quand j'étais jeune quand les adultes pensaient que je "jouais" sur l'ordinateur(1).)
____
(1) C'est pas faux dans le fond car pour moi programmer est un jeu, mais un jeu sérieux bien plus intéressant que de battre un high-score.
____
(1) C'est pas faux dans le fond car pour moi programmer est un jeu, mais un jeu sérieux bien plus intéressant que de battre un high-score.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
- gleike
- Messages : 1344
- Inscription : 16 oct. 2014 11:12
- Localisation : Ludres (54710) Meurthe & Moselle
Re: Tricraprog Épisode 3, le LOGO
Vidéo très intéressante, concept du Logo et de ses dérivés bien expliqué d'une voix claire et compréhensible.
J'essaye toujours d'obtenir et d'installer le Logo si il est disponible sur les machines que je possède,
mais je ne pousse pas la programmation trop loin.
Merci.
J'essaye toujours d'obtenir et d'installer le Logo si il est disponible sur les machines que je possède,
mais je ne pousse pas la programmation trop loin.
Merci.
Re: Tricraprog Épisode 3, le LOGO
Bonsoir,
quelqu'un a t-il déjà vu des sources en Z80 pour un logo? J'ai farfouillé sur le web. Je n'ai rien trouvé de probant à part un logo home-made pour calculatrice TI...
quelqu'un a t-il déjà vu des sources en Z80 pour un logo? J'ai farfouillé sur le web. Je n'ai rien trouvé de probant à part un logo home-made pour calculatrice TI...
- Mokona
- Messages : 1042
- Inscription : 17 déc. 2016 22:01
- Localisation : Nord Est des Yvelines
- Contact :
Re: Tricraprog Épisode 3, le LOGO
Merci.
Pour les développements limités, je n'ai jamais fait ça en Logo. Parser une fonction et en trouver sa dérivée est un exercice que j'ai déjà vu passer dans un bouquin... il faudrait que je retrouve.
Je n'ai pas trouvé de sources Z80 pour du Logo non plus. J'avais commencé à écrire un interpréteur Logo au début de mon étude pour bien comprendre le langage. L'idée était ensuite d'en porter une version sur Z80 et d'en faire une ROM VG5000... Bon... mon interpréteur n'étant pas terminé, je n'en suis pas là...
Pour les développements limités, je n'ai jamais fait ça en Logo. Parser une fonction et en trouver sa dérivée est un exercice que j'ai déjà vu passer dans un bouquin... il faudrait que je retrouve.
Je n'ai pas trouvé de sources Z80 pour du Logo non plus. J'avais commencé à écrire un interpréteur Logo au début de mon étude pour bien comprendre le langage. L'idée était ensuite d'en porter une version sur Z80 et d'en faire une ROM VG5000... Bon... mon interpréteur n'étant pas terminé, je n'en suis pas là...
-
- Messages : 7971
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Tricraprog Épisode 3, le LOGO
Les développements limités c'est très facile à partir du moment ou l'on est capable d'évaluer une expression symbolique, sauf qu'au lieu de l'évaluer avec des nombres "simple", on les évalue avec des trucs "genre polynômes (sauf que le produit n'augmente pas leur degré, tout est mangé par le O(x^n)... c'est une sorte de "modulo"). Ca se code super bien en fait, mais ca ne couvre pas toutes les expressions imaginables si on tombe sur une expression dont on a pas encodé l'évaluation.
L'autre possibilité et de calculer les dérivées symboliques successives, puis de les évaluer au point qu'on souhaite (0 en général), et utiliser le développement de Taylor. Ca doit donner le même résultat, mais à coup sur ici (on sait dire quand il n'y en a vraiment pas, et pas parce qu'il nous manque une règle d'évaluation).
L'autre possibilité et de calculer les dérivées symboliques successives, puis de les évaluer au point qu'on souhaite (0 en général), et utiliser le développement de Taylor. Ca doit donner le même résultat, mais à coup sur ici (on sait dire quand il n'y en a vraiment pas, et pas parce qu'il nous manque une règle d'évaluation).
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
- Carl
- Modérateur
- Messages : 13290
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: Tricraprog Épisode 3, le LOGO
Sympa cette épisode Logo, Merci Mokona !
Si quelqu'un à besoin de doc sur le sujet, j'ai quelques bouquins PDF de dispo : (1 Go environ).
Carl
Si quelqu'un à besoin de doc sur le sujet, j'ai quelques bouquins PDF de dispo : (1 Go environ).
Carl
Re: Tricraprog Épisode 3, le LOGO
Un exemple comme le développement à l'ordre 2 en 0 de x^3sin(1/x) doit laisser de telles méthodes muettes non ?
Asic512
-
- Messages : 7971
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Tricraprog Épisode 3, le LOGO
Ben oui, parce que le développement limité n'existe pas en 0 pour cette fonction (la dérivée seconde -4 cos(1/x) + (-1 + 6 x^2) sin(1/x)/x, n'a pas de limite en 0).
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Tricraprog Épisode 3, le LOGO
En fait, x^3sin(1/x) est un O(x^3) donc un o(x^2) : le développement limité existe donc à l'ordre 2 en 0. Il est vrai par contre que la dérivée seconde n'existe pas en 0. Tous les développements limités ne sont donc pas de Taylor ... C'est la revanche de l'homme sur la machine .
Asic512
-
- Messages : 7971
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Tricraprog Épisode 3, le LOGO
Et oui en effet puisque sin() est borné, x^3*sin()/x^2 -> 0 en 0, donc o(x^2), son D.L. est 0. Il fallait revenir à la définition.. mais tiens c'est étrange, mon vieux programme me donne:
Comment c'est possible? je pense que c'est un bug, car le calcul du D.L. de 1/x en 0 me retourne 0 au lieu d'erreur dans la division des polynômes Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Tricraprog Épisode 3, le LOGO
En effet je ne connaissais pas en détail le LOGO.
Il y avait sur le pascal apple2 une unité turtle.
Sinon, de mémoire, dans feu microsystèmes, il y a avait eu un article sur lisp et le calcul symbolique.
Je m'en était servi de base pour mes petits bidouillages lisp
http://franck-pissotte.fr/perso/logiciels.htm (programme symbolisp.7z)
Il y avait sur le pascal apple2 une unité turtle.
Sinon, de mémoire, dans feu microsystèmes, il y a avait eu un article sur lisp et le calcul symbolique.
Je m'en était servi de base pour mes petits bidouillages lisp
http://franck-pissotte.fr/perso/logiciels.htm (programme symbolisp.7z)
https://www.franck-pissotte.fr/ vide grenier
Re: Tricraprog Épisode 3, le LOGO
@sam : il n'est pas difficile d'obtenir le développement asymptotique en 0 des fractions rationnelles. On se ramène (quitte à multiplier le numérateur par une puissance de x assez grande) au cas où le degré du numérateur est plus grand que celui du dénominateur et on peut faire une division selon "les puissances croissantes" du premier par le second (il n'y a pas de "division par zéro").
Comment obtenais-tu les DL dans ton programme ? Tu analysais l'expression fournie et tu remplaçais chaque fonction classique sin/exp/cos par leur DL avec les règles usuelles de composition et multiplication ?
Comment obtenais-tu les DL dans ton programme ? Tu analysais l'expression fournie et tu remplaçais chaque fonction classique sin/exp/cos par leur DL avec les règles usuelles de composition et multiplication ?
Asic512
-
- Messages : 7971
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Tricraprog Épisode 3, le LOGO
Oui c'est ca.. l'algo connait les D.L. des fonctions traditionnelles (sin(x), cos(x), tan(x), exp(x), sqrt(1+x), ln(1+x), ...), puis les compose (en faisant le produit, l'addition, les compositions) lors du parsing de l'expression. D'une certaine façon cela revient à évaluer l'expression symbolique non pas avec des nombres mais avec des polynôme modulo un degré fixé.
L'exercice est assez tordu en basic sans variables locales (à l'époque je ne connaissais que ca), mais trivial et assez jouissif à coder avec les langages polymorphiques (ce que ferais de nos jours).
Le programme basic affiche une erreur quand, lors de la composition F o G, le polynôme de G commence par un terme constant. En fait on pourrait être plus fin et voir que pour certaines fonctions F on peut exprimer le dev limité autour de n'importe quelle valeur a non nulle (sqrt(a+x) = sqrt(a)*sqrt(1 + x/sqrt(a)), ln(a+x) = ln(a) + ln(1 + x/a), exp(a+x)=exp(a)*exp(x)), on pourrait pousser le calcul plus loin. Mais bon j'étais jeune et j'avais faim votre honneur [ah non c'est la mauvaise excuse ]
Si le logo peut manipuler les listes et les floats aussi facilement que ne le ferait un lisp, je me replongerait bien dans l'exercice.
L'exercice est assez tordu en basic sans variables locales (à l'époque je ne connaissais que ca), mais trivial et assez jouissif à coder avec les langages polymorphiques (ce que ferais de nos jours).
Le programme basic affiche une erreur quand, lors de la composition F o G, le polynôme de G commence par un terme constant. En fait on pourrait être plus fin et voir que pour certaines fonctions F on peut exprimer le dev limité autour de n'importe quelle valeur a non nulle (sqrt(a+x) = sqrt(a)*sqrt(1 + x/sqrt(a)), ln(a+x) = ln(a) + ln(1 + x/a), exp(a+x)=exp(a)*exp(x)), on pourrait pousser le calcul plus loin. Mais bon j'étais jeune et j'avais faim votre honneur [ah non c'est la mauvaise excuse ]
Si le logo peut manipuler les listes et les floats aussi facilement que ne le ferait un lisp, je me replongerait bien dans l'exercice.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos