Je suis sur un classeur de dérivation par étapes pour TI-Nspire CAS.
Le style de programme qui se télécharge normalement très bien, parce que y'a juste à récopier.
Il donne toutes les formules et les applique, bref tous les détails sauf:
- le fait que la dérivée de la variable c'est 1
- le fait que la dérivée de la constante c'est 0
L'algorithme récursif de parcours en arborescence semble correct, me produisant plusieurs écrans de dérivation avec les formules les plus compliquées.
Les étapes de dérivation sont indentées selon l'arborescence, et sont affichées en PrettyPrint.
Exemple:
J'aimerais plus vous poser des questions sur la forme d'affichage des résultats.
Comme vous le voyez, dans les différentes formules, la dérivée de cos(x) est notée d(cos(x)).
Voyez-vous une solution pour la noter de façon plus exacte/compréhensible sans inconvénient?
Je vois:
*possibilité de convertir en chaîne où l'on pourra faire tout ce que l'on veut, mais on perd alors l'affichage PrettyPrint...
* la notation différentielle d/dx(), mais:
- elle sera automatiquement évaluée lors de l'affichage, l'on n'obiendra donc pas la formule puis son résultat mais 2 fois le résultat... est-il possible de bloquer l'évaluation d'une expression?
- les étapes toutes détaillées avec des d/dx() prendront plus de place verticalement (fraction), et je trouve que ça risque d'être lourd si elles sont nombreuses
* l'utilisation du caractère " ' " que je n'arrive pas à comprendre:
- cos'(5) donne une erreur de syntaxe
- 2' donne aussi une erreur de syntaxe
- (x+2)' donne encore une erreur de syntaxe
- u' marche si u n'est pas défini
- u'(5) marche aussi
- u'(6)/2 donne curieusement u'6/2 sans parenthèses et avec le u' devant la fraction...
Je cherche à ce que ce soit le plus lisible/compréhensible par des élèves de Première/Terminale.
L'algorithme est beaucoup plus puissant que celui que l'on a actuellement sur le portail.
J'arrive à détailler des dérivées de puissances de fonctions, de formules avec des fonctions non définies ou même des fonctions à plusieurs variables...
SD: SuperDérivée
40 posts
• Page 1 of 4 • 1, 2, 3, 4
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41980
- Images: 15852
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: SD: SuperDérivée
C'est vrai que d(quelquechose) n'est pas d(quelquechose)/dx ... et ça on le comprend dans le supérieur.
Après, en 1ere/Terminale, étant donné qu'on ne fait pas vraiment de différence, un petit readme avec la remarque passera bien.
Personnellement, je ne vois rien à redire si ce n'est les espaces avant. Tu dis que c'est pour faciliter la lecture. Peut-être sur Ordi, mais sur calto, tout caractère est déjà difficile à parcourir (1/3 secondes) alors autant d'espaces ...
Ce que je peux te proposer c'est également la chose suivante :
Je vois que tu utilises une matrices, mais est-ce seulement un Disp ?
Car dans ce cas, une matrice globale "result" agrandie à chaque étape récursive permettrait de diminuer l'affichage avec la technique result[i] où i est un nombre compris entre 1 et le nombre d'étapes.
Ainsi, dans le Disp on n'afficherait que le nombre d'étapes totales et ça serait à l'utilisateur de faire un result[i].
Après, en 1ere/Terminale, étant donné qu'on ne fait pas vraiment de différence, un petit readme avec la remarque passera bien.
Personnellement, je ne vois rien à redire si ce n'est les espaces avant. Tu dis que c'est pour faciliter la lecture. Peut-être sur Ordi, mais sur calto, tout caractère est déjà difficile à parcourir (1/3 secondes) alors autant d'espaces ...
Ce que je peux te proposer c'est également la chose suivante :
Je vois que tu utilises une matrices, mais est-ce seulement un Disp ?
Car dans ce cas, une matrice globale "result" agrandie à chaque étape récursive permettrait de diminuer l'affichage avec la technique result[i] où i est un nombre compris entre 1 et le nombre d'étapes.
Ainsi, dans le Disp on n'afficherait que le nombre d'étapes totales et ça serait à l'utilisateur de faire un result[i].
-
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6414
- Images: 22
- Joined: 27 Nov 2008, 00:00
- Location: 0x1AACC355
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: BAC+5: Epita (ING3)
Re: SD: SuperDérivée
Le d(...) me paraît tout-à-fait compréhensible... mais il est vrai que si tu veux un programme où il n'y a plus qu'à recopier, c'est trompeur.
Pour ce qui est de l'affichage, je me serais contenté d'un programme récursif qui fait des Disp pour montrer les étapes et retourne comme résultat le calcul de dérivée intermédiaire.
Tu peux si tu y tiens faire afficher la profondeur de récursivité au passage.
Pour ce qui est de l'affichage, je me serais contenté d'un programme récursif qui fait des Disp pour montrer les étapes et retourne comme résultat le calcul de dérivée intermédiaire.
Tu peux si tu y tiens faire afficher la profondeur de récursivité au passage.
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: SD: SuperDérivée
Donc il n'est pas possible d'utiliser une expression non évaluée/simplifiée comme en LISP, si je comprends bien?
Et le comportement bizarre de l'opérateur postfixé " ' ", vous y comprenez un peu plus que moi?
Et le comportement bizarre de l'opérateur postfixé " ' ", vous y comprenez un peu plus que moi?
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41980
- Images: 15852
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: SD: SuperDérivée
'' (et non pas ") est une seconde
' une minute
° une heure
Dès que le résultat est affiché, il est évalué, et donc parsé, et donc vérifié, et abouti donc à d'éventuelles erreurs. A ma connaissance on ne peut pas afficher en pretty-print sans évaluer l'expression(j'avais trouvé un work-around pour mCAS mais pas pour ce cas de figure).
' une minute
° une heure
Dès que le résultat est affiché, il est évalué, et donc parsé, et donc vérifié, et abouti donc à d'éventuelles erreurs. A ma connaissance on ne peut pas afficher en pretty-print sans évaluer l'expression(j'avais trouvé un work-around pour mCAS mais pas pour ce cas de figure).
-
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6414
- Images: 22
- Joined: 27 Nov 2008, 00:00
- Location: 0x1AACC355
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: BAC+5: Epita (ING3)
Re: SD: SuperDérivée
Quelqu'un peut tester le classeur SD: SuperDérivées ?
Pour OS 1.6 et ultérieurs.
L'onglet de documentation est complété.
PS: Mic, ce serait bien de pouvoir uploader directement des fichier "tns"...
Pour OS 1.6 et ultérieurs.
L'onglet de documentation est complété.
PS: Mic, ce serait bien de pouvoir uploader directement des fichier "tns"...
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41980
- Images: 15852
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: SD: SuperDérivée
Je vérifie ça tout de suite.
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: SD: SuperDérivée
Voici mon avis : c'est presque parfait.
Je rajouterais une règle pour les dérivées de formes intégrales car pour l'instant, on obtient le résultat tout cuit, sans explication.
Certes, cela n'arrive jamais en Lycée d'avoir une primitive non calculable, et encore moins d'avoir des bornes qui dépendent de la variable... mais pour le supérieur, cela pourrait être un plus.
Par ailleurs, je n'ai pas vraiment compris pourquoi tu faisais à chaque fois un cas particulier pour
Je rajouterais une règle pour les dérivées de formes intégrales car pour l'instant, on obtient le résultat tout cuit, sans explication.
Certes, cela n'arrive jamais en Lycée d'avoir une primitive non calculable, et encore moins d'avoir des bornes qui dépendent de la variable... mais pour le supérieur, cela pourrait être un plus.
Par ailleurs, je n'ai pas vraiment compris pourquoi tu faisais à chaque fois un cas particulier pour
- Code: Select all
string(zder(part(ex,1),var))="0"
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: SD: SuperDérivée
Merci Bisam pour ton test très poussé.
Pour afficher les cas particuliers de formules.
Par exemple: 1/u - -u'/u²
Bisam wrote:Par ailleurs, je n'ai pas vraiment compris pourquoi tu faisais à chaque fois un cas particulier pour Code:
string(zder(part(ex,1),var))="0"
Pour afficher les cas particuliers de formules.
Par exemple: 1/u - -u'/u²
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41980
- Images: 15852
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: SD: SuperDérivée
Et voici la démo!
J'ai rajouté les intégrales pour Bisam.
Sinon, y'a un truc qui n'est pas encore détaillé, ce sont les dérivées de fonctions à plusieurs variables.
La notation "dérivée partielle" m'embête énormément puisque je génère des expressions PrettyPrint, et non des chaînes de caractères linéaires...
J'ai rajouté les intégrales pour Bisam.
Sinon, y'a un truc qui n'est pas encore détaillé, ce sont les dérivées de fonctions à plusieurs variables.
La notation "dérivée partielle" m'embête énormément puisque je génère des expressions PrettyPrint, et non des chaînes de caractères linéaires...
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 41980
- Images: 15852
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
40 posts
• Page 1 of 4 • 1, 2, 3, 4
Who is online
Users browsing this forum: ClaudeBot [spider] and 5 guests