Forum

Catégorie : Programmes
Forum : Aide à la programmation
Vues : 1207
Réponses : 18
Type : discussion
Etat : réponses autorisées

Aide générale

eArnoow le 26/10/2012 à 21:56
Salut à tous !
Je crée des programmes de maths et j'ai besoin de plusieurs astuces :
- Comment effacer mes listes DÉFINITIVEMENT (car après EffListe elles occupent encore 9 octets et je suis un maniaque de a mémoire) ?
- Comment effacer le programme lancé de Rép, afin de ne plus relancer le programme après l'appui sur Entrée ?
- Comment arrondir à X décimales ?
- Comment connaître la longueur d'un nombre, après l'avoir arrondi (partie entière + point + décimales) ?
- Comment savoir si un nombre peut être mis sous la forme d'une fraction ?
- Peut-on afficher le résultat d'un calcul sous la forme d'une racine carrée ?

Merci d'avance
linkakro le 26/10/2012 à 23:04
Code
EffVar lX  // supprimme la variable lX
 // peut provoquer des choses bizarres avec les listes L1 à L6 et le menu stat
 // de plus je déconseille de supprimmer ces six variable

EffaceEntrées // menu 2nde+[+](mémoire)+3
              // pour effacer les entrées de 2nde+enter(préced)

arrondit(R,X) // math+droite+2

Pas moyen infaillible et simple de mesurer la longueur d'un nombre. (possible de façon compliquée)
Le plus simple pour un nombre entier positif non-nul : 1+ent(log(X
Longueur d'un nombre quelconqu[...]le et complète

Pas de moyen de savoir si la calculatrice trouvera une fraction si ce n'est en executant la fonction Frac

Pas de moyen automatique de mettre un nombre en racine.
Il faut souvent utiliser un programme complexe. Le plus simple que j'ai écrit commet parfois des erreurs d'arrondit
RACFRAC

EDIT : bien sûr tout est possible en language assembleur mais je vous laisse chercher, en particulier sur ti-planet.
eArnoow le 27/10/2012 à 19:38
OK merci.

Efface entrées ne fonctionne pas dans un programme.
Je voudrais que prgmMATH ne soit plus dans Rép.
linkakro le 27/10/2012 à 20:26
Tu fais lire n'importe quoi, le nombre zéro par exemple, et cela le stockera dans Rép.
Quant aux entrées, soit tu les supprimmes avec la fonction soit tu les remplaces avec des saisies dans l'écran principal.
eArnoow le 27/10/2012 à 21:37
Si j'envoie 0, il est stocké dans Rép, mais en fin de compte prgmMATH est stocké dans précéd ([2nde] + [entrer]).
Comment modifier ça ?
m@thieu41 le 27/10/2012 à 22:25
Slt!
J ai eut le même probleme que toi,et c est apparemment impossible (sauf peut-etre avec un prgm en asm, mais je saurais pas faire)
J ai toutefois trouvé une alternative: je ne sais pas si tu sais,mais apres avoir fait "0->NbAleat", nbAleat renvoie toujours le meme nombre (0,9....). Du coup,mets au debut de ton prgm
"If nbAleat != .9.....
Stop"
puis tu suprime les entrees dans le prgm
Pour le lancer,tu n as plus qu a faire 0->nbAleat, puis tu le lance. Apres le prgm sera toujours dans preced, mais nbAleat ne renvera plus le meme nb, et 0->NbAleat ne sera plus dans les entrees... donc a moins de connaitre la manip, on ne peut plus le lancer winkle.gif
linkakro le 27/10/2012 à 23:28
Utilisez la fonction EffaceEntrées pour effacer les entrées de 2nde+enter(Précéd).
Je dois le mentionner combien de fois ? Pour l'instant ça fait trois.
edit: ou bien je ne comprend pas votre objectif

Ne pas confondre Rép et Précéd : Rép donne le dernier résultat et Précéd donne les dernières entrées.

Initialiser les aléatoires (0->NbrAleat) ne sert strictement à rien dans l'effacement des entrées.
De plus ce sera exactement la même chose avec toutes les fonction aléatoires.
m@thieu41 le 28/10/2012 à 00:35
tu as mal compris je pense:
Ce que j ai dit, c est pour plus qu on puisse plus relancer le prgm depuis les entrees apres avoir quitte le prgm SANS RENTRER QUOI QUE CE SOIT DANS LE MENU PRINCIPAL (ca revient a le suprimer des entrees,vu qu on ne peut de toute facon plus l utiliser)
D ailleurs quand je dis d effacer les entrees dans le prgm,je parle d utiliser la fonction effaceEntrees qui n efface pas le prgm utilise d entree, mais "0->nbAleat", ce qui fait que le prgm ne peut ensuite plus etre lance si on ne connais pas l astuce bigmouth.gif
eArnoow le 28/10/2012 à 08:30
J'ai bien compris que Effacer entrées permet d'effacer précéd mais le problème c'est que ça ne fonctionne pas a l'intérieur du programme.

Qu'à à voir NbrAleat dans précéd ?
m@thieu41 le 28/10/2012 à 10:08
Bah en fait, pour lancer le prgm avec ce que je t'ai dit, tu dois faire:
"0->NbAléat [entrer]
Prgmxxx [entrer]"
Comme ça, quand tu efface les entrées dans le prgm, il ne reste plus que (dans précédant):
"Prgmxxx"
Tu aura beau essayer de le lancer, ça n'affichera que "fait" (ou "done"), à moins de faire "0->NbAléat", qui lui, n'est plus dans les entrées winkle.gif
eArnoow le 28/10/2012 à 10:53
Il y a sûrement un autre moyen et je n'ai pas envié de taper 0->NbrAleat à chaque fois que je veux utiliser un programme U_U' et d'expliquer à mes potes d'entrer ça à chaque fois...
linkakro le 28/10/2012 à 12:56
Je réalise à présent que EffaceEntrées n'efface pas la dernière entrée. J'oubliais ce détail.
Cependant cela ne t'empêches pas de supprimmer les entrées depuis l'écran principal ou depuis un autre programme.

Maintenant je comprend ton objectif, m@thieu41.
Faute de pouvoir effacer automatiquement "prgmMATH", tu veux empêcher d'executer le programme naturellement.
Mais cela ne permet pas de cacher l'utilisation du programme, et c'est bien plus compliqué que d'utiliser EffaceEntrées depuis un autre programme ou écran.
Je rappelle en effet que le but original est de cacher l'usage de prgmMATH.
m@thieu41 le 28/10/2012 à 13:05
linkakro a écrit :
le but originale

Originel tu veux dire laugh.gif

@eArnoow: Je vois ce que tu veux dire... si tu veux, je vais faire une petite recherche pour savoir si on peut supprimer les entrées (même le prgm utilisé) avec un prgm Asm, que tu pourra alors utiliser dans ton prgm, mais je garantis rien bigmouth.gif
linkakro le 28/10/2012 à 13:18
En attendant d'utiliser un programme asm, je propose simplement de développer mon idée de programme annexe.
Code
//// programme LOL
EffaceEntrées // facultatif
prgmMATH
m@thieu41 le 28/10/2012 à 13:25
Mais ça change rien: prgmLOL est toujours dans précéd, dès qu'on quitte, on peut le relancer avec précéd, et ça lance prgmMATH crazy.gif
linkakro le 28/10/2012 à 15:11
Au moins cela cache l'usage de prgmMATH.
Pour moi le but est de cacher l'usage passé, pas d'empêcher l'usage.
eArnoow le 28/10/2012 à 15:19
Non le but n'est pas de cacher mais je fais souvent des erreurs en tapant sur [entrer] trop vite donc c'était pour savoir
Merci en tout cas, mais laissez tomber l'ASM
m@thieu41 le 28/10/2012 à 15:38
eArnoow a écrit :
mais laissez tomber l'ASM
cry.gif
Faut pas dire ça!
C'est génial l'Asm winkle.gif

De toute façon, je voulais me faire un prgm du dtyle pour cacher (et empêcher) l'usage de certains de mes prgm. En plus, à priori, ça n'a pas l'air compliqué à gérer bigmouth.gif
Samos le 30/10/2012 à 11:57
https://tiplanet.org/forum/por[...]oir.php?id=2064

Voila Zfrac, il sera peut-être utile.
Vous rentrez le nombre dans W lancer le programme puis il retourne de numérateur dans W et le dénominateur dans I.
évitez les erreurs de recopiage tongue.gif