π
<-

[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 ?

Unread postby Adriweb » 22 Jun 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 ;)

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby turok52 » 22 Jun 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 ^^
User avatar
turok52
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 56.3%
 
Posts: 17
Joined: 16 Jun 2014, 16:11
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: TS

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

Unread postby Levak » 22 Jun 2014, 23:11

Adriweb wrote: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
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

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

Unread postby Adriweb » 22 Jun 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.

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby Bisam » 22 Jun 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" ?
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby turok52 » 22 Jun 2014, 23:14

Bisam wrote: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/
User avatar
turok52
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 56.3%
 
Posts: 17
Joined: 16 Jun 2014, 16:11
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: TS

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

Unread postby Adriweb » 22 Jun 2014, 23:15

@Bisam : yep, tout ce que TI fournit dans le Nspire-Lua, sans modifications, est autorisé :)

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby AnToX98 » 22 Jun 2014, 23:19

Bah voila c'est pas bien dur :

Code: Select all
function iscas()
    if math.eval("solve(x=1,x)") then
        return true
    else
        return false
    end
end


isCas = iscas()
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

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

Unread postby AnToX98 » 22 Jun 2014, 23:22

Encore plus optimisé

Code: Select all
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 ?
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

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

Unread postby Levak » 22 Jun 2014, 23:27

J'aurais tendance à dire :
Code: Select all
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
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Next

Return to News TI-Nspire

Who is online

Users browsing this forum: ClaudeBot [spider] and 16 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
848 utilisateurs:
>825 invités
>14 membres
>9 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)