Page 1 sur 3

[Projet] Supramaths 5 : Advanced/CE

Message non luPosté: 11 Juin 2016, 20:35
de GalacticPirate
Salut à tous !

J'avais besoin d'occupation pour les vacances et j'ai décidé de m'atteler à un projet qui me tenait à cœur : la résurrection du grand Supramath.

Pour les incultes, je rappelle l'histoire de ce programme : au début des années 2000, un mystérieux programmeur répondant au pseudo Alban réutilise les fonctions des applications, alors toutes récentes, Symbolic et Pretty Print afin de réaliser un programme de maths tout-terrain pour la dernière-née des TI-z80, la TI-83+. Naissent alors Supramath 3.0, 3.2 puis enfin Supramath 4. Problème, ce programme pèse... 21ko :mj:

De nombreuses personnes vont alors essayer d'optimiser ou d'alléger ce programme, d'abord sur l'ancêtre de TI-Planet, puis en 2012 sur TI-Planet, où le modérateur nikitouzz tente une optimisation du programme mais doit se rendre à l'évidence : avec ses 177 Lbl dans le désordre, ce programme est un foutoir impossible à déchiffrer.

Au même moment, un autre modo, Persalteas, coimmence un projet, Mathp0wa, une série de 7 programmes destinés à remplacer Supramaths dans plusieurs domaines scientifisues : Algèbre, Chimie, Analyse, Géométrie, Physique, Statistiques & Probabilités, et "Divers", avec moins de 10 ko par programme ! :bj: Le projet avance plutôt bien, en parallèle sur Espace-TI et TI-Planet, et l'auteur réutilise des morceaux de code de Supramaths, avec des tokens Symbolic, ainsi que des programmes créés from scratch ou empruntés à d'autres programmeurs comme Linkakro. Mais, de perte de code en bug de tokens, le projet ralentit, ralentit, jusqu'à s'éteindre définitivement, laissant uniquement quelques versions inachevées et bourrées de bugs de AlgèbreP0WA, FonctP0WA ou ChimieP0WA.

Mi-2016, avec la récente sortie 1 an plus tôt de l'exécrable presse-papier TI-82 Advanced ainsi que de l'excellent bijou TI-83 Premium CE, on en est toujours au même point, donc un Supramaths 4 au code tellement peu optimisé que les Axeux ou les Luaiens comme Hayleia ou technolapin en vomissent leurs tripes, et presque aussi lourd que les blagues de noelnadal ou neuronix :troll:


Donc, mon idée, reprendre tout ça de zéro, en s'appuyant (si Persy le veut bien) sur les codes de Mathp0wa ainsi que sur les idées des nombreux TI-Planétiens que nous sommes. Je prévois 3 versions :
  • Une version Supramaths 5 Advanced, avec uniquement les fonctions en Basic simple. (optimisé pour TI-82 Advanced)
  • Une version Supramaths 5 Silver, avec toutes les fonctions Basic ainsi que celles en Basic étendu permises par le trio Omnicalc/Symbolic/PrettyPrint (optimisé pour TI-83 Plus.fr USB)
  • Une version Supramaths 5 Color, améliorée pour le plus grand écran, et exploitant le calcul exact de l'OS 5.1, ainsi que les fonctions de strings de l'OS 5.2, plus peut-être une routine en C de dérivation ;) (optimisé pour TI-83 Premium CE en OS 5.2)

Le tout bien sûr avec de magnifique menus graphiques :D J'aimerais donc des avis, des suggestions, tout ça :p

Show/Hide spoilerAfficher/Masquer le spoiler
Note : le but de ce projet est d'aboutir à quelque chose, et je demande à tous les TI-Planétiens de confiance de m'aider le plus possible dans ce projet profitable à tous. Il est hors de question que ça finisse en topic de troll/flood ou encore que le projet soit jeté à l'eau au bout de 2 semaines. Alors, de mon plus grand sérieux, je demande à tous votre participation la plus sincère à ce projet :) Tout message vraiment non constructif ou inutile sera supprimé...


Toutes mes amitiés,
STV

Re: [Projet] Supramaths 5 : Advanced/CE

Message non luPosté: 11 Juin 2016, 20:37
de Wistaro
Depuis quand l'OS 5.2 est disponible..?

Je t'aiderais avec plaisir. cet été je sais pas si j'aurais trop de temps je bosse pendant 2 mois, mais je trouverais bien un peu de temps :)

Re: [Projet] Supramaths 5 : Advanced/CE

Message non luPosté: 11 Juin 2016, 20:39
de GalacticPirate
L'OS 5.2 n'est pas encore disponible, donc on fera sans jusqu'à ce que notre ami Adriweb me fournisse une ROM bêta en douce l'OS en question sorte. Merci de ton aide en tout cas :)

Re: [Projet] Supramaths 5 : Advanced/CE

Message non luPosté: 11 Juin 2016, 20:43
de Adriweb
Je n'ai pas non plus l'OS 5.2, hein :P (Et puis, si je l'avais, je le partagerais pas :D)

Il sera disponible pour la rentrée, donc c'est pas bien long.
En attendant le toString(XXXX officiel de la 5.2, tu peux utiliser XXXX:Asm(prgmTOSTR de Mateo, comme annoncé ici

Edit: d'ailleurs, voici une version réindentée de la v4 (certes, c'est seulement un poil mieux :P)
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Tout sélectionner
AxesOff
ClrDraw
FnOff
GridOff
Full
Real
Func
Float
Normal
PlotsOff
ClrHome
ZStandard
DelVar F
4→dim(⌊SM
1+⌊SM(3→⌊SM(3
If 0≠⌊SM(2
Then
    Input "•CODE SUPRAMATH•",A
    If Aπ≠⌊SM(2
        Goto QU
End
"Retour→Str8
Lbl θθ
ClrHome
⌊SM(1)→G
If F=π
Then
    DispGraph
    If G=0
        Goto θ3
    Goto θ4
End
π→F
ClrDraw
Radian
AxesOff
FnOff
ZStandard
Line(­9.5,10,.2,10
Line(5,10,9.5,10
Pt-On(­9.8,9.7
Pt-On(.5,9.6
Pt-On(4.9,9.7
Pt-On(9.8,9.7
Text(1,5,"SUPRA MATH 4
If G=0
Then
    Text(­1,2,54,">>
    Text(1,72,"PAGE 1
Else
    Text(­1,2,55,"<<
    Text(1,72,"PAGE 2
End
Line(.6,9.3,.6,7.4
Line(4.7,9.3,4.7,7.4
Pt-On(.8,7
Pt-On(4.5,7
Line(1,6.7,4.2,6.7
Line(­10,9.3,­10,­9.3
Line(10,9.3,10,­9.3
Pt-On(­9.8,­9.7
Pt-On(9.8,­9.7
Line(9.5,­10,­9.5,­10
If G=0
    Goto θ1
Goto θ2
Lbl θ1
Text(11,3,"1•Dérivation
Text(17,3,"2•Complexes
Text(23,3,"3•Equations
Text(29,3,"4•Systèmes
Text(35,3,"5•Droites et Courbes
Text(41,3,"6•Intégrales
Text(47,3,"7•Log et Expo
Text(53,3,"8•Limites
Lbl θ3
0→G
While G=0
    getKey→G
End
If G=21 or G=26 or G=105
Then
    Text(­1,2,56,">>
    1→⌊SM(1
    DelVar F
    Goto θθ
End
If G=22 or G=23 or G=45
    Goto QU
If G=92
    Goto DT
If G=93
    Goto CS
If G=94
    Goto RE
If G=82
    Goto SY
If G=83
    Goto EE
If G=84
    Goto IV
If G=72
    Goto LE
If G=73
    Goto WW
If G=32
    Goto IN
If G=55
    Goto CD
If G=31
    Goto CH
Goto θ3
Lbl θ2
Text(11,3,"1•Les Sutes
Text(17,3,"2•Probabilitées
Text(23,3,"3•Trigonométrie
Text(29,3,"4•Géométrie
Text(35,3,"5•Equa Diff
Text(41,3,"6•Conversions
Text(47,3,"7•Calcul Formel
Text(53,3,"8•Divers
Lbl θ4
0→G
While G=0
    getKey→G
End
If G=24 or G=105 or G=21
Then
    Text(­1,2,53,"<<
    0→⌊SM(1
    DelVar F
    Goto θθ
End
If G=22 or G=23 or G=45
    Goto QU
If G=92
    Goto ST
If G=93
    Goto PP
If G=94
    Goto Tθ
If G=82
    Goto θ
If G=83
    Goto EQ
If G=84
    Goto CE
If G=72
    Goto SP
If G=73
    Goto NP
If G=32
    Goto IN
If G=55
    Goto CD
If G=31
    Goto CH
Goto θ4
Lbl QU
DelVar ⌊RESID
DelVar A
DelVar B
DelVar C
DelVar D
DelVar E
DelVar F
DelVar G
DelVar H
DelVar I
DelVar J
DelVar K
DelVar L
DelVar M
DelVar N
DelVar O
DelVar P
DelVar Q
DelVar R
DelVar S
DelVar T
DelVar U
DelVar V
DelVar W
DelVar Y
DelVar Z
DelVar θ
DelVar Str0
DelVar Str1
DelVar Str2
DelVar Str3
DelVar Str4
DelVar Str5
DelVar Str6
DelVar Str7
DelVar Str8
DelVar Str9
DelVar L₁
DelVar L₂
DelVar L₃
DelVar L₄
DelVar L₅
DelVar L₆
DelVar ⌊B
AxesOn
FnOn
ClrHome
Stop
Lbl CD
"Modifier→Str1
If ⌊SM(2)=0
    "Creer→Str1
"CODE →Str2
Menu(" "+Str2+"D'ENTREE  ",Str1,UO,"Effacer",EC,Str8,θθ
Lbl EC
Input Str2+"ACTUEL     ",A
If A≠⌊SM(2)/π
    Goto θθ
0→⌊SM(2
ClrHome
Disp Str2+"EFFACE!
Pause
Goto θθ
Lbl UO
ClrHome
If ⌊SM(2)≠0
Then
    Input Str2+"ACTUEL     ",A
    If A≠⌊SM(2)/π
        Goto θθ
End
ClrHome
Input "CHOISIR UN "+Str2,A
ClrHome
Input "VALIDER LE "+Str2,B
If A≠B
    Goto CD
Aπ→⌊SM(2
ClrHome
Disp Str2+"ENREGISTRE!
Pause
Goto θθ
Lbl CH
ClrHome
Disp "• SUPRA MATH 4 •","","LE 1 FEV 2007","PAR ALBAN","FICHIER LIZEZMOI","POUR TOUT SAVOIR
Output(8,1,⌊SM(3
Output(8,3+int(log(⌊SM(3))),"UTILISATIONS
0→G
While G=0
    getKey→G
End
Goto θθ
Lbl V9
ClrHome
DelVar F
Menu("       VERIFIER ","Une Derivée",VD,"Une Primitive",VP,Str8,DT
Lbl VD
1→A
"f→Str3
"f'→Str4
"DERIVATION→Str5
Goto DI
Lbl VP
"F→Str3
0→A
"f→Str4
"PRIMITIVE→Str5
Lbl DI
Input Str3+"(X)=",Str0
Input Str4+"(X)=",Str1
3→X
Str0→Y₀
Str1→Y₁
Disp "","VOTRE "+Str5
If int(nDeriv(Y₀,X,X))=Y₁
Then
    If A=0
        Output(1,15,"⁺k
    Disp "EST CORRECTE
Else
    Disp "EST FAUSSE
End
Pause
ClrHome
Goto V9
Lbl V8
ClrHome
DelVar F
Input "f(X)=",Str1
Str1→Y₁
Disp "","NOMBRE DE
Input "DERIVATIONS:",Str3
expr(Str3→A
If A≤0
    Goto V8
Disp "","TRAVAIL...
Str1→Str2
For(Z,1,A
    real(12,Str2,"X")→Str2
End
"f^'"+Str3+"(X)=→Str3
real(19,Str3+Str2
Str2→Y₂
FnOff
ClrDraw
Goto DT
Lbl LE
ClrHome
Menu("    LOG ET EXPO ","Logarithmes",L0,"Exponentielles",X1,Str8,θθ
Lbl X1
DelVar F
FnOff
ClrDraw
Text(1,1,"PROPRIETES
Text(9,2,"^(A+B)=^(A)+^(B)
Text(15,2,"^(A-B)=^(A)/^(B)
Text(21,2,"^(­A)=1/^(A)
Text(27,2,"^(A)^B=^(A•B)
Text(34,4,"^(X)'=^(X)
Text(40,4,"^(U)'=U'^(U)
Text(47,6,"Lim ^(X)=⁺oo    X->⁺oo
Text(53,6,"Lim ^(X)=0    X->-oo
Pause
ClrDraw
Goto LE
Lbl L0
ClrHome
DelVar F
Menu("   LOG NEPERIEN ","Définition",L5,"Résolution",L6,"Simplification",Nθ,Str8,LE
Lbl Nθ
ClrHome
Input "ln(",Str1
If sub(Str1,1,1)="√(
Then
    ".5ln("+sub(Str1,2,length(Str1)-1)→Str2
    Goto Lθ
End
inString(Str1,"/")→A
If A>0
Then
    "ln("+sub(Str1,1,A-1)+")-ln("+sub(Str1,A+1,length(Str1)-A)→Str2
    If sub(Str2,1,3)="ln(1)
        sub(Str2,4,length(Str2)-3)→Str2
    Goto Lθ
End
inString(Str1,"*")→A
If A>0
Then
    "ln("+sub(Str1,1,A-1)+")+ln("+sub(Str1,A+1,length(Str1)-A)→Str2
    Goto Lθ
End
inString(Str1,"^")→A
If A>0
Then
    sub(Str1,A+1,length(Str1)-A)+"ln("+sub(Str1,1,A-1)→Str2
    Goto Lθ
End
"ln("+Str1→Str2
Lbl Lθ
Disp "","EQUIVAUT A
Output(5,1,Str2
Pause
Goto L0
Lbl L5
Input "ln(",Str1
"("+Str1→Str1
"0→Str2
">→Str4
1→θ
Disp " EXISTE SI
Goto L1
Lbl L2
Disp "X"+Str4,E,"
Disp "L'ENSEMBLE DES","DEFINITIONS EST
19→X
If sub(Str4,1,1)=">
Then
    Disp "]   ,+OO[
    Output(7,2,E
Else
    Disp "]-OO,   [
    Output(7,6,E
End
Pause
Goto L0
Lbl L6
ClrHome
Disp "ln(N)=ln(M)",""," DEF
]A,B[","
Input "N=",Str1
Input "M=",Str2
Input "A=",A
Input "B=",B
If B≤A
    Goto L0
ClrHome
Disp "ln STRICT CROISS","
1→θ
Goto L3
Lbl L4
Disp "X=",XFrac,"
If X≥B or X≤A
Then
    Disp "PAS DE SOLUTION
    Pause
    Goto L0
End
Disp "X  ]A,B[","S={  }
Output(7,4,X
Pause
Goto L0
Lbl PP
ClrHome
Menu("   PROBABILITES ","p()",XX,"p(X U Y)",UU,"Ex? Vx? σx?",ES,Str8,θθ
Lbl ES
ClrHome
Input "NOMBRE VARIABLES",V
0→C
0→D
For(X,1,V
    ClrHome
    Disp "N=","
    Output(1,3,X
    Input "x=",A
    Input "p=",B
    AB+C→C
    A²B+D→D
End
D-C²→D
√(abs(D→E
ClrHome
Disp "(ESPERANCE)",C,"(VARIANCE)",D,"(ECART TYPE)",E
Output(2,2,"▫Ex=
Output(4,2,"▫Vx=
Output(6,2,"▫σx=
Pause
Goto PP
Lbl XX
Input "▫p(X)=",A
1-A→D
Disp "","•p()=",DFrac,D
If D>1 or D<0
    Disp "ERREUR
Pause
Goto PP
Lbl UU
Input "▫p(X)=",A
Input "▫p(Y)=",B
Input "▫p(X n Y)=",C
A+B-C→D
Disp "","•p(X U Y)=",DFrac,D
If D>1 or D<0
    Disp "ERREUR
Pause
Goto PP
Lbl EE
ClrHome
Menu("      FONCTIONS ","Equ Droite",BA,"Equ Tangente",ET,"Etude Position",Eθ,"Sommet Courbe",SC,"Intersection",IT,"Parite",PA,Str8,θθ
Lbl PA
DelVar F
Input "f(X)=",Str1
Str1→Y₁
Disp "LA FONCTION EST
If Y₁(π)=Y₁(­π)
Then
    Disp "PAIRE
Else
    If Y₁(π)=­Y₁(­π
    Then
        Disp "IMPAIRE
    Else
        Disp "NI PAIRE/IMPAIRE
    End
End
Pause
Goto EE
Lbl SC
Disp "AX²+BX+C=0","
Prompt A,B,C
ClrHome
Disp "COORD DU SOMMET","","X=",­B/(2A)Frac,"Y=",A(B/(2A))²-B²/(2A)+CFrac
Pause
Goto EE
Lbl IT
Disp "DROITE 1  Y=AX+B
Prompt A,B
A→D
B→E
Disp "","DROITE 2  Y=AX+B
Prompt A,B
(B-E)/(D-A)→X
DX+E→Y
ClrHome
Disp "INTERSECTION","","X=",XFrac,"Y=",YFrac
Pause
Goto EE
Lbl IN
ClrHome
Repeat Z
    Input "",Str1
    If Str1="0
        Goto θθ
    expr(Str1→X
    Disp XFrac
End
Lbl SR
Disp "
Input " √(",E
Output(2,5+int(log(E)),")
1→B
E→Q
Repeat not(G
    0→G
    2→D
    While D²≤E and not(G
        E/D²→A
        If not(fPart(A
        Then
            A→E
            BD→B
            1→G
        End
        D+1→D
    End
End
0→θ
int(log(B→θ
int(log(E→X
Output(4,3+θ,"√(
Output(4,2,B
Output(4,5+θ,E
Output(4,6+X+θ,")
Output(6,2,√(Q
Pause
Goto TR
Lbl Tθ
ClrHome
Menu("        TROUVER ","θ",θ5,"cos(θ) sin(θ)",θ6,Str8,θθ
Lbl θ6
Radian
1→X
Disp "En Radian
Input "•θ=",θ
abs(sin(θ→S
abs(cos(θ→C
C→A
Lbl 3θ
"ERREUR
If A=√(2)/2
    "√(2)/2
If A=√(3)/2
    "√(3)/2
If A=0
    "0
If A=1
    "1
If A=.5
    "1/2
Ans→Str0
If X=1
Then
    2→X
    Str0→Str1
    S→A
    Goto 3θ
End
If cos(θ)<0
    "­"+Str1→Str1
If sin(θ)<0
    "­"+Str0→Str0
Disp "","▫cos(θ)="+Str1,"▫sin(θ)="+Str0
Pause
Goto Tθ
Lbl θ5
.5→θ
"ERREUR→Str1
Input "cos(θ)=",C
Input "sin(θ)=",S
Goto T1
Lbl T2
DelVar X
Pause
Goto Tθ
Lbl WW
DelVar F
"LA DROITE D'EQN→Str4
"ASYMPTOTE A LA→Str5
"COURBE DE f(X)→Str6
DelVar Str1
ClrHome
Disp "
Input "lim ",Str1
DelVar E
DelVar G
For(X,1,length(Str1)
    If sub(Str1,X,1)="^(
        2→E
    If sub(Str1,X,1)="ln(
        3→E
End
Str1→Y₁
19→F
If E=2
    200→F
If E=3
    99980→G
Lbl ML
ClrHome
0→H
Menu("  X TEND VERS   ","⁺Infini",IP,"­Infini",MI,"0⁺",ZP,"0­",ZM,"Un Nombre",UN,"<Nouv Func>",WW,Str8,θθ
Lbl UN
1→H
Disp "","
Output(2,1,"lim "+Str1+"=
Input " X->",Str0
expr(Str0)→X
Str0
Goto LL
Lbl IP
F→X
"⁺INF
Goto LL
Lbl MI
­F→X
"­INF
Goto LL
Lbl ZM
2→H
­1­9→X
"0­
Goto LL
Lbl ZP
2→H
1­9→X
"0⁺
Lbl LL
Ans→Str0
If Y₁≥15-G
    "⁺INF
If Y₁≤­15+G
    "­INF
If Y₁>­1­3 and Y₁<0
    "0­
If Y₁>0 and Y₁<1­3
    "0⁺
If Y₁=0
    "0
If (Y₁≤­1­3 and Y₁>­15+G) or (Y₁≥1­3 and Y₁<15-G)
Then
    ClrHome
    Disp "","","
    Output(2,1,"lim =
    Output(2,6,round(Y₁,8
    Output(3,1," X->"+Str0
    Pause
    If length(Str0)>1
    Then
        If sub(Str0,2,1)="I
        Then
            Disp Str4,"Y=",Str5,Str6
            Output(5,3,round(Y₁,8
            Pause
        End
    End
    Goto ML
End
Ans→Str2
Disp "","","
If length(Str1)+length(Str2)+E≤10
Then
    Output(2,1,"lim "+Str1+"="+Str2
Else
    Output(2,1,"lim ="+Str2
End
Output(3,1," X->"+Str0
Pause
If H≠0 and sub(Str2,2,1)="I
Then
    Disp Str4,"X="+Str0+" EST",Str5,Str6
    Pause
End
If sub(Str2,1,1)="0" and sub(Str0,2,1)="I
Then
    Disp Str4,"X="+Str2+" EST",Str5,Str6
    Pause
End
Goto ML
Lbl PY
Horiz
Degree
Horizontal 10
Vertical ­10
Vertical 10
Line(2.1,8.7,3.6,­8.6
Line(3.6,­8.6,­4.9,1.3
Line(­4.9,1.3,2.1,8.7
Line(1.3,7.3,2.3,6
Text(1,60,"A
Text(9,20,"B
Text(24,66,"C
Text(21,41,"?
Disp "
Input "•AB=",A
Input "•AC=",B
Input "•A(°)=",C
ClrHome
cos(C)→C
√(B²+A²-2BAC)→D
Disp "","▫BC="
Output(2,5,D
Pause
Full
Radian
Goto θ2
Lbl SP
ClrDraw
DelVar F
Disp "POSSEDER LES APP","▫PRETTY PRINT","▫SYMBOLIC
Pause
ClrHome
Input " CALCUL  FORMEL ",Str1
real(13,Str1)→Str1
real(19,Str1
ClrDraw
Goto θθ
Lbl ET
DelVar F
Input "f(X)=",Str1
StringEqu(Str1,Y₁
Input "Pt D'ABCISSE Xo ",X
nDeriv(Y₁,X,X)→A
Y₁-AX→B
ClrHome
Disp "Y=(f'x)(X-x)+fx"," Xo=","","Y=Ax+B","","▫A=","▫B="
Output(2,5,X
Output(6,4,A
Output(7,4,B
Pause
Goto EE
Lbl RE
ClrHome
Menu("       RESOUDRE ","Equation",I5,"Inequation",NI,"Delta",DE,"Identification",N8,Str8,θθ
Lbl N8
"AX+BX²+CX+D→Str0
DelVar F
Disp "▫f(X)=",Str0,"
Input "A=",Str5
Input "B=",Str6
Input "C=",Str7
Input "D=",D
expr(Str5→A
expr(Str6→B
expr(Str7→C
ClrHome
Str0→Y₁
solve(Y₁,X,1)→X
Disp "▫f(  )","=0
Output(1,4,X
Pause
ClrHome
Disp "▫f(X)=","(AX²+BX+C)(X-  )
Output(2,14,X
Pause
ClrHome
Disp "▫f(X)=(EX1)X+(E","X2)X²+(EX3)X+EX4","
Input "EX1=",Str1
Input "EX2=",Str2
Input "EX3=",Str3
ClrHome
Disp "IDENTIFICATION
Str1+"-"+Str5→Y₁
solve(Y₁,A,1→A
Str2+"-"+Str6→Y₁
solve(Y₁,B,1→B
Str3+"-"+Str7→Y₁
solve(Y₁,C,1→C
Disp AFrac,BFrac,CFrac
Output(2,1,"•A=
Output(3,1,"•B=
Output(4,1,"•C=
Pause
Goto RE
Lbl NI
ClrHome
Menu("    INEQUATIONS ",">",I1,"<",I2,"≥",I3,"≤",I4,Str8,RE
Lbl EQ
ClrHome
Menu(" EQUATIONS DIFF ","Type y'=Ay",Q1,"Type y''+W²=0",Q2,Str8,θθ
Lbl Q1
ClrHome
DelVar F
Disp "Ay'+By=0"
Prompt A,B
solve(AX+B,X,1→Y
Disp "","LA SOLUTION","GENERALE EST",YFrac
Output(7,1,"K•^X*
Pause
ClrHome
Disp "f(X)=V
Prompt X,V
solve(K^(YX)-V,K,1→K
Disp "","LA SOLUTION","PARTICULIERE EST",YFrac,"AVEC K=
Output(6,1,"K•^X*
Output(7,8,K
Pause
Goto EQ
Lbl Q2
ClrHome
DelVar F
Disp "y''+Ay=0
Prompt A
Disp "","LA SOLUTION","GENERALE EST","AcoswX+BsinwX","AVEC w=√( )
Output(7,10,A
Pause
Goto EQ
Lbl I1
">→Str4
Goto IE
Lbl I2
"<→Str4
Goto IE
Lbl I3
"≥→Str4
Goto IE
Lbl I4
"≤→Str4
Lbl IE
ClrHome
DelVar F
Input "•",Str1
ClrHome
Input "•"+Str1+Str4,Str2
0→θ
Lbl L1
0→X
0→V
expr(Str1→A
expr(Str2→B
19→X
expr(Str1→C
expr(Str2→D
If A-B<0 and C-D<0
    1→V
If B-A<0 and C-D<0
    1→V
If θ≠1
    Disp "
Str2+"-("+Str1+")→Str3
StringEqu(Str3,Y₁
solve(Y₁,X,1)→E
If B=A or V=1
Then
    If Str4=">
        "< "→Str4
    If Str4="<
        "> "→Str4
    If Str4="≥
        "≤ "→Str4
    If Str4="≤
        "≥ "→Str4
End
If θ=1
    Goto L2
If fPart(E)≠0
    Disp "","",EFrac
Output(5,1,"▫X"+Str4
Output(5,4,E
Pause
Goto RE
Lbl I5
DelVar F
DelVar Z
Input "•",Str1
ClrHome
If length(Str1)≤10
Then
    Input "•"+Str1+"=",Str2
Else
    1→Z
    Disp Str1
    Input "=",Str2
End
Output(2,1," CALCUL • • •
Disp "","
Str2+"-("+Str1→Str3
→X
If expr(Str3)=0
Then
    Disp "▫X=
    Pause
    ­→X
    If expr(Str3)≠0
        Goto RE
End
­→X
If expr(Str3)=0
Then
    Disp "▫X=­
    Pause
    Goto RE
End
0→θ
Lbl L3
Str3→Y₁
Output(2,9,"▫
solve(Y₁,X,99)→X
Output(2,11,"▫
solve(Y₁,X,­99)→S
Output(2,13,"▫
solve(Y₁,X,0)→T
If θ=1
    Goto L4
Disp XFrac
Output(4+Z,1,"▫x₁=
If S≠X
Then
    Disp SFrac
    Output(5+Z,1,"▫x₂=
End
If T≠X and T≠S
Then
    Disp XFrac
    Output(6+Z,1,"▫x₃=
End
Pause
Goto RE
Lbl CE
" CONVERTIONS  →Str1
If ⌊SM(4)=1
    Goto PW
If ⌊SM(4)=2
    Goto CC
Lbl C9
ClrHome
0→⌊SM(4
Menu(Str1+"1 ","Unitée Puiss",UP,"Radian>Degree",RI,"Degree>Radian",DR,"m/s>Km/h",MK,"Km/h>m/s",KM,">",PW,Str8,θθ
Lbl PW
ClrHome
1→⌊SM(4
Menu(Str1+"2 ","Tr/Min>Rad/Sec",TT,"Rad/Sec>Tr/Min",RR,"Pourcentage",PC,"Simplif Degree",50,"Watt>Chevaux",CR,">",CC,Str8,θθ
Lbl CC
ClrHome
2→⌊SM(4
"FREQUENCE hz    →Str0
"TEMPS sec       →Str2
"PULSATION /s   →Str3
Menu(Str1+"3 ","Horaire",C3,"Freq>Temps",C4,"Temps>Freq",C5,"Pulsation>Freq",C6,"Freq>Pulsation",C7,">",C9,Str8,θθ
Lbl C6
Input Str3,A
Disp Str0,A/(2π
Pause
Goto CC
Lbl C7
Input Str0,A
Disp Str3,2πA
Pause
Goto CC
Lbl C3
Input "JOURS:",D
Input "HEURES:",A
Input "MINUTES:",B
Input "SECONDES:",C
ClrHome
Disp "JOURS",D+A/24+B/1440+C/86400,"","HEURES",D24+A+B/60+C/3600
Pause
ClrHome
Disp "MINUTES",1440D+60A+B+C/60,"","SECONDES",3600A+60B+C+86400D
Pause
Goto CC
Lbl C4
Input Str0,A
Disp Str2,A
Pause
Goto CC
Lbl C5
Input Str2,A
Disp Str0,A
Pause
Goto CC
Lbl CR
Input "WATT ",X
Disp "","CHEVAUX",.00136X
Pause
Goto PW
Lbl 50
Degree
DelVar F
Input "Degree ",A
abs(A→A
For(B,1,9999
    If A≤360
        Goto 55
    A-360→A
End
Lbl 55
Disp "EQUIVAUT A",A,"Degree   (⁺360k)
Pause
ClrHome
Radian
Disp "SOIT",A°,"Radian
Pause
Goto PW
Lbl UP
.5→B
Input "NBR A CONVERTIR?",A
"----<UNITES>----→Str1
0→E
Lbl H
ClrHome
Disp Str1,"A GIGA   B MEGA","D KILO   E HECTO","I DECA   J Base","N DECI   O CENTI","S MILLI  T MICRO","X NANO   Y PICO
Output(8,1,"----------------
0→G
While G=0
    getKey→G
End
0
If G=41
    9
If G=42
    6
If G=51
    3
If G=52
    2
If G=61
    1
If G=62
    0
If G=71
    ­1
If G=72
    ­2
If G=81
    ­3
If G=82
    ­6
If G=91
    ­9
If G=92
    ­12
Ans→B
If B=.5
    Goto H
If E=0
Then
    B→C
    "-<CONVERTIR EN>-→Str1
    1→E
    Goto H
End
If B=C
    Goto H
C-B→E
A10^E→F
ClrHome
C→G
0→H
Lbl HH
"
If G=9
    "GIGA
If G=6
    "MEGA
If G=3
    "KILO
If G=2
    "HECTO
If G=1
    "DECA
If G=­1
    "DECI
If G=­2
    "CENTI
If G=­3
    "MILLI
If G=­6
    "MICRO
If G=­9
    "NANO
If G=­12
    "PICO
Ans→Str1
If H=0
Then
    1→H
    Str1→Str2
    B→G
    Goto HH
End
Disp "CONVERSION FAITE","","▫",Str2,"","▫",Str1
Output(3,2,A
Output(6,2,F
Pause
Goto CE
Lbl RR
Input "W ? (EN Rad/Sec)",W
Disp "","N=",W/(π/30),"En Tr/Min
Pause
Goto PW
Lbl TT
Radian
Input "N ? (EN Tr/Min) ",N
(πN)/30→W
Disp "","W=",W,"EN Rad/Sec
Pause
Goto PW
Lbl PC
Input "TOTAL:",A
Input "CHOIX:",B
Fix 5
Disp (B/A)100
Output(3,15,"I%
Output(3,15,"
Pause
Float
Goto PW
Lbl KM
Input "Km/h=",A
A/3.6→A
Disp "m/s=",A
Pause
Goto CE
Lbl MK
Input "m/s=",A
A3.6→A
Disp "Km/h=",A
Pause
Goto CE
Lbl RI
Degree
Input "Radian ",A
A→A
DelVar F
Fix 3
Disp A
Float
Output(2,16,"°
Pause
Goto CE
Lbl DR
Radian
Input "Degree ",A
Disp A°
Output(2,16,"
Output(3,15,"*π
Output(3,11,round(A°/π,3
Pause
Goto CE
Lbl NP
ClrHome
Menu("         DIVERS ","Nombre Premier",NN,"PGCD and PPCM",PG,"Les Racines",TR,"Images",IM,"Vecteurs",LF,Str8,θθ
Lbl ST
ClrHome
Menu("         SUITES ","Arithmétiques",AR,"Geométriques",GE,"Trouver",TS,Str8,θθ
Lbl TS
Disp "ENTRE 3 TERMES","CONNUS"
Prompt A,B,C
Input "1er RANG:",X
ClrHome
Disp "SUITE
If AC=B²
Then
    Disp "GEOMETRIQUE","DE RAISON",B/AFrac,"1er TERME Uo",A^(X+1)*B^(­X)Frac
    If A≠B
    Then
        Pause
        Goto ST
    End
    Pause
    ClrHome
End
If B=(A+C)/2
Then
    Disp "ARITHMETIQUE","DE RAISON",B-AFrac,"1er TERME Uo:",A(X+1)-XBFrac
    Pause
    Goto ST
End
Disp "NON CONNUE"
Pause
Goto ST
Lbl AR
ClrHome
Menu("  ARITHMETIQUES ","Terme défini",TD,"Somme",SO,Str8,ST
Lbl GE
ClrHome
Menu("   GEOMETRIQUES ","Terme Défini",Rθ,"Somme",OS,Str8,ST
Lbl Rθ
Input "RAISON:",R
Input "1er TERME:",U
Input "TERME CHOISIS:",N
Disp "","","U",R^N*U
Output(6,2,N
Pause
Goto GE
Lbl OS
Input "RAISON:",R
Input "1er TERME:",A
Input "NOMBRE TERMES:",N
Disp "","SOMME
",A(1-R^N)/(1-R
Pause
Goto GE
Lbl TD
Input "RAISON:",R
Input "1er TERME:",U
Input "TERME CHOISIS:",N
Disp "","U",RN+U
Output(5,2,N
Pause
Goto AR
Lbl SO
ClrHome
Input "NOMBRE TERMES:",N
Input "1er TERME:",A
Input "DERNIER TERME:",B
Disp "","SOMME
",N(A+B)/2
Pause
Goto AR
Lbl Eθ
DelVar F
Input "f(X)=",Str1
Input "g(X)=",Str2
If Str1=Str2
    Goto EE
Disp "","INTERVAL
Input "MINI:",M
Input "MAXI:",N
"LA COURBE F(X)  EST AU →Str4
"  DE G(X) DANS CETINTERVAL→Str5
int((N-M)/10→A
If A=0
    .1→A
Str1→Y₁
Str2→Y₂
For(Y,M,N,A
    Y→X
    If X=0
        .01→X
    If Y₁<Y₂
        Goto E1
End
Str4+"DESSUS "+Str5→Str4
Goto E3
Lbl E1
For(Y,M,N,A
    Y→X
    If X=0
        .01→X
    If Y₁>Y₂
        Goto E2
End
Str4+"DESSOUS"+Str5→Str4
Goto E3
Lbl E2
"F(X) ET G(X) SE CROISENT DS CET INTERVAL→Str4
Lbl E3
Output(4,1,Str4
DelVar Str4
Pause
Goto EE
Lbl LF
ClrHome
Menu("       VECTEURS ","Coord Millieux",FM,"Coord Vecteur",CV,"Distance",D0,"Colineaire",CO,Str8,NP
Lbl D0
Disp "PT 1
Prompt X,Y
X→S
Y→T
Disp "PT 2
Prompt X,Y
√((X-S)²+(Y-T)²)→θ
Disp "DISTANCE:",θ
Pause
Goto LF
Lbl IV
ClrDraw
Horiz
Radian
Horizontal 10
Vertical ­10
Vertical 10
Line(­7.4,6,­7.44,­4
Line(­6.8,6,­7.2,6.6
Line(­8,­4,­7.7,­4.7
Text(2,17,"b
Text(18,17,"a
Disp "
Input "f(X)=",Str1
Text(10,21,Str1+" dx
ClrHome
Disp "
Input "BORNE INFERIEURE",Str2
Text(18,17,Str2
ClrHome
Disp "
Input "BORNE SUPERIEURE",Str3
Text(2,17,Str3
expr(Str2→B
expr(Str3→A
Str1→Y₁
fnInt(Y₁,X,A,B)→X
ClrHome
Disp "","L'INTEGRALE EST",abs(XFrac
Output(4,13,"u.a.
Pause
ClrHome
Disp "","VALEUR MOYENNE",(1/(B-A))abs(X
Pause
ClrHome
DelVar F
Disp "UNITE GRAPH (cm)
Input "•ABSCISSE
",A
Input "•ORDONNES
",B
ClrHome
Disp "> AIRE",abs(ABX
Output(3,14,"cm²
Pause
Degree
Full
FnOff
Goto θθ
Lbl IM
1/99→X
DelVar F
Input "f(X)=",Str1
Disp "","POUR QUITTER","TAPE X","
Str1→Y₀
Lbl I6
Input "IMAGE? ",A
If A=X
    Goto NP
Disp Y₀(A)Frac
Goto I6
Lbl PG
Disp " ENTRER NOMBRES","
Input "N1:",A
Input "N2:",B
lcm(A,B→C
gcd(A,B→D
ClrHome
Disp "PGCD:",D,"PPCM:",C
Pause
Goto NP
Lbl NN
Input "NOMBRE:",N
1→A
Lbl 1K
A+1→A
If A*A≤N
Then
    If fPart(N/A)=0
    Then
        N/A→B
        ClrHome
        Disp "DIVISIBLE PAR LE","",A,B
        Output(3,1,"⁺PETIT
        
        Output(4,1,"⁺GRAND
        
        Goto 2K
    Else
        Goto 1K
    End
Else
    If N≠0
    Then
        Disp "NOMBRE PREMIER"
        Goto 2K
    Else
        Disp R,"NUL!"
        Goto 2K
    End
End
Lbl 2K
Pause
Goto NP
Lbl CS
ClrHome
"ERREUR→Str1
Str1→Str2
Z→X
Menu("      COMPLEXES ","TrigoSolveur",AG,"Algébrique",AQ,"Polare",PO,"Exponentiel",EX,"Transformation",TF,"Tracer a+b",OO,Str8,θθ
Lbl TF
Radian
ClrHome
Menu(" SOUS LA FORME  ","f=z->z+a",C1,"f=z->^(θ)Z",C2,Str8,CS
Lbl C1
Input "f=z->z+",Z
Disp "","LA TRANSFORMATI.","ASSOCIE A f EST","UNE TRANSLATION","DE VECTEUR u","ET D'AFFIXE
Output(7,13,Z
Pause
Goto TF
Lbl C2
Input "f=z->^(*",Z
Disp "","LA TRANSFORMATI.","ASSOCIE A f EST","UNE ROTATION","DE CENTRE O ET","D'ANGLE
Output(7,9,Z
Pause
Goto TF
Lbl EX
DelVar F
Disp "Z=r^θ
Input "▫r=",Str1
Input "▫θ=",Str2
expr(Str1→A
expr(Str2→B
0→H
Goto Wθ
Lbl θW
A(cos(B)+sin(B))→C
Disp "","Z=","","Z=["+Str1+","+Str2+"]
Output(5,3,round(C,3
Pause
Goto CS
Lbl AQ
Input "Z=",Z
abs(Z)→M
Disp "","CONJUGUE",conj(Z),"","MODULE",M
DelVar K
If fPart(round(M²,5))=0 and fPart(M)≠0
Then
    1→K
    Output(8,6,"√(
    Output(8,7,M²
End
Pause
ClrHome
Degree
Disp "ARGUMENT Degree",angle(Z),"ARGUMENT Radian
Radian
Disp angle(Z
Output(5,11,round(angle(Z)/π,3
Output(5,15,"•π
Output(7,1,"Z=[√( ,   ]
Degree
If K=1
Then
    Output(7,5,abs(Z)²
Else
    Output(7,5,"
    Output(7,4,round(abs(Z),1
End
Output(7,8,round(angle(Z),1
DelVar F
Pause
r^θ
ClrHome
Disp "FORME EXPO DEG
Pause Z
Disp "","FORME EXPO RAD
Radian
Pause Z
Real
Goto CS
Lbl PO
DelVar F
Disp "Z=[r,θ]
Input "▫r=",Z
Input "▫θ=",θ
1→H
Lbl Wθ
Menu(" AVEC θ EN      ","Radian",RD,"Degree",DG
Lbl RD
Radian
Goto P0
Lbl DG
Degree
Lbl P0
If H=0
    Goto θW
Z(cos(θ)+sin(θ))→A
round(A,0)→A
Disp "","Z=","","Z=
a+b
Output(5,3,A
r^θ
Output(7,3,A
Real
Pause
Goto CS
Lbl AG
Input "Z=",Z
Z→X
abs(Z)→M
real(Z)/M→R
imag(Z)/M→I
Disp "","CONJUGUE","","","MODULE
Output(4,1,conj(Z
DelVar A
If fPart(round(M²,5))=0 and fPart(M)≠0
Then
    1→A
    Output(7,1,"√(
    Output(7,2,M²
Else
    Output(7,1,M
End
Pause
ClrHome
Disp "Soit θ un arg(Z)"," ▫cos(θ)="," ▫sin(θ)=
"ERREUR
If R=1
    "1
If R=­1
    "­1
If R=0
    "0
If R=.5
    "1/2
If R=­.5
    "­1/2
If R=√(2)/2
    "√(2)/2
If R=­√(2)/2
    "­√(2)/2
If R=√(3)/2
    "√(3)/2
If R=­√(3)/2
    "­√(3)/2
Ans→Str1
"ERREUR
If I=1
    "1
If I=­1
    "­1
If I=0
    "0
If I=.5
    "1/2
If I=­.5
    "­1/2
If I=√(2)/2
    "√(2)/2
If I=­√(2)/2
    "­√(2)/2
If I=√(3)/2
    "√(3)/2
If I=­√(3)/2
    "­√(3)/2
Ans→Str2
Output(2,10,Str1
Output(3,10,Str2
R→C
I→S
DelVar θ
Lbl T1
"ERREUR
If C=1 and S=0
    "0
If C=√(3)/2 and S=.5
    "π/6
If C=√(2)/2 and S=C
    "π/4
If C=1/2 and S=√(3)/2
    "π/3
If C=0 and S=1
    "π/2
If C=­1 and S=0
    "π
If C=­√(3)/2 and S=.5
    "5π/6
If C=­√(2)/2 and S=­C
    "3π/4
If C=­1/2 and S=√(3)/2
    "2π/3
If C=√(3)/2 and S=­.5
    "­π/6
If C=√(2)/2 and S=­C
    "­π/4
If C=1/2 and S=­√(3)/2
    "­π/3
If C=0 and S=­1
    "­π/2
If C=­√(3)/2 and S=­.5
    "­5π/6
If C=­√(2)/2 and S=C
    "­3π/4
If C=­1/2 and S=­√(3)/2
    "­2π/3
Ans→Str1
Output(5,3,"θ="+Str1
If sub(Str1,1,1)≠"E
    Output(5,11,"+2kπ
If θ=.5
    Goto T2
Output(7,1,"Z=[√( ,"+Str1+"]
If A=1
Then
    Output(7,5,M²
Else
    Output(7,4,"
    Output(7,5,M
End
Pause
ClrHome
Output(1,1,"FORME TRIGO
Output(3,1,"Z=√(•(cos("+Str1+")+sin("+Str1+"))
If A=1
Then
    Output(3,4,M²
Else
    Output(3,3,"
    Output(3,4,M
End
Output(6,1,"FORME EXPO
Output(8,1,"Z=√(•^("+Str1+")
If A=1
Then
    Output(8,4,M²
Else
    Output(8,3,"
    Output(8,4,M
End
Pause
Goto CS
Lbl OO
DelVar F
Input " Z=",X
5→Xmax
­5→Xmin
5→Ymax
­5→Ymin
If real(X)≥5
    real(X)+2→Xmax
If real(X)≤­5
    real(X)-2→Xmin
If imag(X)≥5
    imag(X)+2→Ymax
If imag(X)≤­5
    imag(X)-2→Ymin
AxesOn
Pt-On(real(X),imag(X),3
Pt-Off(real(X),imag(X
Pause
Goto CS
Lbl TR
ClrHome
Menu("        RACINES ","Simplif Racine",SR,"Trouver Racine",RT,Str8,NP
Lbl RT
Input "VALEUR APPROCHEE",A
round(A²,0→X
Disp "","√(","",√(X
Output(4,3,X
Output(4,int(log(X))+4,")
Pause
Goto TR
Lbl CV
Disp "VECTEUR AB
Disp "PT A
Prompt X,Y
X→A
Y→B
Disp "PT B
Prompt X,Y
X-A→E
Y-B→G
ClrHome
Disp "COORD VECTEUR",E,G
Output(2,1,"▫x
Output(3,1,"▫y
Pause
Goto LF
Lbl CO
Disp "VECTEUR AB
Prompt X,Y
X→A
Y→B
Disp "VECTEUR CD
Prompt X,Y
det([[A,B][X,Y]])→θ
ClrHome
Disp "det(XY₁,XY₂)=",θ
If θ=0
    Disp "COLINEAIRE
If θ≠0
    Disp "NON COLINEAIRE
Pause
Goto LF
Lbl FM
Disp "VECTEUR AB
Disp "PT A
Prompt X,Y
X→A
Y→B
Disp "PT B
Prompt X,Y
ClrHome
Disp "MILLIEU DE AB",(A+X)/2,(B+Y)/2
Output(2,1,"▫x
Output(3,1,"▫y
Pause
Goto LF
Lbl DE
ClrHome
Disp "•Ax²+Bx+C=0","
Input "▫A=",A
Input "▫B=",B
Input "▫C=",C
Lbl DL
B²-4AC→D
Disp "","=B²-4AC=",DFrac
Pause
ClrHome
If D=0
Then
    Disp "L'EQN ADMET UNE","UNIQUE SOLUTION","","▫Xo=",­B,"",2A
    Output(6,11,"------
    Pause
    Goto RE
End
If D<0
Then
    Disp "L'EQU ADMET DEUX","RACINES COMLEXES","CONJUGUES
    Pause
    ClrHome
    ­B+√(­D)→X
    Disp "Z1=",XFrac,"",2AFrac,"","▫Z1=
    Output(3,11,"------
    Pause X/(2A)Frac
    ClrHome
    conj(X)→X
    Disp "Z2=",XFrac,"",2AFrac,"","▫Z2=
    Output(3,11,"------
    Pause X/(2A)Frac
    Goto RE
End
Pause "2 SOLUTIONS REEL
ClrHome
Disp "x₁=",D,"",A
Output(2,8,­B
Output(3,9,"--------
Output(2,11,"+√(
Output(4,12,"2•
Disp "","▫x₁=",(­B+√(D))/(2A)Frac
Pause
ClrHome
Disp "x₂=",D,"",A
Output(2,8,­B
Output(3,9,"--------
Output(2,11,"-√(
Output(4,12,"2•
Disp "","▫x₂=",(­B-√(D))/(2A)Frac
Pause
Goto RE
Lbl BA
Disp "Point A
Input "•x=",A
Input "•y=",B
Disp "Point B
Input "•x=",C
Input "•y=",D
{A,C→L₁
{B,D→L₂
{A,B→L₃
{C,D→L₄
If A=C and B=D
    Goto BA
LinReg(ax+b)
ClrHome
Disp "A",L₃,"B",L₄,"Y=ax+b","▫a=","▫b="
Output(6,4,round(a,8
Output(7,4,round(b,8
Pause
Goto EE
Lbl θ
ClrHome
Menu("      GEOMETRIE ","Volume",CF,"Aire",AX,"Périmetre",PE,"Surface",SU,"Pythagore",PY,"Barycentre",P1,Str8,θθ
Lbl P1
ClrHome
"(X⌊LA+Y⌊LB+Z⌊LC)/(X+Y+Z→⌊G
DelVar θ
Menu("     BARYCENTRE ","2 Points",2P,"3 Points",3P,Str8,θ
Lbl 3P
1→θ
Lbl 2P
Disp "⌊A ⌊B ET ⌊C SONT","DES LISTES","
Input "⌊A={",Str3
expr("{"+Str3→⌊LA
Prompt X
Input "⌊B={",Str4
expr("{"+Str4→⌊LB
Prompt Y
0→Z
⌊LA→⌊LC
If θ≠1
    Goto 4P
Input "⌊C={",Str5
expr("{"+Str5→⌊LC
Prompt Z
Lbl 4P
Disp ""," <>
Pause ⌊GFrac
DelVar ⌊LA
DelVar ⌊LB
DelVar ⌊LC
DelVar ⌊G
Goto θ
Lbl PE
Menu("","CERCLE",13,"POLYGONE",25
Lbl SU
Menu("","BOULE",21,"CYLINDRE",24,"PRISME DROIT",26
Lbl 13
Input "RAYON:",R
Disp 2πR
Pause
Goto θ
Lbl 21
Input "RAYON:",R
Disp 4πR²
Pause
Goto θ
Lbl 24
Input "RAYON:",R
Input "HAUTEUR:",H
Disp 2πRH
Pause
Goto θ
Lbl 25
Input "COTE:",A
Input "NBRE COTE:",B
Disp AB
Pause
Goto θ
Lbl 26
Input "PERI BASE ",P
Input "HAUTEUR ",H
Disp PH
Pause
Goto θ
Lbl CF
ClrHome
Menu("","PAVE DROIT",CG,"PRISME DROIT",10,"PYRAMIDE",CI,"CYLINDRE",CJ,"CONE",CN,"BOULE",CK
Lbl CG
Input "LONGUEUR:",L
Input "LARGEUR:",A
Input "HAUTEUR:",H
LAH→V
Goto CM
Lbl 10
Input "AIRE DE BASE:",B
Input "HAUTEUR:",H
BH→V
Goto CM
Lbl CI
Input "AIRE DE BASE:",B
Input "HAUTEUR:",H
(1/3)BH→V
Goto CM
Lbl CN
Input "RAYON BASE:",R
Input "HAUTEUR:",H
(1/3)πR²H→V
Goto CM
Lbl CJ
Input "RAYON BASE:",R
Input "HAUTEUR:",H
πR²H→V
Goto CM
Lbl CK
Input "RAYON:",R
(4/3)πR^3→V
Lbl CM
ClrHome
Disp "▫VOLUME
",V
Pause
Goto θ
Lbl AX
Menu("","CARRE",AY,"RECTANGLE",AZ,"TRIANGLE",θA,"PARALLELOGRAMME",BB,"DISQUE",BC,"LOSANGE",θD,"TRAPEZE",BE
Lbl AY
Input "COTE:",C
CC→A
Goto BF
Lbl AZ
Input "LONGUEUR:",L
Input "LARGEUR:",G
LG→A
Goto BF
Lbl θA
Input "BASE:",B
Input "HAUTEUR:",H
(BH)/2→A
Goto BF
Lbl BB
Input "BASE:",B
Input "HAUTEUR:",H
BH→A
Goto BF
Lbl BC
Input "RAYON:",R
πR²→A
Goto BF
Lbl θD
Input "GR DIAG.:",D
Input "PT DIAG.:",B
DB/2→A
Goto BF
Lbl BE
Input "GR BASE:",B
Input "PT BASE:",P
Input "HAUTEUR:",H
(B+P)H/2→A
Lbl BF
ClrHome
Disp "▫AIRE
",AFrac
Pause
Goto θ
Lbl SY
ClrHome
Menu("       SYSTEMES ","2 Inconnus",2I,"SystemSolveur",3I,"Produit-Somme",PS,Str8,θθ
Lbl PS
Input "x₁•x₂=",C
Input "x₁+x₂=",B
1→A
­B→B
Goto DL
Lbl 2I
Disp "A•x+B•y=C","D•x+E•y =F","
Prompt A,B,C,D,E,F
rref([[A,B,C][D,E,F]]→[A]
ClrHome
Disp " x=",[A](1,3)Frac," y=",[A](2,3)Frac
Pause
Goto SY
Lbl 3I
"ABCDEFGHIJKLMNOPQRST→Str3
Input "INCONNUS:",I
If I≤1 or I≥21 or fPart(I)≠0
Then
    Disp "ENTRE 2 ET 20 !
    Pause
    Goto SY
End
DelVar [B]
{I,I+1}→dim([B]
For(C,1,I
    "→Str2
    For(L,1,I+1
        ClrHome
        Disp "LIGNE","COLONNE","
        Output(1,7,C
        Output(2,9,L
        If L≠I+1
            Output(6,1,"*"+sub(Str3,L,1
        Input Str2,Str1
        If L=1
            Str1+"+→Str2
        If L≠1 and L≠I
            Str2+Str1+"+→Str2
        If L=I
            Str2+Str1+"=→Str2
        expr(Str1→[B](C,L
    End
End
rref([B]→[B]
ClrHome
0→A
For(L,1,I
    1+A→A
    Disp [B](L,I+1)Frac
    Output(A,1,"▫"+sub(Str3,L,1)+"=
    If fPart(L/7)=0
    Then
        Pause
        0→A
        ClrHome
    End
End
DelVar [B]
DelVar Str3
Pause
Goto SY
Lbl DT
AxesOff
FnOff
0→θ
ClrHome
Menu("     DERIVATION ","Tableau Variat",AK,"Dérivation",Dθ,"Vérification",V9,"Déri Successiv",V8,"Formules",TV,Str8,θθ
Lbl TV
ClrDraw
DelVar F
Horizontal 10
Horizontal 7.5
Horizontal ­10
Vertical ­10
Vertical 10
Menu("       FORMULES ","f(X) > f'(X)",FX,"fou > (fou)'",FU,"Opérations",OP,Str8,DT
Lbl FX
Text(1,9,"f(X)
Text(1,50,"f'(X)
Text(9,9,"X
Text(9,50,"1
Text(15,9,"X²
Text(15,50,"2X
Text(21,9,"X^n
Text(21,50,"n•X^(n-1)
Text(27,9,"1/X
Text(27,50,"­1/X²
Text(33,9,"1/X^n
Text(33,50,"­n/X^(n+1)
Text(39,9,"√(X)
Text(39,50,"1/2√(X)
Text(45,9,"sin(X)
Text(45,50,"cos(X)
Text(51,9,"cos(X)
Text(51,50,"­sin(X)
Pause
For(X,­8,9,.2
    Line(X,7,X,­9,0
End
Text(9,9,"ln(X)
Text(9,50,"1/X
Text(15,9,"tan(X)
Text(15,50,"1/cos(X)²
Pause
Goto TV
Lbl FU
Text(1,9,"fou
Text(1,40,"(fou)'
Text(9,9,"U
Text(9,40,"U'
Text(15,9,"U²
Text(15,40,"2U•U'
Text(21,9,"U^n
Text(21,40,"n•U^(n-1)•U'
Text(27,9,"1/U
Text(27,40,"­U'/U²
Text(33,9,"1/U^n
Text(33,40,"­(n•U')/U^(n+1)
Text(39,9,"√(U)
Text(39,40,"U'/2√(U)
Text(45,9,"sin(U)
Text(45,40,"U'•cos(U)
Text(51,9,"cos(U)
Text(51,40,"­U'•sin(U)
Pause
Goto TV
Lbl OP
Text(15,10,"(k•U)'=k•U'
Text(25,10,"(U+V)'=U'+V'
Text(35,10,"(U•V)'=U'•V+U•V'
Text(45,10,"(U/V)'=(U'•V-U•V')/V²
Pause
Goto TV
Lbl Dθ
1→θ
Lbl AK
Degree
ClrDraw
ClrHome
DelVar F
Disp "POSSEDER LES APP","▫PRETTY PRINT","▫SYMBOLIC
EquString(Y₁,Str2
EquString(Y₂,Str3
0→G
While G=0
    getKey→G
End
ClrHome
Output(5,1,"PRECEDENTES
Output(6,8,"FONCTIONS
Output(7,1,"1•Y₁=
Output(7,6,Str2
Output(8,1,"2•Y₂=
Output(8,6,Str3
Input "f(X)=",Str0
If Str0="1
    Str2→Str0
If Str0="2
    Str3→Str0
StringEqu(Str0,Y₁
real(12,Str0,"X"→Str1
StringEqu(Str1,Y₂
Lbl Zθ
real(19,"f'(X)="+Str1
If θ=1
    Goto DT
Lbl 2
"]→Str4
For(X,1,2
    ClrHome
    Disp "INTERVAL
    Output(6,1,"TAPEZ
    Output(7,3,"- POUR ­L'INF
    Output(8,3,"+ POUR ⁺L'INF
    Input Str4,Str5
    0→A
    If Str5="-
    Then
        "­INF→Str5
        1→A
    End
    If Str5="+
    Then
        "⁺INF→Str5
        2→A
    End
    If A=0
        expr(Str5→L₁(X
    If A=1
        ­19→L₁(X
    If A=2
        19→L₁(X
    If X=1
        "]"+Str5+","→Str4
    If X=2
        Str4+Str5+"[→Str4
End
L₁(1→I
L₁(2→J
DelVar L₁
DelVar Str5
ClrHome
If I≥J
    Goto 2
ClrHome
Output(2,2,"CALCUL EN COUR
Output(6,1,"f(X)="+Str0
Output(7,1,"f'(X)="+Str1
Output(8,1,"SUR "+Str4
DelVar Str4
Output(3,6,"°
20→R
DelVar L₁
DelVar L₂
(J-I)/R→P
Output(3,7,"°
seq(nDeriv(Y₁,X,A),A,I,J,P)→L₁
Output(3,8,"°°
R→dim(L₁
For(A,1,R
    If L₁(A)>0
        1→L₁(A)
    If L₁(A)<0
        ­1→L₁(A)
    If L₁(A)=0
        0→L₁(A)
End
Output(3,10,"°°
FnOff
AxesOff
0→Xmin
94→Xmax
0→Ymin
62→Ymax
ClrHome
Horizontal 0
Horizontal 1
Horizontal 62
Horizontal 61
Vertical 0
Vertical 94
Horizontal 50
Horizontal 38
Vertical 18
Pxl-Off(0,0
Pxl-Off(0,94
Pxl-Off(62,0
Pxl-Off(62,94
Text(3,6,"x
Text(15,2,"f'(x)
Text(40,2,"f(x)
Text(3,20,"I-
Text(3,86,"I+
If inString(Str0,"X")=0
    Goto C
0→B
0→dim(L₂
For(A,1,R-1
    If L₁(A)=0
    Then
        B+1→B
        B→dim(L₂
        I+(A-1)P→L₂(B
    End
    If L₁(A)=­L₁(A+1)
    Then
        B+1→B
        B→dim(L₂
        solve(Y₂,X,I+AP-.5P,{I+(A-1)P,I+AP})→L₂(B
    End
End
If B>8
Then
    ClrHome
    Disp "TROP DE","VARIATIONS
    Pause
    ClrHome
    Return
End
If B=0
    Goto S
"abcdefgh→Str2
int(70/(B+1))→Q
For(A,1,B
    int(A(70/(B+1)))+20→C
    Text(3,C,sub(Str2,A,1))
    Text(15,C,0
End
B-(L₂(dim(L₂))=J)→B
For(A,0,B
    int(20+(A+.5)Q)→D
    If 0=A
        nDeriv(Y₁,X,(2*L₂(1)-.1)/2)→C
    If dim(L₂)=A
        nDeriv(Y₁,X,(2*L₂(A)+.1)/2)→C
    If dim(L₂)>A and A>0
        nDeriv(Y₁,X,(L₂(A)+L₂(A+1))/2)→C
    If C>0
    Then
        Text(15,D,"+
        Line(AQ+23,3,AQ+Q+20,35
    End
    If C<0
    Then
        Line(AQ+23,35,AQ+Q+20,3
        Text(15,D,"-
    End
End
Goto F
Lbl S
If nDeriv(Y₁,X,(I+J)/2)>0
Then
    Text(15,55,"+
    Line(23,3,90,35
End
If nDeriv(Y₁,X,(I+J)/2)<0
Then
    Text(15,55,"-
    Line(23,35,90,3
End
0→B
Pause
Goto E
Lbl C
0→B
Line(23,18,90,18
Pause
Goto E
Lbl F
Pause
ClrHome
Disp "▫f'(X)=0 POUR
For(A,1,dim(L₂
    Disp sub(Str2,A,1)+"=",L₂(A)Frac
    Pause
    ClrHome
End
Lbl E
If B>7
Then
    Disp "▫f(H)=",Y₁(L₂(8))Frac
    Pause
End
If B>6
Then
    Disp "▫f(G)=",Y₁(L₂(7))Frac
    Pause
End
If B>5
Then
    Disp "f(F)=",Y₁(L₂(6))Frac
    Pause
End
If B>4
Then
    Disp "▫f(E)=",Y₁(L₂(5))Frac
    Pause
End
If B>3
Then
    Disp "▫f(D)=",Y₁(L₂(4))Frac
    Pause
End
If B>2
Then
    Disp "▫f(C)=",Y₁(L₂(3))Frac
    Pause
End
If B>1
Then
    Disp "▫f(B)=",Y₁(L₂(2))Frac
    Pause
End
If B>0
Then
    Disp "▫f(A)=",Y₁(L₂(1))Frac
    Pause
End
ClrHome
Disp "f(INTERVAL MIN)=
If I=­19 and abs(Y₁(I))≥19
Then
    If Y₁(I)≤­19
        Output(2,14,"-OO
    If Y₁(I)≥19
        Output(2,14,"+OO
    Disp "
Else
    Disp Y₁(I)Frac
End
Disp "","f(INTERVAL MAX)=
If J=19 and abs(Y₁(J))≥19
Then
    If Y₁(J)≥19
        Output(5,14,"+OO
    If Y₁(J)≤­19
        Output(5,14,"-OO
Else
    Disp Y₁(J)Frac
End
Pause
Float
Goto DT

Re: [Projet] Supramaths 5 : Advanced/CE

Message non luPosté: 11 Juin 2016, 20:47
de GalacticPirate
Merci Adriweb :D Je comptais utiliser ça en plus :p En gros, j'attends de faire le plein de suggestions, comme ça on s'y mettra un peu plus tard (après mon oral de Français :p) Le code de AlgebrePOWA par exemple commence bien, mais la fin est torchée :troll:

Re: [Projet] Supramaths 5 : Advanced/CE

Message non luPosté: 11 Juin 2016, 22:11
de Hamza.S
les profs de Maths peuvent aider, ils connaissent des méthodes qui simplifient la plupart du travail, par exemple la méthode RPN, que je n'ai toujours pas compris, elle peut aider pour le programme de dérivée

Re: [Projet] Supramaths 5 : Advanced/CE

Message non luPosté: 12 Juin 2016, 08:18
de Wistaro
Adriweb a écrit:Je n'ai pas non plus l'OS 5.2, hein :P (Et puis, si je l'avais, je le partagerais pas :D)

Il sera disponible pour la rentrée, donc c'est pas bien long.
En attendant le toString(XXXX officiel de la 5.2, tu peux utiliser XXXX:Asm(prgmTOSTR de Mateo, comme annoncé ici

Edit: d'ailleurs, voici une version réindentée de la v4 (certes, c'est seulement un poil mieux :P)
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Tout sélectionner
AxesOff
ClrDraw
FnOff
GridOff
Full
Real
Func
Float
Normal
PlotsOff
ClrHome
ZStandard
DelVar F
4→dim(⌊SM
1+⌊SM(3→⌊SM(3
If 0≠⌊SM(2
Then
    Input "•CODE SUPRAMATH•",A
    If Aπ≠⌊SM(2
        Goto QU
End
"Retour→Str8
Lbl θθ
ClrHome
⌊SM(1)→G
If F=π
Then
    DispGraph
    If G=0
        Goto θ3
    Goto θ4
End
π→F
ClrDraw
Radian
AxesOff
FnOff
ZStandard
Line(­9.5,10,.2,10
Line(5,10,9.5,10
Pt-On(­9.8,9.7
Pt-On(.5,9.6
Pt-On(4.9,9.7
Pt-On(9.8,9.7
Text(1,5,"SUPRA MATH 4
If G=0
Then
    Text(­1,2,54,">>
    Text(1,72,"PAGE 1
Else
    Text(­1,2,55,"<<
    Text(1,72,"PAGE 2
End
Line(.6,9.3,.6,7.4
Line(4.7,9.3,4.7,7.4
Pt-On(.8,7
Pt-On(4.5,7
Line(1,6.7,4.2,6.7
Line(­10,9.3,­10,­9.3
Line(10,9.3,10,­9.3
Pt-On(­9.8,­9.7
Pt-On(9.8,­9.7
Line(9.5,­10,­9.5,­10
If G=0
    Goto θ1
Goto θ2
Lbl θ1
Text(11,3,"1•Dérivation
Text(17,3,"2•Complexes
Text(23,3,"3•Equations
Text(29,3,"4•Systèmes
Text(35,3,"5•Droites et Courbes
Text(41,3,"6•Intégrales
Text(47,3,"7•Log et Expo
Text(53,3,"8•Limites
Lbl θ3
0→G
While G=0
    getKey→G
End
If G=21 or G=26 or G=105
Then
    Text(­1,2,56,">>
    1→⌊SM(1
    DelVar F
    Goto θθ
End
If G=22 or G=23 or G=45
    Goto QU
If G=92
    Goto DT
If G=93
    Goto CS
If G=94
    Goto RE
If G=82
    Goto SY
If G=83
    Goto EE
If G=84
    Goto IV
If G=72
    Goto LE
If G=73
    Goto WW
If G=32
    Goto IN
If G=55
    Goto CD
If G=31
    Goto CH
Goto θ3
Lbl θ2
Text(11,3,"1•Les Sutes
Text(17,3,"2•Probabilitées
Text(23,3,"3•Trigonométrie
Text(29,3,"4•Géométrie
Text(35,3,"5•Equa Diff
Text(41,3,"6•Conversions
Text(47,3,"7•Calcul Formel
Text(53,3,"8•Divers
Lbl θ4
0→G
While G=0
    getKey→G
End
If G=24 or G=105 or G=21
Then
    Text(­1,2,53,"<<
    0→⌊SM(1
    DelVar F
    Goto θθ
End
If G=22 or G=23 or G=45
    Goto QU
If G=92
    Goto ST
If G=93
    Goto PP
If G=94
    Goto Tθ
If G=82
    Goto θ
If G=83
    Goto EQ
If G=84
    Goto CE
If G=72
    Goto SP
If G=73
    Goto NP
If G=32
    Goto IN
If G=55
    Goto CD
If G=31
    Goto CH
Goto θ4
Lbl QU
DelVar ⌊RESID
DelVar A
DelVar B
DelVar C
DelVar D
DelVar E
DelVar F
DelVar G
DelVar H
DelVar I
DelVar J
DelVar K
DelVar L
DelVar M
DelVar N
DelVar O
DelVar P
DelVar Q
DelVar R
DelVar S
DelVar T
DelVar U
DelVar V
DelVar W
DelVar Y
DelVar Z
DelVar θ
DelVar Str0
DelVar Str1
DelVar Str2
DelVar Str3
DelVar Str4
DelVar Str5
DelVar Str6
DelVar Str7
DelVar Str8
DelVar Str9
DelVar L₁
DelVar L₂
DelVar L₃
DelVar L₄
DelVar L₅
DelVar L₆
DelVar ⌊B
AxesOn
FnOn
ClrHome
Stop
Lbl CD
"Modifier→Str1
If ⌊SM(2)=0
    "Creer→Str1
"CODE →Str2
Menu(" "+Str2+"D'ENTREE  ",Str1,UO,"Effacer",EC,Str8,θθ
Lbl EC
Input Str2+"ACTUEL     ",A
If A≠⌊SM(2)/π
    Goto θθ
0→⌊SM(2
ClrHome
Disp Str2+"EFFACE!
Pause
Goto θθ
Lbl UO
ClrHome
If ⌊SM(2)≠0
Then
    Input Str2+"ACTUEL     ",A
    If A≠⌊SM(2)/π
        Goto θθ
End
ClrHome
Input "CHOISIR UN "+Str2,A
ClrHome
Input "VALIDER LE "+Str2,B
If A≠B
    Goto CD
Aπ→⌊SM(2
ClrHome
Disp Str2+"ENREGISTRE!
Pause
Goto θθ
Lbl CH
ClrHome
Disp "• SUPRA MATH 4 •","","LE 1 FEV 2007","PAR ALBAN","FICHIER LIZEZMOI","POUR TOUT SAVOIR
Output(8,1,⌊SM(3
Output(8,3+int(log(⌊SM(3))),"UTILISATIONS
0→G
While G=0
    getKey→G
End
Goto θθ
Lbl V9
ClrHome
DelVar F
Menu("       VERIFIER ","Une Derivée",VD,"Une Primitive",VP,Str8,DT
Lbl VD
1→A
"f→Str3
"f'→Str4
"DERIVATION→Str5
Goto DI
Lbl VP
"F→Str3
0→A
"f→Str4
"PRIMITIVE→Str5
Lbl DI
Input Str3+"(X)=",Str0
Input Str4+"(X)=",Str1
3→X
Str0→Y₀
Str1→Y₁
Disp "","VOTRE "+Str5
If int(nDeriv(Y₀,X,X))=Y₁
Then
    If A=0
        Output(1,15,"⁺k
    Disp "EST CORRECTE
Else
    Disp "EST FAUSSE
End
Pause
ClrHome
Goto V9
Lbl V8
ClrHome
DelVar F
Input "f(X)=",Str1
Str1→Y₁
Disp "","NOMBRE DE
Input "DERIVATIONS:",Str3
expr(Str3→A
If A≤0
    Goto V8
Disp "","TRAVAIL...
Str1→Str2
For(Z,1,A
    real(12,Str2,"X")→Str2
End
"f^'"+Str3+"(X)=→Str3
real(19,Str3+Str2
Str2→Y₂
FnOff
ClrDraw
Goto DT
Lbl LE
ClrHome
Menu("    LOG ET EXPO ","Logarithmes",L0,"Exponentielles",X1,Str8,θθ
Lbl X1
DelVar F
FnOff
ClrDraw
Text(1,1,"PROPRIETES
Text(9,2,"^(A+B)=^(A)+^(B)
Text(15,2,"^(A-B)=^(A)/^(B)
Text(21,2,"^(­A)=1/^(A)
Text(27,2,"^(A)^B=^(A•B)
Text(34,4,"^(X)'=^(X)
Text(40,4,"^(U)'=U'^(U)
Text(47,6,"Lim ^(X)=⁺oo    X->⁺oo
Text(53,6,"Lim ^(X)=0    X->-oo
Pause
ClrDraw
Goto LE
Lbl L0
ClrHome
DelVar F
Menu("   LOG NEPERIEN ","Définition",L5,"Résolution",L6,"Simplification",Nθ,Str8,LE
Lbl Nθ
ClrHome
Input "ln(",Str1
If sub(Str1,1,1)="√(
Then
    ".5ln("+sub(Str1,2,length(Str1)-1)→Str2
    Goto Lθ
End
inString(Str1,"/")→A
If A>0
Then
    "ln("+sub(Str1,1,A-1)+")-ln("+sub(Str1,A+1,length(Str1)-A)→Str2
    If sub(Str2,1,3)="ln(1)
        sub(Str2,4,length(Str2)-3)→Str2
    Goto Lθ
End
inString(Str1,"*")→A
If A>0
Then
    "ln("+sub(Str1,1,A-1)+")+ln("+sub(Str1,A+1,length(Str1)-A)→Str2
    Goto Lθ
End
inString(Str1,"^")→A
If A>0
Then
    sub(Str1,A+1,length(Str1)-A)+"ln("+sub(Str1,1,A-1)→Str2
    Goto Lθ
End
"ln("+Str1→Str2
Lbl Lθ
Disp "","EQUIVAUT A
Output(5,1,Str2
Pause
Goto L0
Lbl L5
Input "ln(",Str1
"("+Str1→Str1
"0→Str2
">→Str4
1→θ
Disp " EXISTE SI
Goto L1
Lbl L2
Disp "X"+Str4,E,"
Disp "L'ENSEMBLE DES","DEFINITIONS EST
19→X
If sub(Str4,1,1)=">
Then
    Disp "]   ,+OO[
    Output(7,2,E
Else
    Disp "]-OO,   [
    Output(7,6,E
End
Pause
Goto L0
Lbl L6
ClrHome
Disp "ln(N)=ln(M)",""," DEF
]A,B[","
Input "N=",Str1
Input "M=",Str2
Input "A=",A
Input "B=",B
If B≤A
    Goto L0
ClrHome
Disp "ln STRICT CROISS","
1→θ
Goto L3
Lbl L4
Disp "X=",XFrac,"
If X≥B or X≤A
Then
    Disp "PAS DE SOLUTION
    Pause
    Goto L0
End
Disp "X  ]A,B[","S={  }
Output(7,4,X
Pause
Goto L0
Lbl PP
ClrHome
Menu("   PROBABILITES ","p()",XX,"p(X U Y)",UU,"Ex? Vx? σx?",ES,Str8,θθ
Lbl ES
ClrHome
Input "NOMBRE VARIABLES",V
0→C
0→D
For(X,1,V
    ClrHome
    Disp "N=","
    Output(1,3,X
    Input "x=",A
    Input "p=",B
    AB+C→C
    A²B+D→D
End
D-C²→D
√(abs(D→E
ClrHome
Disp "(ESPERANCE)",C,"(VARIANCE)",D,"(ECART TYPE)",E
Output(2,2,"▫Ex=
Output(4,2,"▫Vx=
Output(6,2,"▫σx=
Pause
Goto PP
Lbl XX
Input "▫p(X)=",A
1-A→D
Disp "","•p()=",DFrac,D
If D>1 or D<0
    Disp "ERREUR
Pause
Goto PP
Lbl UU
Input "▫p(X)=",A
Input "▫p(Y)=",B
Input "▫p(X n Y)=",C
A+B-C→D
Disp "","•p(X U Y)=",DFrac,D
If D>1 or D<0
    Disp "ERREUR
Pause
Goto PP
Lbl EE
ClrHome
Menu("      FONCTIONS ","Equ Droite",BA,"Equ Tangente",ET,"Etude Position",Eθ,"Sommet Courbe",SC,"Intersection",IT,"Parite",PA,Str8,θθ
Lbl PA
DelVar F
Input "f(X)=",Str1
Str1→Y₁
Disp "LA FONCTION EST
If Y₁(π)=Y₁(­π)
Then
    Disp "PAIRE
Else
    If Y₁(π)=­Y₁(­π
    Then
        Disp "IMPAIRE
    Else
        Disp "NI PAIRE/IMPAIRE
    End
End
Pause
Goto EE
Lbl SC
Disp "AX²+BX+C=0","
Prompt A,B,C
ClrHome
Disp "COORD DU SOMMET","","X=",­B/(2A)Frac,"Y=",A(B/(2A))²-B²/(2A)+CFrac
Pause
Goto EE
Lbl IT
Disp "DROITE 1  Y=AX+B
Prompt A,B
A→D
B→E
Disp "","DROITE 2  Y=AX+B
Prompt A,B
(B-E)/(D-A)→X
DX+E→Y
ClrHome
Disp "INTERSECTION","","X=",XFrac,"Y=",YFrac
Pause
Goto EE
Lbl IN
ClrHome
Repeat Z
    Input "",Str1
    If Str1="0
        Goto θθ
    expr(Str1→X
    Disp XFrac
End
Lbl SR
Disp "
Input " √(",E
Output(2,5+int(log(E)),")
1→B
E→Q
Repeat not(G
    0→G
    2→D
    While D²≤E and not(G
        E/D²→A
        If not(fPart(A
        Then
            A→E
            BD→B
            1→G
        End
        D+1→D
    End
End
0→θ
int(log(B→θ
int(log(E→X
Output(4,3+θ,"√(
Output(4,2,B
Output(4,5+θ,E
Output(4,6+X+θ,")
Output(6,2,√(Q
Pause
Goto TR
Lbl Tθ
ClrHome
Menu("        TROUVER ","θ",θ5,"cos(θ) sin(θ)",θ6,Str8,θθ
Lbl θ6
Radian
1→X
Disp "En Radian
Input "•θ=",θ
abs(sin(θ→S
abs(cos(θ→C
C→A
Lbl 3θ
"ERREUR
If A=√(2)/2
    "√(2)/2
If A=√(3)/2
    "√(3)/2
If A=0
    "0
If A=1
    "1
If A=.5
    "1/2
Ans→Str0
If X=1
Then
    2→X
    Str0→Str1
    S→A
    Goto 3θ
End
If cos(θ)<0
    "­"+Str1→Str1
If sin(θ)<0
    "­"+Str0→Str0
Disp "","▫cos(θ)="+Str1,"▫sin(θ)="+Str0
Pause
Goto Tθ
Lbl θ5
.5→θ
"ERREUR→Str1
Input "cos(θ)=",C
Input "sin(θ)=",S
Goto T1
Lbl T2
DelVar X
Pause
Goto Tθ
Lbl WW
DelVar F
"LA DROITE D'EQN→Str4
"ASYMPTOTE A LA→Str5
"COURBE DE f(X)→Str6
DelVar Str1
ClrHome
Disp "
Input "lim ",Str1
DelVar E
DelVar G
For(X,1,length(Str1)
    If sub(Str1,X,1)="^(
        2→E
    If sub(Str1,X,1)="ln(
        3→E
End
Str1→Y₁
19→F
If E=2
    200→F
If E=3
    99980→G
Lbl ML
ClrHome
0→H
Menu("  X TEND VERS   ","⁺Infini",IP,"­Infini",MI,"0⁺",ZP,"0­",ZM,"Un Nombre",UN,"<Nouv Func>",WW,Str8,θθ
Lbl UN
1→H
Disp "","
Output(2,1,"lim "+Str1+"=
Input " X->",Str0
expr(Str0)→X
Str0
Goto LL
Lbl IP
F→X
"⁺INF
Goto LL
Lbl MI
­F→X
"­INF
Goto LL
Lbl ZM
2→H
­1­9→X
"0­
Goto LL
Lbl ZP
2→H
1­9→X
"0⁺
Lbl LL
Ans→Str0
If Y₁≥15-G
    "⁺INF
If Y₁≤­15+G
    "­INF
If Y₁>­1­3 and Y₁<0
    "0­
If Y₁>0 and Y₁<1­3
    "0⁺
If Y₁=0
    "0
If (Y₁≤­1­3 and Y₁>­15+G) or (Y₁≥1­3 and Y₁<15-G)
Then
    ClrHome
    Disp "","","
    Output(2,1,"lim =
    Output(2,6,round(Y₁,8
    Output(3,1," X->"+Str0
    Pause
    If length(Str0)>1
    Then
        If sub(Str0,2,1)="I
        Then
            Disp Str4,"Y=",Str5,Str6
            Output(5,3,round(Y₁,8
            Pause
        End
    End
    Goto ML
End
Ans→Str2
Disp "","","
If length(Str1)+length(Str2)+E≤10
Then
    Output(2,1,"lim "+Str1+"="+Str2
Else
    Output(2,1,"lim ="+Str2
End
Output(3,1," X->"+Str0
Pause
If H≠0 and sub(Str2,2,1)="I
Then
    Disp Str4,"X="+Str0+" EST",Str5,Str6
    Pause
End
If sub(Str2,1,1)="0" and sub(Str0,2,1)="I
Then
    Disp Str4,"X="+Str2+" EST",Str5,Str6
    Pause
End
Goto ML
Lbl PY
Horiz
Degree
Horizontal 10
Vertical ­10
Vertical 10
Line(2.1,8.7,3.6,­8.6
Line(3.6,­8.6,­4.9,1.3
Line(­4.9,1.3,2.1,8.7
Line(1.3,7.3,2.3,6
Text(1,60,"A
Text(9,20,"B
Text(24,66,"C
Text(21,41,"?
Disp "
Input "•AB=",A
Input "•AC=",B
Input "•A(°)=",C
ClrHome
cos(C)→C
√(B²+A²-2BAC)→D
Disp "","▫BC="
Output(2,5,D
Pause
Full
Radian
Goto θ2
Lbl SP
ClrDraw
DelVar F
Disp "POSSEDER LES APP","▫PRETTY PRINT","▫SYMBOLIC
Pause
ClrHome
Input " CALCUL  FORMEL ",Str1
real(13,Str1)→Str1
real(19,Str1
ClrDraw
Goto θθ
Lbl ET
DelVar F
Input "f(X)=",Str1
StringEqu(Str1,Y₁
Input "Pt D'ABCISSE Xo ",X
nDeriv(Y₁,X,X)→A
Y₁-AX→B
ClrHome
Disp "Y=(f'x)(X-x)+fx"," Xo=","","Y=Ax+B","","▫A=","▫B="
Output(2,5,X
Output(6,4,A
Output(7,4,B
Pause
Goto EE
Lbl RE
ClrHome
Menu("       RESOUDRE ","Equation",I5,"Inequation",NI,"Delta",DE,"Identification",N8,Str8,θθ
Lbl N8
"AX+BX²+CX+D→Str0
DelVar F
Disp "▫f(X)=",Str0,"
Input "A=",Str5
Input "B=",Str6
Input "C=",Str7
Input "D=",D
expr(Str5→A
expr(Str6→B
expr(Str7→C
ClrHome
Str0→Y₁
solve(Y₁,X,1)→X
Disp "▫f(  )","=0
Output(1,4,X
Pause
ClrHome
Disp "▫f(X)=","(AX²+BX+C)(X-  )
Output(2,14,X
Pause
ClrHome
Disp "▫f(X)=(EX1)X+(E","X2)X²+(EX3)X+EX4","
Input "EX1=",Str1
Input "EX2=",Str2
Input "EX3=",Str3
ClrHome
Disp "IDENTIFICATION
Str1+"-"+Str5→Y₁
solve(Y₁,A,1→A
Str2+"-"+Str6→Y₁
solve(Y₁,B,1→B
Str3+"-"+Str7→Y₁
solve(Y₁,C,1→C
Disp AFrac,BFrac,CFrac
Output(2,1,"•A=
Output(3,1,"•B=
Output(4,1,"•C=
Pause
Goto RE
Lbl NI
ClrHome
Menu("    INEQUATIONS ",">",I1,"<",I2,"≥",I3,"≤",I4,Str8,RE
Lbl EQ
ClrHome
Menu(" EQUATIONS DIFF ","Type y'=Ay",Q1,"Type y''+W²=0",Q2,Str8,θθ
Lbl Q1
ClrHome
DelVar F
Disp "Ay'+By=0"
Prompt A,B
solve(AX+B,X,1→Y
Disp "","LA SOLUTION","GENERALE EST",YFrac
Output(7,1,"K•^X*
Pause
ClrHome
Disp "f(X)=V
Prompt X,V
solve(K^(YX)-V,K,1→K
Disp "","LA SOLUTION","PARTICULIERE EST",YFrac,"AVEC K=
Output(6,1,"K•^X*
Output(7,8,K
Pause
Goto EQ
Lbl Q2
ClrHome
DelVar F
Disp "y''+Ay=0
Prompt A
Disp "","LA SOLUTION","GENERALE EST","AcoswX+BsinwX","AVEC w=√( )
Output(7,10,A
Pause
Goto EQ
Lbl I1
">→Str4
Goto IE
Lbl I2
"<→Str4
Goto IE
Lbl I3
"≥→Str4
Goto IE
Lbl I4
"≤→Str4
Lbl IE
ClrHome
DelVar F
Input "•",Str1
ClrHome
Input "•"+Str1+Str4,Str2
0→θ
Lbl L1
0→X
0→V
expr(Str1→A
expr(Str2→B
19→X
expr(Str1→C
expr(Str2→D
If A-B<0 and C-D<0
    1→V
If B-A<0 and C-D<0
    1→V
If θ≠1
    Disp "
Str2+"-("+Str1+")→Str3
StringEqu(Str3,Y₁
solve(Y₁,X,1)→E
If B=A or V=1
Then
    If Str4=">
        "< "→Str4
    If Str4="<
        "> "→Str4
    If Str4="≥
        "≤ "→Str4
    If Str4="≤
        "≥ "→Str4
End
If θ=1
    Goto L2
If fPart(E)≠0
    Disp "","",EFrac
Output(5,1,"▫X"+Str4
Output(5,4,E
Pause
Goto RE
Lbl I5
DelVar F
DelVar Z
Input "•",Str1
ClrHome
If length(Str1)≤10
Then
    Input "•"+Str1+"=",Str2
Else
    1→Z
    Disp Str1
    Input "=",Str2
End
Output(2,1," CALCUL • • •
Disp "","
Str2+"-("+Str1→Str3
→X
If expr(Str3)=0
Then
    Disp "▫X=
    Pause
    ­→X
    If expr(Str3)≠0
        Goto RE
End
­→X
If expr(Str3)=0
Then
    Disp "▫X=­
    Pause
    Goto RE
End
0→θ
Lbl L3
Str3→Y₁
Output(2,9,"▫
solve(Y₁,X,99)→X
Output(2,11,"▫
solve(Y₁,X,­99)→S
Output(2,13,"▫
solve(Y₁,X,0)→T
If θ=1
    Goto L4
Disp XFrac
Output(4+Z,1,"▫x₁=
If S≠X
Then
    Disp SFrac
    Output(5+Z,1,"▫x₂=
End
If T≠X and T≠S
Then
    Disp XFrac
    Output(6+Z,1,"▫x₃=
End
Pause
Goto RE
Lbl CE
" CONVERTIONS  →Str1
If ⌊SM(4)=1
    Goto PW
If ⌊SM(4)=2
    Goto CC
Lbl C9
ClrHome
0→⌊SM(4
Menu(Str1+"1 ","Unitée Puiss",UP,"Radian>Degree",RI,"Degree>Radian",DR,"m/s>Km/h",MK,"Km/h>m/s",KM,">",PW,Str8,θθ
Lbl PW
ClrHome
1→⌊SM(4
Menu(Str1+"2 ","Tr/Min>Rad/Sec",TT,"Rad/Sec>Tr/Min",RR,"Pourcentage",PC,"Simplif Degree",50,"Watt>Chevaux",CR,">",CC,Str8,θθ
Lbl CC
ClrHome
2→⌊SM(4
"FREQUENCE hz    →Str0
"TEMPS sec       →Str2
"PULSATION /s   →Str3
Menu(Str1+"3 ","Horaire",C3,"Freq>Temps",C4,"Temps>Freq",C5,"Pulsation>Freq",C6,"Freq>Pulsation",C7,">",C9,Str8,θθ
Lbl C6
Input Str3,A
Disp Str0,A/(2π
Pause
Goto CC
Lbl C7
Input Str0,A
Disp Str3,2πA
Pause
Goto CC
Lbl C3
Input "JOURS:",D
Input "HEURES:",A
Input "MINUTES:",B
Input "SECONDES:",C
ClrHome
Disp "JOURS",D+A/24+B/1440+C/86400,"","HEURES",D24+A+B/60+C/3600
Pause
ClrHome
Disp "MINUTES",1440D+60A+B+C/60,"","SECONDES",3600A+60B+C+86400D
Pause
Goto CC
Lbl C4
Input Str0,A
Disp Str2,A
Pause
Goto CC
Lbl C5
Input Str2,A
Disp Str0,A
Pause
Goto CC
Lbl CR
Input "WATT ",X
Disp "","CHEVAUX",.00136X
Pause
Goto PW
Lbl 50
Degree
DelVar F
Input "Degree ",A
abs(A→A
For(B,1,9999
    If A≤360
        Goto 55
    A-360→A
End
Lbl 55
Disp "EQUIVAUT A",A,"Degree   (⁺360k)
Pause
ClrHome
Radian
Disp "SOIT",A°,"Radian
Pause
Goto PW
Lbl UP
.5→B
Input "NBR A CONVERTIR?",A
"----<UNITES>----→Str1
0→E
Lbl H
ClrHome
Disp Str1,"A GIGA   B MEGA","D KILO   E HECTO","I DECA   J Base","N DECI   O CENTI","S MILLI  T MICRO","X NANO   Y PICO
Output(8,1,"----------------
0→G
While G=0
    getKey→G
End
0
If G=41
    9
If G=42
    6
If G=51
    3
If G=52
    2
If G=61
    1
If G=62
    0
If G=71
    ­1
If G=72
    ­2
If G=81
    ­3
If G=82
    ­6
If G=91
    ­9
If G=92
    ­12
Ans→B
If B=.5
    Goto H
If E=0
Then
    B→C
    "-<CONVERTIR EN>-→Str1
    1→E
    Goto H
End
If B=C
    Goto H
C-B→E
A10^E→F
ClrHome
C→G
0→H
Lbl HH
"
If G=9
    "GIGA
If G=6
    "MEGA
If G=3
    "KILO
If G=2
    "HECTO
If G=1
    "DECA
If G=­1
    "DECI
If G=­2
    "CENTI
If G=­3
    "MILLI
If G=­6
    "MICRO
If G=­9
    "NANO
If G=­12
    "PICO
Ans→Str1
If H=0
Then
    1→H
    Str1→Str2
    B→G
    Goto HH
End
Disp "CONVERSION FAITE","","▫",Str2,"","▫",Str1
Output(3,2,A
Output(6,2,F
Pause
Goto CE
Lbl RR
Input "W ? (EN Rad/Sec)",W
Disp "","N=",W/(π/30),"En Tr/Min
Pause
Goto PW
Lbl TT
Radian
Input "N ? (EN Tr/Min) ",N
(πN)/30→W
Disp "","W=",W,"EN Rad/Sec
Pause
Goto PW
Lbl PC
Input "TOTAL:",A
Input "CHOIX:",B
Fix 5
Disp (B/A)100
Output(3,15,"I%
Output(3,15,"
Pause
Float
Goto PW
Lbl KM
Input "Km/h=",A
A/3.6→A
Disp "m/s=",A
Pause
Goto CE
Lbl MK
Input "m/s=",A
A3.6→A
Disp "Km/h=",A
Pause
Goto CE
Lbl RI
Degree
Input "Radian ",A
A→A
DelVar F
Fix 3
Disp A
Float
Output(2,16,"°
Pause
Goto CE
Lbl DR
Radian
Input "Degree ",A
Disp A°
Output(2,16,"
Output(3,15,"*π
Output(3,11,round(A°/π,3
Pause
Goto CE
Lbl NP
ClrHome
Menu("         DIVERS ","Nombre Premier",NN,"PGCD and PPCM",PG,"Les Racines",TR,"Images",IM,"Vecteurs",LF,Str8,θθ
Lbl ST
ClrHome
Menu("         SUITES ","Arithmétiques",AR,"Geométriques",GE,"Trouver",TS,Str8,θθ
Lbl TS
Disp "ENTRE 3 TERMES","CONNUS"
Prompt A,B,C
Input "1er RANG:",X
ClrHome
Disp "SUITE
If AC=B²
Then
    Disp "GEOMETRIQUE","DE RAISON",B/AFrac,"1er TERME Uo",A^(X+1)*B^(­X)Frac
    If A≠B
    Then
        Pause
        Goto ST
    End
    Pause
    ClrHome
End
If B=(A+C)/2
Then
    Disp "ARITHMETIQUE","DE RAISON",B-AFrac,"1er TERME Uo:",A(X+1)-XBFrac
    Pause
    Goto ST
End
Disp "NON CONNUE"
Pause
Goto ST
Lbl AR
ClrHome
Menu("  ARITHMETIQUES ","Terme défini",TD,"Somme",SO,Str8,ST
Lbl GE
ClrHome
Menu("   GEOMETRIQUES ","Terme Défini",Rθ,"Somme",OS,Str8,ST
Lbl Rθ
Input "RAISON:",R
Input "1er TERME:",U
Input "TERME CHOISIS:",N
Disp "","","U",R^N*U
Output(6,2,N
Pause
Goto GE
Lbl OS
Input "RAISON:",R
Input "1er TERME:",A
Input "NOMBRE TERMES:",N
Disp "","SOMME
",A(1-R^N)/(1-R
Pause
Goto GE
Lbl TD
Input "RAISON:",R
Input "1er TERME:",U
Input "TERME CHOISIS:",N
Disp "","U",RN+U
Output(5,2,N
Pause
Goto AR
Lbl SO
ClrHome
Input "NOMBRE TERMES:",N
Input "1er TERME:",A
Input "DERNIER TERME:",B
Disp "","SOMME
",N(A+B)/2
Pause
Goto AR
Lbl Eθ
DelVar F
Input "f(X)=",Str1
Input "g(X)=",Str2
If Str1=Str2
    Goto EE
Disp "","INTERVAL
Input "MINI:",M
Input "MAXI:",N
"LA COURBE F(X)  EST AU →Str4
"  DE G(X) DANS CETINTERVAL→Str5
int((N-M)/10→A
If A=0
    .1→A
Str1→Y₁
Str2→Y₂
For(Y,M,N,A
    Y→X
    If X=0
        .01→X
    If Y₁<Y₂
        Goto E1
End
Str4+"DESSUS "+Str5→Str4
Goto E3
Lbl E1
For(Y,M,N,A
    Y→X
    If X=0
        .01→X
    If Y₁>Y₂
        Goto E2
End
Str4+"DESSOUS"+Str5→Str4
Goto E3
Lbl E2
"F(X) ET G(X) SE CROISENT DS CET INTERVAL→Str4
Lbl E3
Output(4,1,Str4
DelVar Str4
Pause
Goto EE
Lbl LF
ClrHome
Menu("       VECTEURS ","Coord Millieux",FM,"Coord Vecteur",CV,"Distance",D0,"Colineaire",CO,Str8,NP
Lbl D0
Disp "PT 1
Prompt X,Y
X→S
Y→T
Disp "PT 2
Prompt X,Y
√((X-S)²+(Y-T)²)→θ
Disp "DISTANCE:",θ
Pause
Goto LF
Lbl IV
ClrDraw
Horiz
Radian
Horizontal 10
Vertical ­10
Vertical 10
Line(­7.4,6,­7.44,­4
Line(­6.8,6,­7.2,6.6
Line(­8,­4,­7.7,­4.7
Text(2,17,"b
Text(18,17,"a
Disp "
Input "f(X)=",Str1
Text(10,21,Str1+" dx
ClrHome
Disp "
Input "BORNE INFERIEURE",Str2
Text(18,17,Str2
ClrHome
Disp "
Input "BORNE SUPERIEURE",Str3
Text(2,17,Str3
expr(Str2→B
expr(Str3→A
Str1→Y₁
fnInt(Y₁,X,A,B)→X
ClrHome
Disp "","L'INTEGRALE EST",abs(XFrac
Output(4,13,"u.a.
Pause
ClrHome
Disp "","VALEUR MOYENNE",(1/(B-A))abs(X
Pause
ClrHome
DelVar F
Disp "UNITE GRAPH (cm)
Input "•ABSCISSE
",A
Input "•ORDONNES
",B
ClrHome
Disp "> AIRE",abs(ABX
Output(3,14,"cm²
Pause
Degree
Full
FnOff
Goto θθ
Lbl IM
1/99→X
DelVar F
Input "f(X)=",Str1
Disp "","POUR QUITTER","TAPE X","
Str1→Y₀
Lbl I6
Input "IMAGE? ",A
If A=X
    Goto NP
Disp Y₀(A)Frac
Goto I6
Lbl PG
Disp " ENTRER NOMBRES","
Input "N1:",A
Input "N2:",B
lcm(A,B→C
gcd(A,B→D
ClrHome
Disp "PGCD:",D,"PPCM:",C
Pause
Goto NP
Lbl NN
Input "NOMBRE:",N
1→A
Lbl 1K
A+1→A
If A*A≤N
Then
    If fPart(N/A)=0
    Then
        N/A→B
        ClrHome
        Disp "DIVISIBLE PAR LE","",A,B
        Output(3,1,"⁺PETIT
        
        Output(4,1,"⁺GRAND
        
        Goto 2K
    Else
        Goto 1K
    End
Else
    If N≠0
    Then
        Disp "NOMBRE PREMIER"
        Goto 2K
    Else
        Disp R,"NUL!"
        Goto 2K
    End
End
Lbl 2K
Pause
Goto NP
Lbl CS
ClrHome
"ERREUR→Str1
Str1→Str2
Z→X
Menu("      COMPLEXES ","TrigoSolveur",AG,"Algébrique",AQ,"Polare",PO,"Exponentiel",EX,"Transformation",TF,"Tracer a+b",OO,Str8,θθ
Lbl TF
Radian
ClrHome
Menu(" SOUS LA FORME  ","f=z->z+a",C1,"f=z->^(θ)Z",C2,Str8,CS
Lbl C1
Input "f=z->z+",Z
Disp "","LA TRANSFORMATI.","ASSOCIE A f EST","UNE TRANSLATION","DE VECTEUR u","ET D'AFFIXE
Output(7,13,Z
Pause
Goto TF
Lbl C2
Input "f=z->^(*",Z
Disp "","LA TRANSFORMATI.","ASSOCIE A f EST","UNE ROTATION","DE CENTRE O ET","D'ANGLE
Output(7,9,Z
Pause
Goto TF
Lbl EX
DelVar F
Disp "Z=r^θ
Input "▫r=",Str1
Input "▫θ=",Str2
expr(Str1→A
expr(Str2→B
0→H
Goto Wθ
Lbl θW
A(cos(B)+sin(B))→C
Disp "","Z=","","Z=["+Str1+","+Str2+"]
Output(5,3,round(C,3
Pause
Goto CS
Lbl AQ
Input "Z=",Z
abs(Z)→M
Disp "","CONJUGUE",conj(Z),"","MODULE",M
DelVar K
If fPart(round(M²,5))=0 and fPart(M)≠0
Then
    1→K
    Output(8,6,"√(
    Output(8,7,M²
End
Pause
ClrHome
Degree
Disp "ARGUMENT Degree",angle(Z),"ARGUMENT Radian
Radian
Disp angle(Z
Output(5,11,round(angle(Z)/π,3
Output(5,15,"•π
Output(7,1,"Z=[√( ,   ]
Degree
If K=1
Then
    Output(7,5,abs(Z)²
Else
    Output(7,5,"
    Output(7,4,round(abs(Z),1
End
Output(7,8,round(angle(Z),1
DelVar F
Pause
r^θ
ClrHome
Disp "FORME EXPO DEG
Pause Z
Disp "","FORME EXPO RAD
Radian
Pause Z
Real
Goto CS
Lbl PO
DelVar F
Disp "Z=[r,θ]
Input "▫r=",Z
Input "▫θ=",θ
1→H
Lbl Wθ
Menu(" AVEC θ EN      ","Radian",RD,"Degree",DG
Lbl RD
Radian
Goto P0
Lbl DG
Degree
Lbl P0
If H=0
    Goto θW
Z(cos(θ)+sin(θ))→A
round(A,0)→A
Disp "","Z=","","Z=
a+b
Output(5,3,A
r^θ
Output(7,3,A
Real
Pause
Goto CS
Lbl AG
Input "Z=",Z
Z→X
abs(Z)→M
real(Z)/M→R
imag(Z)/M→I
Disp "","CONJUGUE","","","MODULE
Output(4,1,conj(Z
DelVar A
If fPart(round(M²,5))=0 and fPart(M)≠0
Then
    1→A
    Output(7,1,"√(
    Output(7,2,M²
Else
    Output(7,1,M
End
Pause
ClrHome
Disp "Soit θ un arg(Z)"," ▫cos(θ)="," ▫sin(θ)=
"ERREUR
If R=1
    "1
If R=­1
    "­1
If R=0
    "0
If R=.5
    "1/2
If R=­.5
    "­1/2
If R=√(2)/2
    "√(2)/2
If R=­√(2)/2
    "­√(2)/2
If R=√(3)/2
    "√(3)/2
If R=­√(3)/2
    "­√(3)/2
Ans→Str1
"ERREUR
If I=1
    "1
If I=­1
    "­1
If I=0
    "0
If I=.5
    "1/2
If I=­.5
    "­1/2
If I=√(2)/2
    "√(2)/2
If I=­√(2)/2
    "­√(2)/2
If I=√(3)/2
    "√(3)/2
If I=­√(3)/2
    "­√(3)/2
Ans→Str2
Output(2,10,Str1
Output(3,10,Str2
R→C
I→S
DelVar θ
Lbl T1
"ERREUR
If C=1 and S=0
    "0
If C=√(3)/2 and S=.5
    "π/6
If C=√(2)/2 and S=C
    "π/4
If C=1/2 and S=√(3)/2
    "π/3
If C=0 and S=1
    "π/2
If C=­1 and S=0
    "π
If C=­√(3)/2 and S=.5
    "5π/6
If C=­√(2)/2 and S=­C
    "3π/4
If C=­1/2 and S=√(3)/2
    "2π/3
If C=√(3)/2 and S=­.5
    "­π/6
If C=√(2)/2 and S=­C
    "­π/4
If C=1/2 and S=­√(3)/2
    "­π/3
If C=0 and S=­1
    "­π/2
If C=­√(3)/2 and S=­.5
    "­5π/6
If C=­√(2)/2 and S=C
    "­3π/4
If C=­1/2 and S=­√(3)/2
    "­2π/3
Ans→Str1
Output(5,3,"θ="+Str1
If sub(Str1,1,1)≠"E
    Output(5,11,"+2kπ
If θ=.5
    Goto T2
Output(7,1,"Z=[√( ,"+Str1+"]
If A=1
Then
    Output(7,5,M²
Else
    Output(7,4,"
    Output(7,5,M
End
Pause
ClrHome
Output(1,1,"FORME TRIGO
Output(3,1,"Z=√(•(cos("+Str1+")+sin("+Str1+"))
If A=1
Then
    Output(3,4,M²
Else
    Output(3,3,"
    Output(3,4,M
End
Output(6,1,"FORME EXPO
Output(8,1,"Z=√(•^("+Str1+")
If A=1
Then
    Output(8,4,M²
Else
    Output(8,3,"
    Output(8,4,M
End
Pause
Goto CS
Lbl OO
DelVar F
Input " Z=",X
5→Xmax
­5→Xmin
5→Ymax
­5→Ymin
If real(X)≥5
    real(X)+2→Xmax
If real(X)≤­5
    real(X)-2→Xmin
If imag(X)≥5
    imag(X)+2→Ymax
If imag(X)≤­5
    imag(X)-2→Ymin
AxesOn
Pt-On(real(X),imag(X),3
Pt-Off(real(X),imag(X
Pause
Goto CS
Lbl TR
ClrHome
Menu("        RACINES ","Simplif Racine",SR,"Trouver Racine",RT,Str8,NP
Lbl RT
Input "VALEUR APPROCHEE",A
round(A²,0→X
Disp "","√(","",√(X
Output(4,3,X
Output(4,int(log(X))+4,")
Pause
Goto TR
Lbl CV
Disp "VECTEUR AB
Disp "PT A
Prompt X,Y
X→A
Y→B
Disp "PT B
Prompt X,Y
X-A→E
Y-B→G
ClrHome
Disp "COORD VECTEUR",E,G
Output(2,1,"▫x
Output(3,1,"▫y
Pause
Goto LF
Lbl CO
Disp "VECTEUR AB
Prompt X,Y
X→A
Y→B
Disp "VECTEUR CD
Prompt X,Y
det([[A,B][X,Y]])→θ
ClrHome
Disp "det(XY₁,XY₂)=",θ
If θ=0
    Disp "COLINEAIRE
If θ≠0
    Disp "NON COLINEAIRE
Pause
Goto LF
Lbl FM
Disp "VECTEUR AB
Disp "PT A
Prompt X,Y
X→A
Y→B
Disp "PT B
Prompt X,Y
ClrHome
Disp "MILLIEU DE AB",(A+X)/2,(B+Y)/2
Output(2,1,"▫x
Output(3,1,"▫y
Pause
Goto LF
Lbl DE
ClrHome
Disp "•Ax²+Bx+C=0","
Input "▫A=",A
Input "▫B=",B
Input "▫C=",C
Lbl DL
B²-4AC→D
Disp "","=B²-4AC=",DFrac
Pause
ClrHome
If D=0
Then
    Disp "L'EQN ADMET UNE","UNIQUE SOLUTION","","▫Xo=",­B,"",2A
    Output(6,11,"------
    Pause
    Goto RE
End
If D<0
Then
    Disp "L'EQU ADMET DEUX","RACINES COMLEXES","CONJUGUES
    Pause
    ClrHome
    ­B+√(­D)→X
    Disp "Z1=",XFrac,"",2AFrac,"","▫Z1=
    Output(3,11,"------
    Pause X/(2A)Frac
    ClrHome
    conj(X)→X
    Disp "Z2=",XFrac,"",2AFrac,"","▫Z2=
    Output(3,11,"------
    Pause X/(2A)Frac
    Goto RE
End
Pause "2 SOLUTIONS REEL
ClrHome
Disp "x₁=",D,"",A
Output(2,8,­B
Output(3,9,"--------
Output(2,11,"+√(
Output(4,12,"2•
Disp "","▫x₁=",(­B+√(D))/(2A)Frac
Pause
ClrHome
Disp "x₂=",D,"",A
Output(2,8,­B
Output(3,9,"--------
Output(2,11,"-√(
Output(4,12,"2•
Disp "","▫x₂=",(­B-√(D))/(2A)Frac
Pause
Goto RE
Lbl BA
Disp "Point A
Input "•x=",A
Input "•y=",B
Disp "Point B
Input "•x=",C
Input "•y=",D
{A,C→L₁
{B,D→L₂
{A,B→L₃
{C,D→L₄
If A=C and B=D
    Goto BA
LinReg(ax+b)
ClrHome
Disp "A",L₃,"B",L₄,"Y=ax+b","▫a=","▫b="
Output(6,4,round(a,8
Output(7,4,round(b,8
Pause
Goto EE
Lbl θ
ClrHome
Menu("      GEOMETRIE ","Volume",CF,"Aire",AX,"Périmetre",PE,"Surface",SU,"Pythagore",PY,"Barycentre",P1,Str8,θθ
Lbl P1
ClrHome
"(X⌊LA+Y⌊LB+Z⌊LC)/(X+Y+Z→⌊G
DelVar θ
Menu("     BARYCENTRE ","2 Points",2P,"3 Points",3P,Str8,θ
Lbl 3P
1→θ
Lbl 2P
Disp "⌊A ⌊B ET ⌊C SONT","DES LISTES","
Input "⌊A={",Str3
expr("{"+Str3→⌊LA
Prompt X
Input "⌊B={",Str4
expr("{"+Str4→⌊LB
Prompt Y
0→Z
⌊LA→⌊LC
If θ≠1
    Goto 4P
Input "⌊C={",Str5
expr("{"+Str5→⌊LC
Prompt Z
Lbl 4P
Disp ""," <>
Pause ⌊GFrac
DelVar ⌊LA
DelVar ⌊LB
DelVar ⌊LC
DelVar ⌊G
Goto θ
Lbl PE
Menu("","CERCLE",13,"POLYGONE",25
Lbl SU
Menu("","BOULE",21,"CYLINDRE",24,"PRISME DROIT",26
Lbl 13
Input "RAYON:",R
Disp 2πR
Pause
Goto θ
Lbl 21
Input "RAYON:",R
Disp 4πR²
Pause
Goto θ
Lbl 24
Input "RAYON:",R
Input "HAUTEUR:",H
Disp 2πRH
Pause
Goto θ
Lbl 25
Input "COTE:",A
Input "NBRE COTE:",B
Disp AB
Pause
Goto θ
Lbl 26
Input "PERI BASE ",P
Input "HAUTEUR ",H
Disp PH
Pause
Goto θ
Lbl CF
ClrHome
Menu("","PAVE DROIT",CG,"PRISME DROIT",10,"PYRAMIDE",CI,"CYLINDRE",CJ,"CONE",CN,"BOULE",CK
Lbl CG
Input "LONGUEUR:",L
Input "LARGEUR:",A
Input "HAUTEUR:",H
LAH→V
Goto CM
Lbl 10
Input "AIRE DE BASE:",B
Input "HAUTEUR:",H
BH→V
Goto CM
Lbl CI
Input "AIRE DE BASE:",B
Input "HAUTEUR:",H
(1/3)BH→V
Goto CM
Lbl CN
Input "RAYON BASE:",R
Input "HAUTEUR:",H
(1/3)πR²H→V
Goto CM
Lbl CJ
Input "RAYON BASE:",R
Input "HAUTEUR:",H
πR²H→V
Goto CM
Lbl CK
Input "RAYON:",R
(4/3)πR^3→V
Lbl CM
ClrHome
Disp "▫VOLUME
",V
Pause
Goto θ
Lbl AX
Menu("","CARRE",AY,"RECTANGLE",AZ,"TRIANGLE",θA,"PARALLELOGRAMME",BB,"DISQUE",BC,"LOSANGE",θD,"TRAPEZE",BE
Lbl AY
Input "COTE:",C
CC→A
Goto BF
Lbl AZ
Input "LONGUEUR:",L
Input "LARGEUR:",G
LG→A
Goto BF
Lbl θA
Input "BASE:",B
Input "HAUTEUR:",H
(BH)/2→A
Goto BF
Lbl BB
Input "BASE:",B
Input "HAUTEUR:",H
BH→A
Goto BF
Lbl BC
Input "RAYON:",R
πR²→A
Goto BF
Lbl θD
Input "GR DIAG.:",D
Input "PT DIAG.:",B
DB/2→A
Goto BF
Lbl BE
Input "GR BASE:",B
Input "PT BASE:",P
Input "HAUTEUR:",H
(B+P)H/2→A
Lbl BF
ClrHome
Disp "▫AIRE
",AFrac
Pause
Goto θ
Lbl SY
ClrHome
Menu("       SYSTEMES ","2 Inconnus",2I,"SystemSolveur",3I,"Produit-Somme",PS,Str8,θθ
Lbl PS
Input "x₁•x₂=",C
Input "x₁+x₂=",B
1→A
­B→B
Goto DL
Lbl 2I
Disp "A•x+B•y=C","D•x+E•y =F","
Prompt A,B,C,D,E,F
rref([[A,B,C][D,E,F]]→[A]
ClrHome
Disp " x=",[A](1,3)Frac," y=",[A](2,3)Frac
Pause
Goto SY
Lbl 3I
"ABCDEFGHIJKLMNOPQRST→Str3
Input "INCONNUS:",I
If I≤1 or I≥21 or fPart(I)≠0
Then
    Disp "ENTRE 2 ET 20 !
    Pause
    Goto SY
End
DelVar [B]
{I,I+1}→dim([B]
For(C,1,I
    "→Str2
    For(L,1,I+1
        ClrHome
        Disp "LIGNE","COLONNE","
        Output(1,7,C
        Output(2,9,L
        If L≠I+1
            Output(6,1,"*"+sub(Str3,L,1
        Input Str2,Str1
        If L=1
            Str1+"+→Str2
        If L≠1 and L≠I
            Str2+Str1+"+→Str2
        If L=I
            Str2+Str1+"=→Str2
        expr(Str1→[B](C,L
    End
End
rref([B]→[B]
ClrHome
0→A
For(L,1,I
    1+A→A
    Disp [B](L,I+1)Frac
    Output(A,1,"▫"+sub(Str3,L,1)+"=
    If fPart(L/7)=0
    Then
        Pause
        0→A
        ClrHome
    End
End
DelVar [B]
DelVar Str3
Pause
Goto SY
Lbl DT
AxesOff
FnOff
0→θ
ClrHome
Menu("     DERIVATION ","Tableau Variat",AK,"Dérivation",Dθ,"Vérification",V9,"Déri Successiv",V8,"Formules",TV,Str8,θθ
Lbl TV
ClrDraw
DelVar F
Horizontal 10
Horizontal 7.5
Horizontal ­10
Vertical ­10
Vertical 10
Menu("       FORMULES ","f(X) > f'(X)",FX,"fou > (fou)'",FU,"Opérations",OP,Str8,DT
Lbl FX
Text(1,9,"f(X)
Text(1,50,"f'(X)
Text(9,9,"X
Text(9,50,"1
Text(15,9,"X²
Text(15,50,"2X
Text(21,9,"X^n
Text(21,50,"n•X^(n-1)
Text(27,9,"1/X
Text(27,50,"­1/X²
Text(33,9,"1/X^n
Text(33,50,"­n/X^(n+1)
Text(39,9,"√(X)
Text(39,50,"1/2√(X)
Text(45,9,"sin(X)
Text(45,50,"cos(X)
Text(51,9,"cos(X)
Text(51,50,"­sin(X)
Pause
For(X,­8,9,.2
    Line(X,7,X,­9,0
End
Text(9,9,"ln(X)
Text(9,50,"1/X
Text(15,9,"tan(X)
Text(15,50,"1/cos(X)²
Pause
Goto TV
Lbl FU
Text(1,9,"fou
Text(1,40,"(fou)'
Text(9,9,"U
Text(9,40,"U'
Text(15,9,"U²
Text(15,40,"2U•U'
Text(21,9,"U^n
Text(21,40,"n•U^(n-1)•U'
Text(27,9,"1/U
Text(27,40,"­U'/U²
Text(33,9,"1/U^n
Text(33,40,"­(n•U')/U^(n+1)
Text(39,9,"√(U)
Text(39,40,"U'/2√(U)
Text(45,9,"sin(U)
Text(45,40,"U'•cos(U)
Text(51,9,"cos(U)
Text(51,40,"­U'•sin(U)
Pause
Goto TV
Lbl OP
Text(15,10,"(k•U)'=k•U'
Text(25,10,"(U+V)'=U'+V'
Text(35,10,"(U•V)'=U'•V+U•V'
Text(45,10,"(U/V)'=(U'•V-U•V')/V²
Pause
Goto TV
Lbl Dθ
1→θ
Lbl AK
Degree
ClrDraw
ClrHome
DelVar F
Disp "POSSEDER LES APP","▫PRETTY PRINT","▫SYMBOLIC
EquString(Y₁,Str2
EquString(Y₂,Str3
0→G
While G=0
    getKey→G
End
ClrHome
Output(5,1,"PRECEDENTES
Output(6,8,"FONCTIONS
Output(7,1,"1•Y₁=
Output(7,6,Str2
Output(8,1,"2•Y₂=
Output(8,6,Str3
Input "f(X)=",Str0
If Str0="1
    Str2→Str0
If Str0="2
    Str3→Str0
StringEqu(Str0,Y₁
real(12,Str0,"X"→Str1
StringEqu(Str1,Y₂
Lbl Zθ
real(19,"f'(X)="+Str1
If θ=1
    Goto DT
Lbl 2
"]→Str4
For(X,1,2
    ClrHome
    Disp "INTERVAL
    Output(6,1,"TAPEZ
    Output(7,3,"- POUR ­L'INF
    Output(8,3,"+ POUR ⁺L'INF
    Input Str4,Str5
    0→A
    If Str5="-
    Then
        "­INF→Str5
        1→A
    End
    If Str5="+
    Then
        "⁺INF→Str5
        2→A
    End
    If A=0
        expr(Str5→L₁(X
    If A=1
        ­19→L₁(X
    If A=2
        19→L₁(X
    If X=1
        "]"+Str5+","→Str4
    If X=2
        Str4+Str5+"[→Str4
End
L₁(1→I
L₁(2→J
DelVar L₁
DelVar Str5
ClrHome
If I≥J
    Goto 2
ClrHome
Output(2,2,"CALCUL EN COUR
Output(6,1,"f(X)="+Str0
Output(7,1,"f'(X)="+Str1
Output(8,1,"SUR "+Str4
DelVar Str4
Output(3,6,"°
20→R
DelVar L₁
DelVar L₂
(J-I)/R→P
Output(3,7,"°
seq(nDeriv(Y₁,X,A),A,I,J,P)→L₁
Output(3,8,"°°
R→dim(L₁
For(A,1,R
    If L₁(A)>0
        1→L₁(A)
    If L₁(A)<0
        ­1→L₁(A)
    If L₁(A)=0
        0→L₁(A)
End
Output(3,10,"°°
FnOff
AxesOff
0→Xmin
94→Xmax
0→Ymin
62→Ymax
ClrHome
Horizontal 0
Horizontal 1
Horizontal 62
Horizontal 61
Vertical 0
Vertical 94
Horizontal 50
Horizontal 38
Vertical 18
Pxl-Off(0,0
Pxl-Off(0,94
Pxl-Off(62,0
Pxl-Off(62,94
Text(3,6,"x
Text(15,2,"f'(x)
Text(40,2,"f(x)
Text(3,20,"I-
Text(3,86,"I+
If inString(Str0,"X")=0
    Goto C
0→B
0→dim(L₂
For(A,1,R-1
    If L₁(A)=0
    Then
        B+1→B
        B→dim(L₂
        I+(A-1)P→L₂(B
    End
    If L₁(A)=­L₁(A+1)
    Then
        B+1→B
        B→dim(L₂
        solve(Y₂,X,I+AP-.5P,{I+(A-1)P,I+AP})→L₂(B
    End
End
If B>8
Then
    ClrHome
    Disp "TROP DE","VARIATIONS
    Pause
    ClrHome
    Return
End
If B=0
    Goto S
"abcdefgh→Str2
int(70/(B+1))→Q
For(A,1,B
    int(A(70/(B+1)))+20→C
    Text(3,C,sub(Str2,A,1))
    Text(15,C,0
End
B-(L₂(dim(L₂))=J)→B
For(A,0,B
    int(20+(A+.5)Q)→D
    If 0=A
        nDeriv(Y₁,X,(2*L₂(1)-.1)/2)→C
    If dim(L₂)=A
        nDeriv(Y₁,X,(2*L₂(A)+.1)/2)→C
    If dim(L₂)>A and A>0
        nDeriv(Y₁,X,(L₂(A)+L₂(A+1))/2)→C
    If C>0
    Then
        Text(15,D,"+
        Line(AQ+23,3,AQ+Q+20,35
    End
    If C<0
    Then
        Line(AQ+23,35,AQ+Q+20,3
        Text(15,D,"-
    End
End
Goto F
Lbl S
If nDeriv(Y₁,X,(I+J)/2)>0
Then
    Text(15,55,"+
    Line(23,3,90,35
End
If nDeriv(Y₁,X,(I+J)/2)<0
Then
    Text(15,55,"-
    Line(23,35,90,3
End
0→B
Pause
Goto E
Lbl C
0→B
Line(23,18,90,18
Pause
Goto E
Lbl F
Pause
ClrHome
Disp "▫f'(X)=0 POUR
For(A,1,dim(L₂
    Disp sub(Str2,A,1)+"=",L₂(A)Frac
    Pause
    ClrHome
End
Lbl E
If B>7
Then
    Disp "▫f(H)=",Y₁(L₂(8))Frac
    Pause
End
If B>6
Then
    Disp "▫f(G)=",Y₁(L₂(7))Frac
    Pause
End
If B>5
Then
    Disp "f(F)=",Y₁(L₂(6))Frac
    Pause
End
If B>4
Then
    Disp "▫f(E)=",Y₁(L₂(5))Frac
    Pause
End
If B>3
Then
    Disp "▫f(D)=",Y₁(L₂(4))Frac
    Pause
End
If B>2
Then
    Disp "▫f(C)=",Y₁(L₂(3))Frac
    Pause
End
If B>1
Then
    Disp "▫f(B)=",Y₁(L₂(2))Frac
    Pause
End
If B>0
Then
    Disp "▫f(A)=",Y₁(L₂(1))Frac
    Pause
End
ClrHome
Disp "f(INTERVAL MIN)=
If I=­19 and abs(Y₁(I))≥19
Then
    If Y₁(I)≤­19
        Output(2,14,"-OO
    If Y₁(I)≥19
        Output(2,14,"+OO
    Disp "
Else
    Disp Y₁(I)Frac
End
Disp "","f(INTERVAL MAX)=
If J=19 and abs(Y₁(J))≥19
Then
    If Y₁(J)≥19
        Output(5,14,"+OO
    If Y₁(J)≤­19
        Output(5,14,"-OO
Else
    Disp Y₁(J)Frac
End
Pause
Float
Goto DT



Heu c'est quoi ça? Le code et déjà tout fais? Quel interet à le refaire ? :o


@Hamza: c'est quoi ça? Un graphe de chemins possible?

Re: [Projet] Supramaths 5 : Advanced/CE

Message non luPosté: 12 Juin 2016, 08:43
de Hamza.S
sur 68k et Nspire (code de Bisam), ça "décompose", je ne sais pas si c'est le verbe qu'il faut, sous cette forme de liste qui peut être représenté par un graphe.

sur (e)z80 ça ne peut pas être une liste comme les listes des (e)z80 n'acceptent pas les chaînes de caractères.

Re: [Projet] Supramaths 5 : Advanced/CE

Message non luPosté: 12 Juin 2016, 15:52
de GalacticPirate
Wistaro a écrit:Heu c'est quoi ça? Le code et déjà tout fais? Quel interet à le refaire ? :o

Je rêve ou t'as rien lu ? le code c'est le bordel complet, j'aurais pu faire mieux il y a un an :p

Wistaro a écrit:@Hamza: c'est quoi ça? Un graphe de chemins possible?


La RPN était utilisée dans les vieilles calculatrices non graphiques, à affichage 16 segments, et toujours aujourd'hui sur les caltos de base (primaire etc.) En gros, tu tapes
5
sqrt(
pour faire racine de 5 :)

Re: [Projet] Supramaths 5 : Advanced/CE

Message non luPosté: 12 Juin 2016, 15:55
de critor
Moi ce qui me fait rire, c'est que le nom SupraMaths 5 Advanced je trouve que ça en jette pas mal ! :D
Et quand on comprend que c'est pour TI-82 Advanced, ça casse bien le rêve ! :P