Du plus grand au plus petit convertion/unitée de longueur
Auteur
Message
programmathss Invité
Posté le : Jeu 06 Oct 2011, 22:49
Salut salut c'est moi, j'ai un controle Lundi sur les unitée de longueur en physique, puissance de 10, chiffre significatif, ordre de grandeur etc...
Même si nous avons pas le droit a la calculette je vais faire un petit programme sur ça pour réviser en m'amusant on va dire
Donnez moi des idée ^^
pour les convertions (input 52nm (nanometre) et le programme donne 0,000 000 052 metre, etc)
Enfin, je sais faire, je le posterais en fin de week end vous pouvez juste... m'encourager !
programmathss Invité
Posté le : Jeu 06 Oct 2011, 22:55
A oui ! comment on demande au programme d'afficher un nombre en puissance de 10/ afficher un nombre avec les zéro même si yen a beaucoup ? sans passer par le MODE>SCI
par exemple 1 mètre, ça écrira: 1 metre et 10e0 mettre
par exemple 1 000 000 000 000 000 metres, ça s'écrira: forcément en puissance de 10, comment forcer a afficher le nombre en entier ?
je fais en mode graphique, il y a normalement de la place.
EDIT : voyez le code plus bas dans le sujet, mais il a des problèmes de caractères.
EDIT : des développements qui en découlent (quelqu'un s'en inspire et a des problèmes) : ceci
EDIT 4/9/2013 : Voici un code plus lisible que l'autre. Un seul et même programme. J'ai ajouté des commentaires pour aider.
Code
:"BY LINKAKRO
2->dim(L1
{12,9,6,3,2,1,0,-1,-2,-3,-6,-9,-12,-15}->L2
Normal
Flottant
EffEcr
Output(1,1," TERA DECI GIGA CENTI MEGA MILI KILO MICRO HECTO NANO DECA PICO : FEMTO
//comptez bien les espaces en surlignant ou éditant.
//Le résultat doit être deux colonnes de mots
4->A
1->B
Output(4,1,"1
For(W,1,2 // deux choix de décade (départ puis arrivée)
Repeat K=105 // déplacements jusqu'à valider avec entrer
Output(A,8B-7,W // curseur (numéro de choix pour ne pas s'emmêler)
Repeat K // pause jusqu'à touche pressée
codeTouche->K
End
Output(A,8B-7," " // effacement du précédent curseur
A+(K=34)-(K=25)->A // déplacement si touches fléchées
B+(K=26)-(K=24)->B
If A=0 // retours d'une extrémité à l'autre
7->A
If B=0
2->B
If A=8
1->A
If B=3
1->B
L2(A+7B-7->C // stockage de l'exposant de la décade choisie
// cela utilise la position dans le menu
End
C->L1(W // stockage du choix Wième dans la liste à la case W
End
-1
Menu("PUISSANCE","NORMALE",P0,"CARRE ²",P2,"CUBE ³",P3,"INVERSE -1",P1
Lbl P3
Rép+1
Lbl P2
Rép+1
Lbl P0
Rép+2
Lbl P1
Rép->P
EffEcr
Prompt X
P(L1(1)-L1(2))->U // calcul de la variation d'exposant entre les choix
Disp U,X10^(U // écart d'exposant puis valeur convertie, en Floattant.
Sci
Disp X10^(U // idem en scientifique
EffListe L1,L2
---------------------- 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 : 92
Inscrit le : Lun 10 Mai 2010, 19:24
Posté le : Lun 10 Oct 2011, 13:20
Tu peux aussi pour les puissances de 10 rentrer le nombre dans une chaîne dont tu mesures la longueur.
Avec des fonctions de recherche tu dois pouvoir "découper" la chaîne en deux parties:les zéros et le nombre.
Les chiffres significatifs, tu vas devoir te résoudre à réviser sans t'amuser on va dire ^^' .Des applications peuvent le faire mais ne sont pas pratiques pratiques.
Métalocif
---------------------- "On ne ment jamais autant qu'avant les élections, pendant la guerre et après la chasse." Clémenceau
Linka ton programme est super ! c'est exactement ce que je voulasi faire mais le tiens est très cour bravo !
les résultat c'est:
- la puissance de 10 qu'on multipli par X
- le résultats en décimal (si ya pas trop de zero)
- le résultats en puissance de 10.
vraiment bien ^^', j'ai rajouter quelque ptit truck genre:
l'ordre de grandeur,
LE choix 1 dans la chaine 1
Le choix 2 dans la chaine 2
Et au lieu de promt X, j'ai mis "input Str1,X
et ça met : "disp Str2""U... "
ça facilite la compréension.
Enfin, gg voila ton code pour ceux qui n'ont pas de cable:
Code
:"BY LINKAKRO
2üdim(L
{12,9,6,3,2,1,0,ú1,ú2,ú3,ú6,ú9,ú12,ú15}üL‚
Normal
Flottant
EffEcr
Output(1,1," TERA DECI GIGA CENTI MEGA MILI KILO MICRO HECTO NANO DECA PICO : FEMTO
4üA
1üB
Output(4,1,"1
For(W,1,2
Repeat K=105
Output(A,8B-7,W
Repeat K
codeTouch(üK
End
Output(A,8B-7," "
A+(K=34)-(K=25)üA
B+(K=26)-(K=24)üB
If A=0
7üA
If B=0
2üB
If A=8
1üA
If B=3
1üB
L‚(A+7B-7üC
End
CüL(W)
End ú1
Menu("PUISSANCE","NORMALE",P0,"CARRE Ü",P2,"CUBE Ó",P3,"INVERSE ñ",P1
Lbl P3
Rep+1
Lbl P2
Rep+1
Lbl P0
Rep+2
Lbl P1
RepüP
EffEcr
Prompt X
P(L(1)-L(2))üU
Disp U,Xý^(U
Sci
Disp Xý^(U
EffListe L,L‚
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 12 Mai 2013, 0:32
Il s'agissait des listes L1 et L2 devenues "L " et "L," par erreur de conversion des caractères.
En soit on peut mettre les listes qu'on veut, tant que l'ensemble du programme est cohérent.
Le message de Kelk'1 ne convient donc pas au contexte.
---------------------- 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)