Autorisation : Membre
Nb de messages : 31
Inscrit le : Jeu 19 Nov 2009, 21:05
Posté le : Mer 25 Nov 2009, 17:42
Bonjour, je viens de commencer la programmation sur calculatrice Ti82 stat fr.
Et, étant en 2nd, je vois en physique l'angle réfracté et incident de la lumière.
Pour les calculer ( Rappel pour ceux a qui sa date^^) la formule est : n1*sinI1=n2*sinI2.
J'ai donc voulu crée un programme sur ma calculatrice pour automatiser tout ça.
Je me suis inspirer du programme utiliser pour Pythagore poster sur ce forum.
Malheureusement, mon programme marche bien mais lorsqu'il s'agit de faire le sinus de tout le calcul j'ai un problème. Pour ceux qui ne m'ont pas compris , je met le code.
Lbl 1
Effecr
Menu("Valeur","INCIDENT",I1,"REFRACTE",I2,"QUITTER",Q2
Lbl I1
Prompt B,N,M
Disp B
Disp N
Disp M //soit M l'angle réfracté I2
Disp (M*sin((B))/N
Disp sin((M*sin(B))/N)
Output(3,1,"B:")
Output(4,1,"N:")
Output(5,1,"M:")
Output(6,1,"(M*sin(B))/N:")
Output(8,1,"sin((M*sin(B))/N):")
Pause
EffEcr
Stop
Merci de votre aide.
Ps: N = angle incident I1
M = angle réfracté I2
Le code est pour l'instant fait que pour calculer l'angle incident.
Mon erreur est une erreur Domaine a la ) apres sin((M*sin(B))/N):")
Autorisation : Membre
Nb de messages : 14
Inscrit le : Mer 04 Nov 2009, 18:35
Posté le : Mer 25 Nov 2009, 17:55
Eh bien, normalement, l'erreur vient du fait qu'il faille fermer d'abord la parenthèse, puis ensuite les guillemets...
EDIT : En fait, non, la parenthèse est en trop, je crois ?
EDIT2 : Au temps pour moi, cette parenthèse, c'est celle du Output...
Eh bien je n'en sais rien en fait
Autorisation : Membre
Nb de messages : 31
Inscrit le : Jeu 19 Nov 2009, 21:05
Posté le : Mer 25 Nov 2009, 18:23
Ok, mais je vien de commencer, je ne comprend pas ce que tu veux dire par met le au dessus.
Comment en faire une variable ?
Merci
Sinon a part sa mon code est correcte ? (Au niveau des calculs)
Autorisation : Membre
Nb de messages : 2
Inscrit le : Jeu 26 Nov 2009, 5:01
Posté le : Jeu 26 Nov 2009, 5:27
voila le programme sur decarte que j'ai crée la semaine dernière:
STO pour la comande sto de la calculette
Code
lbl6
menu("decarte","calcul de i",1,"calcul de r",2,"calcul de n1",3,"calcul de n2",4,"quitter",5)
lbl1
effecr
input "n1 :",A
input "n2 :";B
input "R (en °) :",C
if A<1 ou B<1
goto E
arcsin(B/A*sin(C))STO D
disp "I :",D
pause
effecr
goto 6
lbl E
disp "impossible"
pause
effecr
goto 6
lbl2
input "N1 :",A
input "N2 :",B
input "I (en °) :",C
if A<1 ou B<1
goto F
arcsin(A/B*sinC))STO D
disp "R :",D
pause
effecr
goto 6
lbl F
disp "impossible"
pause
effecr
goto 6
lbl 3
effecr
input "I :",A
input "R :",B
input "N2 :",C
if C<1 ou A<0 ou B<0
goto G
sinA/sinB*C STO D
pause
effecr
goto 6
lbl G
disp "impossible"
pause
effecr
goto 6
lbl 4
effecr
input "I :",A
input "R :",B
input "N1 :",C
if A<0 ou B<0 ou C<1
goto H
sinA/sinB*C STO D
disp "N2 :",D
pause
effecr
goto 6
lbl H
disp "impossible"
pause
effecr
goto 6
lbl 5
Effecr
Autorisation : Membre
Nb de messages : 835
Inscrit le : Sam 20 Jui 2009, 20:35
Posté le : Jeu 26 Nov 2009, 18:01
A necromoine:Il veut dire que tu marques ton opération suivie de "->[une variable] sur la ligne au dessus du output,puis que tu remplaces ton opération dans le output par cette variable,mais ça ne résoudra pas le problème,car je crois que pour l'instant tu ne cherchais pas à afficher le résultat de ton opération mais ton opération elle-même.
Le bug vient tout simplement de là:
Lorsqu'on affiche un texte avec output et que ce texte dépasse la taille de la ligne,il s'affiche sur la ligne d'en dessous,or un écran fait 16*8 carreaux,et sur la 8ème ligne,tu essaye d'afficher "sin((M*sin(B))/N):",ce qui fait 18 caractères,soit deux de trop,la calculatrice affiche donc (ou essaye) ces deux caractères sur la ligne suivante,soit la 9ème,qui n'existe pas,d'où l'erreur domaine.