π
<-
Chat plein-écran
[^]

[Mini-Challenge Lua #1] : CAS ou non-CAS ?

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

[Mini-Challenge Lua #1] : CAS ou non-CAS ?

Message non lude Adriweb » 22 Juin 2014, 22:51

Bonjour tout le monde,

J'ai pensé que ça serait sympa de proposer quelques mini-challenges en Nspire-Lua, comme ça a déjà été fait dans d'autres langages (qui s'y prêtent parfois plus, côté optimisation, mais... pas grave :D)

Pour cette première édition, le but est simple :
Déterminer si la plateforme sur laquelle le script s'exécute est une CAS ou non-CAS, peu importe l'état des variables ou la configuration mathématique de la machine.
La valeur de retour devra être un boolean (soit true, soit false - nil non accepté) nommé "isCAS".


Règles (spécifiques à ce challenge ou non, je ne sais pas encore, on verra...)
  • Le but est de réaliser ceci avec un code le plus court possible (minimum de caractères) *
  • Utilisation de Nspire-Lua pur (que ce que TI fournit : pas de LuaExtension ou autre chose de non officiel :P). (ceci est une règle globale à tous les challenges, cependant...)
  • Tous les apilevels sont autorisés, du moment que le code fonctionne sur OS 3.6

* On commencera à compter à partir du premier caractère non-espace après l'assignation de la variable. Par exemple : isCAS = blabla .. blabla2 comptera comme 17 caractères.

Quelques liens utiles : PDF officiel de l'API Nspire et Wiki Inspired-Lua ;)

Vous pouvez partager vos codes ou uniquement sa longueur, comme vous voulez - m'enfin, ne trichez pas en recopiant d'autres personnes : c'est le premier qui aura posté le plus court qui aura gagné (jusqu'à ce qu'il y ait plus court, ou que le challenge soit fermé pour la compétition)


Les challenges seront "fermés" à la compétition soit au bout de x participations, soit au bout de y jours, on verra bien. (les topics resteront ouvert et n'importe qui pourra poster, mais il n'y aura pas de nouveau gagnant officiel de désigné s'il y en a déjà eu un dans le temps/conditions imparti)
(pour l'instant, ya pas grand chose de fixé dans les "règles" - si vous avez des idées pour les règles, faites-moi en part)


Bonne chance :)

Et pis, pourquoi pas pour celui qui remportera le plus de challenges, des stickers TI-Planet à gagner ? :P
M'enfin, ce n'est pas un véritable concours comme les grands trucs qu'on organise, c'est principalement pour le fun et l'apprentissage partagé de connaissances générales et d'astuces ;)
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.2%
 
Messages: 14614
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [Mini-Challenge #1] : CAS ou non-CAS ?

Message non lude turok52 » 22 Juin 2014, 23:07

Ca a l'air sympa.
Je posterai un truc demain soir, une fois que j'aurai un peu étudié la syntaxe lua et les apis de la nspire. ^^

Pour le moment en pseudo-code on pourrait faire :

iscas = (2*z)

Renvoie un int donc un true si 2*z est possible, donc que z est considérée comme une variable, donc c'est du CAS
Et une erreur (car z n'est pas considéré comme une variable, nanana la nspire rale, donc un false) sinon.

Je pense pas que ce soit correct comme code mais bon ^^
Avatar de l’utilisateur
turok52
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 56.3%
 
Messages: 17
Inscription: 16 Juin 2014, 16:11
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: TS

Re: [Mini-Challenge #1] : CAS ou non-CAS ?

Message non lude Levak » 22 Juin 2014, 23:11

Adriweb a écrit:Utilisation Nspire-Lua pur (pas de troll :P).


Sans math.eval ou var.store, j'ai du mal à saisir comment tu peux faire ce test : est-ce considéré comme du Lua pur ?
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: [Mini-Challenge #1] : CAS ou non-CAS ?

Message non lude Adriweb » 22 Juin 2014, 23:12

Ah oui, par Nspire-Lua pur j'entends pas de Lua Extensions avec ndless.
Tout ce qui est fourni de base par TI, quoi.
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.2%
 
Messages: 14614
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [Mini-Challenge #1] : CAS ou non-CAS ?

Message non lude Bisam » 22 Juin 2014, 23:13

Pour ce qui est du code de turok :
1) La multiplication par 2 ne sert à rien.
2) Le code renvoie une erreur et non False lorsque ce n'est pas une CAS
3) Le code ne renvoie pas True mais une expression
4) Le code ne fonctionne de toute façon pas du tout car il faut passer par le Basic pour l'évaluation
5) Même si tout cela fonctionnait, le code échoue si par malheur z possède une valeur !

Bref : FAIL !

Adriweb, est-il autorisé d'utiliser "math.eval" ?
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: [Mini-Challenge #1] : CAS ou non-CAS ?

Message non lude turok52 » 22 Juin 2014, 23:14

Bisam a écrit:Pour ce qui est du code de turok :
1) La multiplication par 2 ne sert à rien.
2) Le code renvoie une erreur et non False lorsque ce n'est pas une CAS
3) Le code ne renvoie pas True mais une expression
4) Le code ne fonctionne de toute façon pas du tout car il faut passer par le Basic pour l'évaluation
5) Même si tout cela fonctionnait, le code échoue si par malheur z possède une valeur !

Bref : FAIL !

Adriweb, est-il autorisé d'utiliser "math.eval" ?


Je pense pas que ce soit correct comme code mais bon ^^


J'avais raison ! \o/
Avatar de l’utilisateur
turok52
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 56.3%
 
Messages: 17
Inscription: 16 Juin 2014, 16:11
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: TS

Re: [Mini-Challenge #1] : CAS ou non-CAS ?

Message non lude Adriweb » 22 Juin 2014, 23:15

@Bisam : yep, tout ce que TI fournit dans le Nspire-Lua, sans modifications, est autorisé :)
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.2%
 
Messages: 14614
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [Mini-Challenge #1] : CAS ou non-CAS ?

Message non lude AnToX98 » 22 Juin 2014, 23:19

Bah voila c'est pas bien dur :

Code: Tout sélectionner
function iscas()
    if math.eval("solve(x=1,x)") then
        return true
    else
        return false
    end
end


isCas = iscas()
Avatar de l’utilisateur
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 75.5%
 
Messages: 1022
Images: 15
Inscription: 19 Mai 2013, 16:54
Localisation: Paris, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1ere S

Re: [Mini-Challenge #1] : CAS ou non-CAS ?

Message non lude AnToX98 » 22 Juin 2014, 23:22

Encore plus optimisé

Code: Tout sélectionner
function iscas()
    return math.evalStr("solve(x=1,x)")=="x=1"
end



[Edit by Bisam] Ca te dérange pas si je corrige tes erreurs de syntaxe flagrantes ?
Avatar de l’utilisateur
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 75.5%
 
Messages: 1022
Images: 15
Inscription: 19 Mai 2013, 16:54
Localisation: Paris, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1ere S

Re: [Mini-Challenge #1] : CAS ou non-CAS ?

Message non lude Levak » 22 Juin 2014, 23:27

J'aurais tendance à dire :
Code: Tout sélectionner
isCAS = (math.evalStr("x") ~= nil)
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Suivante

Retourner vers News TI-Nspire

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 52 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.
1540 utilisateurs:
>1510 invités
>26 membres
>4 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)