π
<-

[Mini-Challenge #13] : DelVoid

Sous-forums réunissant les mini-challenges en TI-Basic Nspire

[Mini-Challenge #13] : DelVoid

Unread postby Adriweb » 29 Sep 2014, 00:32

Je viens de penser à ceci sans raison apparente (quoique, Bisam a parlé de ça quelque part récemment, donc...), mais ça me parait suffisamment challengesque... :P

Rappel : voici la fonction delVoid(...) : "Returns a list that has the contents of List1 with all empty (void) elements removed"
Avec un screenshot vous comprendrez vite : (void et _, c'est pareil)
Image

Normal mode :
Ré-implementer delVoid(...).

Hard mode :
Ré-implementer delVoid(...)... sans utiliser la fonction isVoid(...).
A vrai dire, je n'ai pas essayé - je ne sais meme pas si c'est possible, on verra bien :)

C'est un "code golf", donc le code le plus court gagne.

GL HF :D

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: 79.9%
 
Posts: 14839
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [Mini-Challenge #13] : DelVoid

Unread postby esum » 29 Sep 2014, 06:08

Voici ma proposition pour le Hard mode: 84 caractères entre le Func et le EndFunc (compris) sans compter les espaces en début de ligne et les retours à la ligne:

Code: Select all
Define delvoid2(l)=
Func
Local i,r
r:={}
For i,1,dim(l)
  If string(l[i])≠"_"
    r:=augment(r,{l[i]})
EndFor
EndFunc


EDIT: Corrigé le ≠, merci Adriweb.
Last edited by esum on 29 Sep 2014, 09:02, edited 1 time in total.
User avatar
esum
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Level up: 76%
 
Posts: 2
Joined: 04 Sep 2014, 20:42
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: MPSI

Re: [Mini-Challenge #13] : DelVoid

Unread postby critor » 29 Sep 2014, 06:39

Bien :)

Voici il me semble un tout petit peu plus court:
Image
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 53.4%
 
Posts: 42392
Images: 17088
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [Mini-Challenge #13] : DelVoid

Unread postby Adriweb » 29 Sep 2014, 06:44

Ah bah oui, zut, j'aurais surement du interdire la comparaison avec le string, je cherchais plus troll que ca :P Mais bien trouvé :)
Bref, tant pis pour moi, on verra pour une version plus complexe plus tard.

Sinon, @esum : tu veux dire "≠" au lieu de "=" non ?
@critor : Hum, du coup, code identique a esum ? (Faut que j'aille dormir, j'arrive plus a lire :P)

Edit : avec la meme idee que vous, j'arrive a faire quelques caracteres de moins.

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: 79.9%
 
Posts: 14839
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [Mini-Challenge #13] : DelVoid

Unread postby critor » 29 Sep 2014, 09:16

Adriweb wrote:@critor : Hum, du coup, code identique a esum ? (Faut que j'aille dormir, j'arrive plus a lire :P)


esum a dû éditer entre temps, car il n'utilisait pas le string() ce matin mais un charCode().
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 53.4%
 
Posts: 42392
Images: 17088
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [Mini-Challenge #13] : DelVoid

Unread postby Excale » 29 Sep 2014, 11:31

Sans string (ou assimilé), certitude (ou assimilé) ni tentative de réduire la taille (ou assimilé):

Code: Select all
Define delvoid2(l)=
Func
Local i,r
r:={}
For i,1,dim(l)
  r:=ifFn(l[i]=0 or true,augment(r,{l[i]}),0,r)
EndFor
EndFunc
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: [Mini-Challenge #13] : DelVoid

Unread postby esum » 29 Sep 2014, 16:43

Oui j'ai édité mon code rapidement quand j'ai remarqué que je pouvais économiser 4 caractères en comparant le string directement.

@Excale bien vu pour le IfFn.
User avatar
esum
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Level up: 76%
 
Posts: 2
Joined: 04 Sep 2014, 20:42
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: MPSI

Re: [Mini-Challenge #13] : DelVoid

Unread postby Bisam » 29 Sep 2014, 17:47

Le "ifFn" n'est qu'anecdotique... Ce qui est bien vu, c'est le l[i]=0 or true qui est toujours vrai, sauf lorsque l[i] est "void", auquel cas, il est considéré comme "undef" dans le "ifFn".
Celui-là, il fallait le trouver !
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 #13] : DelVoid

Unread postby Adriweb » 29 Sep 2014, 18:00

Voila ! c'est ce genre de trollerie que j'attendais - ou une "Excalerie", devrais-je l'appeler :P

GG :)

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: 79.9%
 
Posts: 14839
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [Mini-Challenge #13] : DelVoid

Unread postby Adriweb » 01 Oct 2014, 20:05

Excale est a 85 caracteres, Critor a 84 :P
Qui dit mieux ? ^^

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: 79.9%
 
Posts: 14839
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Next

Return to Mini-Challenges

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 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.
1630 utilisateurs:
>1594 invités
>29 membres
>7 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)