π
<-
Chat plein-écran
[^]

Party: amusez vous avec part()

Pour le TI-Basic sur Nspire

Party: amusez vous avec part()

Message non lude Excale » 07 Mar 2014, 17:42

C'est bien connu, part() est une fonction fort étrange... j'ai donc essayé de la rendre un peu plus humaine avec la bibliothèque party.

Les anciens le savent, quand je publie un truc en basic, c'est pas pour le basic (soit c'est pour des couleurs totalement improbable sur la page de présentation, soit il y a du C caché dedans ou du lua magique...). Cette fois, je vous promet qu'il n'y a ni C, ni lua. Juste du basic.

Voici donc les deux fonctions que fournit party:
party(expr): renvoie une liste avec en premier le séparateur (qui vous serait donné par part(expr,0)), puis toutes les parties stringifiées (je suis obligé de les stringifier, car les listes de matrices ne sont pas appréciées par la nspire).
Ainsi, {part(x+y+z,0),part(x+y+z,1),part(x+y+z,2)}={"+",z,x+y}, et party(x+y+z)={"+","x","y","z"}.
Pour dire les choses simplement, party(expr) essaye de renvoyer l'expression explosée selon le premier séparateur.

party_time(expr): c'est bien connu, parfois, part(expr)=0. Dans ce cas, part(expr,0) n'est pas le séparateur, mais le tout stringifié. party_time(expr) vous revoie donc soit le séparateur s'il existe, soit undef si part(expr)=0.

Limites:
-les capacités de part
-le programme est récursif, ne dépassez pas les capacités de récursion de la Nspire (malheureusement très limitées)
-je suis tombé sur deux bugs de la Nspire pendant la conception (qui en plus dépendent de l'OS...). Je n'ai fait tourner ma batterie de tests que sous l'OS 3.1. J'espère donc que ça marchera bien sur les autres

Je vous encourage donc à tester et à réussir à trouver un bug dans mon programme :).
Si vous pensez qu'il manque des fonctions dans cette lib, proposez ce que vous aimeriez y voir figurer.

Tutoriel: (à suivre absolument)
-télécharger le fichier en pièce jointe
-le mettre dans le dossier Mylib
-rafraîchir les bibliothèques
-utiliser un classeur/un programme (ou, si vous avez vendu votre âme au diable, le scratchpad) pour appeler party\party(votre_expression) ou party\party_time(votre_expression)
Fichiers joints
party.tns
(1.44 Kio) Téléchargé 141 fois
Avatar de l’utilisateur
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 3.9%
 
Messages: 2955
Images: 3
Inscription: 10 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Party: amusez vous avez part() [version beta]

Message non lude Adriweb » 08 Mar 2014, 01:02

Je plussoie rien que pour le nom ;) (et pour le fait que oui, un programme pur Basic apparemment de ta part ... :D)

Mais sinon, bien joué, je vais regarder ca de plus près quand j'aurais un peu de temps :p
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.5%
 
Messages: 14641
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Party: amusez vous avez part() [version beta]

Message non lude pierrotdu18 » 08 Mar 2014, 11:37

Heu... Je peux juste savoir pourquoi ça fait un shutdown du logiciel quand on lance ton .tns ?... :p

Bon en même temps t'avais dit de suivre des consignes, ok, mais je voulais quand même voir... Comment t'as fait ça?... :o
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: Party: amusez vous avez part() [version beta]

Message non lude Excale » 08 Mar 2014, 13:31

pierrotdu18 a écrit:Bon en même temps t'avais dit de suivre des consignes, ok, mais je voulais quand même voir... Comment t'as fait ça?... :o


J'ai une bonne dizaine de manières de faire planter TINCS / la calculatrice avec un .tns tordu.
Avatar de l’utilisateur
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 3.9%
 
Messages: 2955
Images: 3
Inscription: 10 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Party: amusez vous avez part() [version beta]

Message non lude pierrotdu18 » 08 Mar 2014, 13:37

Ah la la, tu ne pourrais pas faire un programme comme tout le monde toi? :p

Et pour faire planter, j'imagine que tu modifies le contenu des fichiers XML du .tns non? :p
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: Party: amusez vous avez part() [version beta]

Message non lude Excale » 08 Mar 2014, 13:48

pierrotdu18 a écrit:Ah la la, tu ne pourrais pas faire un programme comme tout le monde toi? :p

Non, ce serait pas drôle sinon. Un .tns se doit d'être hors du commun. :P

pierrotdu18 a écrit:Et pour faire planter, j'imagine que tu modifies le contenu des fichiers XML du .tns non? :p

C'est un moyen, il y en a d'autres.
Avatar de l’utilisateur
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 3.9%
 
Messages: 2955
Images: 3
Inscription: 10 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Party: amusez vous avez part() [version beta]

Message non lude critor » 08 Mar 2014, 13:52

Moi, j'arrive même à faire planter TINCS sans le chercher. ;)
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 43.7%
 
Messages: 41540
Images: 15000
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Party: amusez vous avez part() [version beta]

Message non lude pierrotdu18 » 08 Mar 2014, 14:31

Oui moi malheureusement c'est l'unique façon dont j'arrive à le faire planter :p

Et sinon, je peux oser te demander comment tu fais Excale? :)
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: Party: amusez vous avez part() [version beta]

Message non lude Excale » 08 Mar 2014, 14:39

pierrotdu18 a écrit:Et sinon, je peux oser te demander comment tu fais Excale? :)


Pour le coup, c'est bien avec du XML étrange que je fais planter TINCS. Pour plus d'informations, je te laisse regarder le XML et comparer avec celui d'un classeur normal qui s'ouvre correctement.

Mais comme je l'ai déjà dit, c'est pas ça le plus important ici :D.
Avatar de l’utilisateur
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 3.9%
 
Messages: 2955
Images: 3
Inscription: 10 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Party: amusez vous avez part() [version beta]

Message non lude pierrotdu18 » 08 Mar 2014, 14:44

Sinon, je peux te proposer une nouvelle fonction, comme tu demandais si on avait des idées ;)

Si ta fonction s'appelle
$mathjax$\text{partie}$mathjax$
, alors :

$mathjax$\text{partie}(a+b+c)=\{ ``a'",``+",``b",``+",``c"\}$mathjax$


$mathjax$\text{partie}(e^x)=\{ ``e",``\^{}",``x"\}$mathjax$


$mathjax$\text{partie}(\cos(\theta)+i \sin(\theta))=\{ ``\cos(\theta)",``+",``i",``*",``\sin(\theta)"\}$mathjax$


Désolé, la commande de l'accent circonflexe ne marche pas ;)
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Suivante

Retourner vers Nspire-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 9 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1030 utilisateurs:
>954 invités
>70 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)