[83]Easy f'(x), version finale de DERIVE

Voir le sujet précédent Voir le sujet suivant Aller en bas

[83]Easy f'(x), version finale de DERIVE

Message par persalteas le Jeu 28 Juil - 6:26

Pendant les exams, on ressort les programmes utiles, et on laisse les jeux de coté. (A ce propos, dsl si il y en a qui attendaient HERSSAHE 5.0, il est très en retard.)


Vous vous souvenez peut être du programme de dérivation de fonctions que j'avais fait l'année dernière, eh bien le voilà définitivement bouclé, avec une belle présentation inutile, et plus aucun bug.


il peut dériver presque toutes les fonctions de base, avec un facteur, ainsi que certaines fonctions composées avec les ln, les exponentielles et les fractions.

Tout est expliqué dans le joli mode d'emploi que je me suis em***** à programmer et qui fait que le seul désavantage du prog est sa taille: 3.7 Ko.

si vous souhaitez copier le code car vous n'avez pas le cable:

si vous souhaitez le télécharger, c'est possible: c'est un *.8xp, mais si vous le renommez en *.83p, vous pourrez l'envoyer sur les 82 stats (fr). Pas les 82 basiques.

[Vous devez être inscrit et connecté pour voir ce lien]

Rappel : les minuscules sont dans le menu var>stat excepté "e" qui est l'exponentielle de la touche "diviser" et "i" qui est l'immaginaire de la touche ".". les y et x minuscules ont une barre dessus, c'est pas plus moche.
#rac sert à ce que vous voyez bien que c'est la fonction racine et pas du texte.


Code:

:FnOff
:AxesOff
:0->Xmin:94->Xmax
:0->Ymin:62->Ymax
:Lbl 0
:ClrDraw
:Horizontal 60
:Horizontal 59
:For(A,1,12
:For(B,0,1
:Text(4,10+5A+B,sub("easy F'(x) !",A,1
:End:End
:Horizontal 51
:Horizontal 50
:30->A
:{28,47,73->L1
:Line(15,30,88,30
:Line(15,30,15,33
:Text(25,17,"deriver une FOnctiOn
:Text(35,17,"MOde d'eMp1Oi
:Text(45,17,"credits
:Repeat K=105 or K=45
:getKey->K
:If K=25 or K=34:Then
:Line(15,A,15+L1(A.1),A,0
:Line(15,A,15,A+3,0
:A+10(K=25)-10(K=34->A
:If not(A:30->A
:If A=40:10->A
:Line(15,A,15+L1(A.1),A
:Line(15,A,15,A+3
:End
:End
:If K=45:Goto Q

:If A=10:Then
:ClrDraw
:Horizontal 60
:Horizontal 59
:Horizontal 51
:Horizontal 50
:"credits
:For(A,1,7
:For(B,0,1
:Text(4,21+5A+B,sub(Ans,A,1
:End:End
:Text(25,23,"(C)  cOpyriGHt
:Text(32,28,"persa1teas
:Text(39,38,"2010.
:Text(13,47,"easy F'(x) v 2.0
:Text(46,5,"rea1ise pOur Espace-TI
:Text(54,6,"cOncOurs de nOv. 2010.
:Repeat getKey
:End:End

:If A=20:Then
:ClrDraw
:Horizontal 60
:Horizontal 59
:Horizontal 50
:Horizontal 51
:"CONSIGNES
:For(A,1,9
:For(B,0,1
:Text(4,5A+B+15,sub(Ans,A,1
:End:End
:Text(13,0,"-REFERMEZ LES PARENTHESES
:Text(19,0,"-PAS DE FORMES FACTORISEES
:Text(25,0,"-PAS PARENTHESES INUTILES
:Text(31,0,"-PAS DE FONCTION COMPLEXE
:Text(37,0,"-5 TERMES PAR FONCTION MAX.
:Text(43,0,"-CHAQUE TERME PEUT ETRE UN
:Text(49,0,"PRODUIT SIMPLE:
:Text(55,0,"2X²,-cos(X),(3+2)#rac((X),5/X...
:Pause
:For(A,49,0,-1
:Line(0,A,94,A,0
:End
:Text(13,0,"LES PUISSANCES SONT
:Text(20,0,"COMPRISES EN DENOMINATEUR
:Text(27,0,"DE FRACTION ET DANS LES
:Text(34,0,"LOGARITHMES NEPERIENS.
:Text(45,0,"-1/(X^6),ln(X³),-ln(X^8)
:Text(52,0,"2X^7,X³,-X²...
:Pause
:For(A,49,0,-1
:Line(0,A,94,A,0
:End
:Text(13,0,"EXPONENTIELLES: FONCTIONS
:Text(20,0,"COMPOSEES AUTORISEES MAIS:
:Text(27,0,"REMPLACEZ LES + ET - PAR
:Text(34,0,"DES VIRGULES:
:Text(40,0,"3X²-2X+2e^(6X+2) DEVIENT:
:Text(50,10,"3X²-2X+2e^(6X,2)
:Pause
:For(A,49,0,-1
:Line(0,A,94,A,0
:End
:Text(13,0,"LES CHOSES INCOMPRISES:
:Text(25,0,"- LES RACINES CUBIQUES ET +
:Text(32,0,"- LES TANGENTES
:Text(39,0,"- LES LOGARITHMES DECIMAUX
:Text(46,0,"- LES FACTORIELLES ET
:Text(52,0,"AUTRES FONCTIONS COMPLEXES.
:Pause
:ClrDraw
:End

:If A<30:Goto 0
:ClrDraw:ZStandard:AxesOn
:ClrHome
:Input "F(X)=",Str0
:Output(8,1,"derivatiOn...
:If not(inString(Str0,"X":Then
:ClrHome
:Disp "F'(X)=","  0
:Output(8,1,"
:Goto Q
:End
:0->N:0->K:0->M
:"0->Str1
:"0->Str2
:"0->Str3
:"0->Str4
:"0->Str5
:Repeat K=9
:sub(Str0,1,1->Str9
:If not(Str9="1" or Str9="2" or Str9="3" or Str9="4" or Str9="5" or Str9="6" or Str9="7" or Str9="8" or Str9="0":Then
:If Str9=/="-":"1"+Str0->Str0
:If Str9="-":Then
:sub(Str0,2,1->Str9
:If not(Str9="1" or Str9="2" or Str9="3" or Str9="4" or Str9="5" or Str9="6" or Str9="7" or Str9="8" or Str9="9"
:"-1"+sub(Str0,2,length(Str0)-1->Str0
:End
:End
:If M:"-"+Str0->Str0
:inString(Str0,"+"->A
:inString(Str0,"-"->B
:If (B<A and B and A) or (B and not(A:Then
:B->A:1->M
:Else
:0->M
:End
:If A:Then
:N+1->N
:sub(Str0,1,A-1->Str9
:If N=1:Str9->Str1
:If N=2:Str9->Str2
:If N=3:Str9->Str3
:If N=4:Str9->Str4
:sub(Str0,A+1,length(Str0)-A->Str0
:sub(Str0,1,1->Str9
:Else
:9->K
:Str0->Str5
:End
:End
:0->L1(1
:0->L2(1
:0->L3(1
:0->L4(1
:0->L5(1
:0->L6(1
:0->M:0->R
:For(K,1,5
:If K=1:Str1->Str9
:If K=2:Str2->Str9
:If K=3:Str3->Str9
:If K=4:Str4->Str9
:If K=5:Str5->Str9
:
:
:16->M:0->A
:inString(Str9,"e^("->A
:If not(A:Then
:M-1->M
:max(inString(Str9,"ln(X²"),inString(Str9,"ln(X^2"->A
:End
:If not(A:Then
:M-1->M
:max(inString(Str9,"ln(X³"),inString(Str9,"ln(X^3"->A
:End
:If not(A:Then
:M-1->M
:inString(Str9,"ln(X^->A
:End
:If not(A:Then
:M-1->M
:inString(Str9,"ln(X->A
:End
:If not(A:Then
:M-1->M
:max(inString(Str9,"/(X^"),inString(Str9,"/X^->A
:End
:If not(A:Then
:M-1->M
:max(inString(Str9,"/(X³"),inString(Str9,"/X³->A
:End
:If not(A:Then
:M-1->M
:max(inString(Str9,"/(X²"),inString(Str9,"/X²->A
:End
:If not(A:Then
:M-1->M
:max(inString(Str9,"X-1"),inString(Str9,"/X->A
:End
:If not(A:Then
:M-1->M
:inString(Str9,"#rac((X)->A
:End
:If not(A:Then
:M-1->M
:inString(Str9,"cos(X)->A
:End
:If not(A:Then
:M-1->M
:inString(Str9,"sin(X)->A
:End
:If not(A:Then
:M-1->M
:inString(Str9,"X²->A
:End
:If not(A:Then
:M-1->M
:inString(Str9,"X³->A
:End
:If not(A:Then
:M-1->M
:inString(Str9,"X^->A
:End
:If not(A:Then
:M-1->M
:inString(Str9,"X->A
:End
:If not(A:M-1->M
:If M:expr(sub(Str9,1,A-1->L1(1
:If M=12:"/X->Str9
:If M=15:2L1(1->L1(1
:If M=16:Then
:inString(Str9,"X
:If Ans:Then
:expr(sub(Str9,A+1,Ans-A-1->N
:NL1(1->L1(1
:sub(Str9,A,length(Str9)-A+1->Str9
:Else
:0->L1(1:" "->Str9:End:End
:If M=14:3L1(1->L1(1
:If M=13:Then
:sub(Str9,4,length(Str9)-4->N
:NL1(1->L1(1
:End
:If M<16 and M>12:"ln(X)->Str9
:If M=11:Then
:expr(sub(Str9,A+3+(inString(Str9,"/(X")>0),1->N
:-NL1(1->L1(1
:N+1->L1(2
:End
:If M=10 or M=11:"/(X^->Str9
:If M=10:Then
:-3L1(1->L1(1
:4->L1(2
:End
:If M=9:Then
:-2L1(1->L1(1
:"/(X³)->Str9
:End
:If M=8:"/(X²)->Str9
:If M=8 or M=6:-L1(1->L1(1
:If M=7:"/(2#rac((X))->Str9
:If M=6:"sin(X)->Str9
:If M=5:"cos(X)->Str9
:If M=4:Then
:2L1(1->L1(1
:"X->Str9
:End
:If M=3:Then
:3L1(1->L1(1
:"X²->Str9
:End
:If M=2:Then
:expr(sub(Str9,A+2,1->N
:NL1(1->L1(1
:N-1->L1(2
:"X^->Str9
:If N=4:"X³->Str9
:If N=3:"X²->Str9
:If N=2:"X->Str9
:End
:If M=1:" ->Str9
:If M:Then
:R+1->R
:If R=1:Then
:L1->L2
:Str9->Str1:End
:If R=2:Then
:L1->L3
:Str9->Str2:End
:If R=3:Then
:Str9->Str3:L1->L4
:End
:If R=4:Then
:L1->L5
:Str9->Str4:End
:If R=5:Then
:L1->L6
:Str9->Str5:End
:End
:End
:ClrHome
:R->C
:Disp "F'(X)=
:If not(C:Disp "AUCUNE IDEE
:For(R,1,C
:If R=1:Then
:L2->L1:Str1->Str9
:End
:If R=2:Then
:L3->L1:Str2->Str9
:End
:If R=3:Then
:L4->L1:Str3->Str9
:End
:If R=4:Then
:L5->L1:Str4->Str9
:End
:If R=5:Then
:L6->L1:Str5->Str9
:End
:If R>1 and 0<=L1(1:Output(R+1,1,"+
:If 0>L1(1:Output(R+1,1,"-
:If Str9=" " or inString(Str9,"/") or 1=/=abs(L1(1
:Output(R+1,2,abs(L1(1
:Output(R+1,4,Str9
:If inString(Str9,"X^":Output(R+1,6+2(Str9="/(X^"),L1(2
:End
:Output(8,1,"           
:Lbl Q
:DelVar Str1DelVar Str2DelVar Str3DelVar Str4DelVar Str5DelVar Str0DelVar Str9
:ClrAllLists

_________________
[Vous devez être inscrit et connecté pour voir cette image]

persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 21
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

Re: [83]Easy f'(x), version finale de DERIVE

Message par Alexis le Sam 30 Juil - 16:41

Je le télécharge !

Edit: Vraiment bravo, il est propre et fonctionne à merveille.

_________________
L'administrateur du forum.

Salut Invité, tu as posté 11 messages sur le forum.

Mes projets:
[Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

[Vous devez être inscrit et connecté pour voir cette image]

Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 23
Messages : 2320
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum