Autorisation : Membre
Nb de messages : 36
Inscrit le : Jeu 24 Fév 2011, 21:45
Posté le : Jeu 24 Fév 2011, 22:15
Bonjour c'est le premier message que je poste ici ! je me suis créé un programme grace au internaute, j'ai sans doute "copié" certaine partie de mon programme j'espère que vous ne m'en voudrez pas
Je souhaite vous le montrez et avoir quelque question après.
Voici le menu, ensuite je met comment le créé:
MATHS:
1:2ND DEGRE --> 1:CANONIX 2:MENU
2:VECTEUR --> 1:COORD 2:NORME 3:COLINEARITE 4:MENU
3:EQ DROITE --> 1:EQDROITE 2:Y=AX+P 3:PTS ALIGNER 4:MENU
4:GEOMETRIE --> 1:CERCLE 2:CARRE 3:CYLINDRE 4:THALES 5:PYTHAGORE
6:MENU
5:POURCENT --> 1 2:AJOUT P 3:SOUS P 4:AJOUT ET SOUS
5:SOUS ET AJOUT 6 DE P 7:MENU
voila, maintenant, le programe ! :
PROGRAM: MATHS
Code
ClrHome
Output(1,3,"MATHS"
Output(3,3,"VERSION 2.0"
Output(6,3,"UGO"
Output(8,3,"PRESS ENTER"
Pause
Lbl 0
Menu("MATHS","2ND DEGRE",A,"VECTEURS",B,"EQ DROITES",C,"Geometrie",D,"POURCENT",E
Lbl A
Menu("2ND DEGRE","CANONIX",9,"MENU",69
Lbl 9
Output(2,2,"CANONIX"
Pause
ClrHome
Prompt A,B,C
Output(8,1"A(X²+BX+C)
Disp A Frac
Disp B/A Frac
Disp C/A Frac
Pause
ClrHome
Prompt A,B,C
Disp A
Disp (B/2)²
Disp -(B/2)²+C
Pause
CltHome
Prompt A,B,C
Disp "Facteur:"
Output(1,10,A
Disp "ID.REM:"
Disp "(X+/-B)²
Output(2,10,B
Pause
ClrHome
Goto 0
Lbl 69
Goto 0
Lbl B
Menu("VECTEURS","COORDONNEES",X,"NORME",Y,"COLINEARITE",Z,"MENU",70
Lbl X
CltHome
Disp "POINT A"
Prompt X,Y
Disp "POINT B"
Prompt Z,O --> (O barré horizontalement)
Disp Z-X
Disp O-Y --> (O barré horizontalement)
Pause
CltHome
Goto 0
Lbl Y
ClrHome
Disp "COMPOSANTES:"
Disp "POINT A"
PROMPT X,Y
Disp "POINT B
Prompt Z,O --> (O barré horizontalement)
Disp \/¯((Z-X)²+(O-Y)² --> (O barré horizontalement)
Pause
ClrHome
Goto 0
Lbl Z
ClrHome
Disp "VECTEUR 1"
Prompt X,Y
Disp "VECTEUR 2"
Prompt Z,O --> (O barré horizontalement)
If X*O=Y*Z --> (O barré horizontalement)
Then
Disp "COLINEAIRES"
Else
Disp "NON COLONEAIRES"
End
Pause
ClrHome
Goto 0
Lbl 70
Goto 0
Lbl C
Menu("Droite","EQDROITE",1,"Y=AX+B",2,"PTS ALIGNER",3,"MENU",71)
Lbl 1
ClrHome
Output(3,4,"A(XA,YA)")
Output(4,4,"B(XB,YB)")
Pause
CrlHome
Disp "XA"
Input A
Disp "YA"
Input B
Disp "XB"
Input C
Disp "YB"
Input D
CrlHome
If A=C
Then
Disp "ECRIRE X=",A
Disp "CAR XA=XB"
Else
If B=D
Then
Disp "ECRIRE Y=",B
Disp "CAR YA=YB"
Pause
End
(D-B)/(C-A)->E
Disp "COEF DIRECTEUR:",E
B-(E*A)->F
Disp "ORDONNER A"
Disp "L'ORIGINE",F
Pause
Disp "AVEC Y=",B
Disp "Avec X=",A
If E<0
Then
Disp "FONCTION"
Disp "DECROISSANTE"
End
If E>0
Then
Disp "FONCTION"
Disp "CROISSANTE"
Pause
CrlHome
Goto 0
Lbl 2
ClrHome
Output(3,4,"Y=AX+B")
Output(4,4,"Y=A'X+B'")
Pause
ClrHome
Disp "A="
Input G
Disp "B="
Input H
Disp "A'="
Input I
Disp "B'="
Input J
ClrHome
(J-H)/(G-I)->K
GK+H->L
If G#I --> ( si G n'est PAS égal à I)
Then
Disp "DROITES SECANTES"
Disp "EN:(X)",K
Disp "ET(Y)",L
Pause
CrlHome
Goto 0
Lbl 3
ClrHome
Output(2,4,"A(XA,YA)
Output(3,4,"B(XB,YB)
Output(4,4,"C(XC,YC)
Pause
ClrHome
Disp "XA="
Input M
Disp "YA="
Input N
Disp "XB="
Input O
Disp "YB="
Input P
Disp "XC="
Input Q
Disp "YC="
Input R
CrlHome
(P-N)/(O-M)->S
(R-N)/(Q-M)->T
If S=T
Then
Disp "LES POINTS"
Disp "SONT ALIGNER"
Disp "COEF DIRECTEUR:",S
Else
IF S#T --> ( si S n'est PAS égal à T)
Then
Disp "POINTS NON"
Disp "ALIGNER"
Pause
ClrHome
Goto 0
Lbl 71
Goto 0
Lbl D
Menu("GEOMETRIE","CERCLE",5,"CARRE",6,"CYLINDRE",7,"THALES",8A,"PYTHAGORE",8B,"MENU",72)
Lbl 5
Disp "ENTRER","UN RAYON:"
Input R
2pR->B --> ("P" c'est le chiffre PI)
pR²->C --> ("P" c'est le chiffre PI)
Disp "PERIMETRE",B
Disp "AIRE",C
Pause
CrlHome
goto 0
Lbl 6
Disp "ENTREZ","UNE LONGUEUR:"
Input A
4A->B
A²->C
Disp "PERIMETRE",B
Disp "AIRE",C
Pause
CrlHome
Goto 0
Lbl 7
Disp "ENTREZ","UN RAYON:"
Input A
Disp "ENTREZ","UNE HAUTEUR:"
Input B
2pAB->C --> ("P" c'est le chiffre PI)
2pA*(A+B)->D --> ("P" c'est le chiffre PI)
pA²B->E --> ("P" c'est le chiffre PI)
Disp "AIRE LATERAL",C
Disp "AIRE TOTALE",D
Disp "VOLUME",E
Pause
CrlHome
Goto 0
Lbl 8A
CrlHome
:Menu("VALEUR:","CHERCHE A",A1,"CHERCHE B",B2,"CHERCHE C",C3,"CHERCHE D",D4
:Lbl A1
:Prompt B,C,D
:Disp (B*C)/D
:Disp (B*C)/D>Frac
:Pause
CrlHome
:Stop
:Lbl B2
:Prompt A,C,D
:Disp (A*D)/C
:Disp (A*D)/C>Frac
:Pause
:CrlHome
:Stop
:Lbl C3
:Prompt A,B,D
:Disp (A*D)/B
:Disp (A*D)/B>Frac
:Pause
:CrlHome
:Stop
:Lbl D4
:Prompt A,B,C
:Disp (B*C)/A
:Disp (B*C)/A>Frac
:Pause
:CrlHome
:Stop
Goto 0
Lbl 8B
ClrHome
Menu("VALEUR:","HYPOTENUSE",H1,"OPP OU ADJ",H2
Lbl H1
Prompt A,B
Disp A²
Disp B²
Disp A²+B²
Disp \/¯(A²+B²) -->("\/¯" signe "racine carré")
Output(3,1,"A²:")
Output(4,1,"B²:")
Output(5,1,"A²+B²:")
Output(6,1,"\/¯()")
Pause
ClrHome
Stop
Lbl H2
Prompt B,C
Disp B²
Disp C²
Disp C²-B²
Disp \/¯(C²-B²)
Output(3,1,"B²:")
Output(4,1,"C²:")
Output(5,1,"C²-B²:")
Ouptut(6,1,"\/¯()")
Pause
ClrHome
Stop
Goto 0
Lbl 72
Goto 0
Lbl E
CltHome
Input "NB=",A
Menu("POURCENT","P",12,"AJOUTER P",13,"SOUSTRAIRE P",14,"AJOUT ET SOUS",15,"SOUS ET AJOUT",16,"P DE P",17,"MENU",73
Lbl 12
Input "p=",B
A*B/100->Z
Disp "NB*P/100"
Goto 8
Lbl 13
Input "P=",B
A*(1+B/100)->Z
Disp "NB*(1+P/100)"
Goto 8
Lbl 14
Input "P=",B
A*(1-B/100)->Z
Disp "NB*(1-P/100)"
Goto 8
Lbl 15
Input "P1=",B
Input "P2=",C
A*(1+B/100)*(1-C/100)->Z
Disp "NB*(1+P1/100)"
Disp "*(1-P2/100)"
Goto 8
Lbl 16
Input "P1=",B
Input "P2=",C
A*(1-B/100)*(1+C/100)->Z
Disp "NB*(1-P1/100)"
Disp "*(1+P2/100)"
Goto 8
Lbl 17
Input "P1=",B
Input "P2=",C
A*B*C/1000->Z
Disp "NB*P1*P2/1000"
Goto 8
Goto 73
CrlHome
Stop
Lbl 8
Output(5,1,"RESULTATS:"
Output(7,7,Z
Pause
CrlHome
Goto 0
Lbl 73
Goto 0
Et voila ! long programme :/. Dites moi si il y a des erreurs ou si le programme peut etre amélioré !
maintenant j'ai une question, par exemple : quand j'entre dans "eq droite" du programe principale, j'entre ensuite dans Y=AX+P, puis quand c'est fini ça revient au menu principale. ce n'était qu'un exemple puisque cela fait ça partout. Ce que j'aimerai c'est que ça ne revienne pas au menu principale mais un menu du programme concerné, j'espere qu'on me comprend !
Autorisation : Membre
Nb de messages : 16
Inscrit le : Lun 21 Fév 2011, 15:29
Posté le : Ven 25 Fév 2011, 7:04
Franchement Ugo je ne vois trop l'utilité de mettre tout tes programmes en un seul...car on s'embrouille vite avec les étiquettes...tu me passera néanmoins ta calculette cet aprem' histoire de reprendre le tout doucement et de déceller la faille
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 25 Fév 2011, 11:02
Citer : programath
maintenant j'ai une question, par exemple : quand j'entre dans "eq droite" du programe principale, j'entre ensuite dans Y=AX+P, puis quand c'est fini ça revient au menu principale. ce n'était qu'un exemple puisque cela fait ça partout. Ce que j'aimerai c'est que ça ne revienne pas au menu principale mais un menu du programme concerné, j'espere qu'on me comprend !
Pour revenir au menu droite plutôt qu'au menu principal, utilise goto C au lieu de goto 0.
Citer : programath
Parfois il y a : --> (...)
En programmation, on utilise plutôt "//" comme les commentaires en C. Ainsi pas de confusion.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 21
Inscrit le : Ven 11 Fév 2011, 15:32
Posté le : Ven 25 Fév 2011, 16:10
oui c'est simplifiable sans probleme par exemple, d'ailleurs j'ai fait la meme remarque dans un autre sujet, au lieu de mettre :
:disp "xa"
:input a
tu devrais mettre :
:input "xa",a
et aussi pour info:
la commande qui permet de demander directement de rentrer une variable est prompt et nn input qui permet d'afficher un texte avant de lire ce que l'utilisateur a rentré.
---------------------- archimeti programmateur en ti-basic , visual basic, en c
mon forum avec une partie sur le ti-basic: http://dev-prog.xooit.fr/index.php
Autorisation : Membre
Nb de messages : 36
Inscrit le : Jeu 24 Fév 2011, 21:45
Posté le : Ven 25 Fév 2011, 20:52
Merci pour les conseils ! je suis en train de simplifier et de détailler certaine chose, surtout dans les équations de droite.
Je posterais plus tard le programme terminé