Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Tableau de variation pour graph 35+/75/85/95
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Tableau de variation pour graph 35+/75/85/95

Posté le 06/08/2014 17:44

Le programme est téléchargeable ici : Tabvari

Avancement du projet :

Partie I : Recherche des racines de la dérivé de la fonction

- Sur les réels (ici la recherche est faite sur [-50; 50] pour une question de temps)
Fait

- Sur un intervalle au choix [a; b] tel que a <b et avec [a; b] inclu dans [-50; 50] (la recherche peut se faire sur [0; 50] par exemple, pour les fonctions qui ne sont pas définies sur les négatifs)
Fait

Partie II: Affichage du tableau
Fait

Déjà supporté par le programme :
0 "racine" ok
1 "racine" ok
2 "racines" ok
3 "racines" ok
4 "racines" ok
5 "racines" ok
plus de 5 "racines" ok

Partie III : Petits extras utiles

Limites en plus et en moins l'infini quand l'intervalle choisi est les réels Oui

Screens :

pour f(x)=x^3-x


pour f(x)=x^2


pour une fonction dont la dérivée s'annule 5 fois :


Je souhaite tout particulièrement remercier Cartix pour son aide dans ce projet


Fichier joint


1, 2, 3, 4 Suivante
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 06/08/2014 18:07 | #


Tu peux modifier la condition suivante
If List 1[B]>0 And List 1[B+1]=<0 Or List 1[B]<0 And List 1[B+1]>=0

Celle-ci peut s'écrire plus facilement comme la suivante :
If List 1[B] * List 1[B+1]=<0 And List 1[B


Ajouté le 06/08/2014 à 18:08 :
De plus, tu peux utiliser Seq pour créer la list 1, plutot qu'une boucle For
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 06/08/2014 18:08 | #


Merci ça va me permettre de gagner quelques octets
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 06/08/2014 18:11 | #


Tu as vu mon ajout ?
Et aussi, j'ai une question : C'est important que List1[B soit différent de 0 ?

[color=brown]Ajouté le 06/08/2014 à 18:13[/color] :
Et aussi, tu peux utiliser augment pour ajouter des éléments dans list2, plutot que d'utiliser la variable C
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 06/08/2014 18:16 | #


Oui, j'ai vu mais je n'ai jamais utilisé Seq( donc je ne vois pas comment l'utiliser
Pour argument, je ne vois pas exactement comment faire ...
Pour ta deuxième question, oui il faut que List 1[B soit différent de 0
Merci pour tes conseils
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Totoyo Hors ligne Membre d'honneur Points: 16102 Défis: 102 Message
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 06/08/2014 18:22 | #


tu peux me montrer dans mon code parce que je vois pas comment remplacer ma boucle For
Je continu ma programmation
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 06/08/2014 18:23 | #


En fait tu aurais du faire ça :
Seq(d/dx([b]Y[/b]1,A),A,-50,50,5)->List 1

Mais quand je fais ça j'ai une erreur syntaxe sur ma calculatrice
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 06/08/2014 18:25 | #


Ah, donc je laisse comme ça ou est ce qu'il existe un moyen de gagner encore quelques octets ?
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 06/08/2014 18:26 | #


Avec augment, à la fin, tu peux encore gagner des octets. Mais je vais essayer d'optimiser au maximum, je mettrai le code ici après
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 06/08/2014 18:26 | #


Merci C'est super sympa !!
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Totoyo Hors ligne Membre d'honneur Points: 16102 Défis: 102 Message

Citer : Posté le 06/08/2014 18:27 | #


Ca n'a pas l'air de marcher, Seq() ne semble pas accepter d/dx(Y1,A) comme expression :/
A titre informatif, j'avais essayé comme ça :
Seq(d/dx([b]Y[/b]1,A),A,-50,50,5->List 1


Ajouté le 06/08/2014 à 18:28 :
@Cartix m'a devancé
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 06/08/2014 18:53 | #


Bon, augment ça marche pas ou alors il faut mettre un 0 en premier dans la liste 2
J'ai réduit de 200 à 144 octets, mais avec ce problème là

Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 06/08/2014 19:13 | #


Tu peux poster le code ? c'est super d'avoir autant réduit la taille du prog
pour augment c'est pas grave, du moment que ça marche
Merci encore !
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 06/08/2014 19:18 | #


Mais je veux dire que mon code utilise augment, et donc qu'au lieu d'avoir {11,12}, tu auras {0,11,12}.
En soit, si tu le sait c'est pas trop grave, mais c'est pour ça que j'ai pas mis le code, je voulais savoir si ça te dérangeait pas.
Sinon je mets un code sans augment, si tu veux
Par contre, je ne comprends pas pourquoi tu mets les deux valeurs (11 et 12) dans la liste, alors que la première (11) suffit, puisque l'autre n'est que la suivante (12 = 11+1 )
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 06/08/2014 19:22 | #


Les valeurs 11 et 12 représentent les bornes de mon intervalle par exemple {11,12} correspond à l'intervalle [0;5] dans les réels.
Je préfèrerai ne pas avoir le 0 dans ma liste, il serra chian pour la suite.
Merci beaucoup pour ton aide, ça m'aide beaucoup !
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 06/08/2014 19:24 | #


Ok, je vais regarder pour l'enlever sans prendre trop d'octet, sinon ça vaudrait plus la peine d'utiliser augment

Ajouté le 06/08/2014 à 19:25 :
Et oui, j'avais compris à quoi correspondait les valeurs 11 et 12, mais ce que je voulais dire c'est que cela ne servait à rien d'enregistre les deux puisqu'elles se suivent automatiquement
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 06/08/2014 19:25 | #


Voilà la partie de mon programme qui trouve les racines de la dérivé :


ClrList 1
ClrList 2
ClrList 3
1→C
0, 1-> E
0-> D
0-> I
0→B
"Fonction"?→Y1
For -50→A To 50 Step 5
B+1→B
d/dx(Y1,A)→List 1[B]
Next
For 1→B To 20
If List 1[B] * List 1[B+1]=<0 And List 1[B
Then
B→List 2[C]
B+1→List 2[C+1]
C+2→C
IfEnd
Next
For 1->I To (dim List 2)-1 Step 2
D+1->D
-50+((List 2 [I])-1)*5->U
-50+((List 2 [I+1])-1)*5->V
(U+V)/2->W
While V-U>E
If d/dx (Y1, U)×d/dx (Y1, W)<0
Then W->V
(U+V)/2->W
Else W->U
(U+V)/2->W
IfEnd
WhileEnd
(U+V)/2-> List 3 [D]
Next



JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 19/08/2014 23:59 | #


Désolé, j'avais complêtement oublié ce topic
Promis, j'essaie de poster demain ce que j'avais fait
Purobaz Hors ligne Membre d'honneur Points: 2690 Défis: 110 Message

Citer : Posté le 20/08/2014 05:32 | #


Il te reste plus qu'à tracer le tableau de variation non ?
I'll be back !
pour plus de fun
mes programmes fun
de technique
mes projets
et de Swag
les projets que je soutiens
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 20/08/2014 10:10 | #


C'est ça ! je m'occupe de la partie "graphique" dès que possible, je commence dans quelques jours, j'attends de retrouver ma calculatrice
Je ferais quelques tests supplémentaires pour que les racines soient calculées le plus vite possible et que le tableau s'affiche rapidement (pas que l'utilisateur attende 10 minutes devant l'écran de sa machine )

@Cartix : ne t'inquiètes pas !! C'est déjà super sympa de m'aider !! Si tu pouvais aussi jeter un coup d'oeil à mon code que j'ai posté recement pour l'optimiser un peut ? (Je suis vraiment pas doué poir ça ). Et merci encore pour ton aide !

JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
1, 2, 3, 4 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 109 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd