π
<-

[Mini-Challenge Basic #4] : Combien d'arguments ?

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

Re: [Mini-Challenge Basic #4] : Combien d'arguments ?

Unread postby Levak » 01 Jul 2014, 22:52

Nspirecas wrote:Non non ton code prend 175 caractères sans les espaces et celui-ci :

Pas avec le code que tu avais posté plus tôt, c'est tout.
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 Basic #4] : Combien d'arguments ?

Unread postby NspireCas » 01 Jul 2014, 22:55

ça ne comptait pas j'avais rajouté le cas où les fonctions n'existent pas dans le classeur (ce que tu n'as pas fait), regarde les lignes en plus :

Code: Select all
   Try
      If string(expr(g&"("&i&")"))≠g&"("&i&")" Then
         Disp g&" nécessite au moins "&string(a)&" argument"&when(a>1,"s","")
      Else
         Disp g&" n'existe pas dans ce classeur"
      EndIf
   Else
      Disp g&" n'existe pas dans ce classeur"
   EndTry


Bisam wrote:Si la chaîne de caractères ne correspond pas au nom d'une fonction ou d'un programme, on affichera un message d'erreur compréhensible.


Bon après tu vas surement réussi à condenser ce code et tu reprendras le dessus :p.
User avatar
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 6.4%
 
Posts: 1304
Images: 7
Joined: 04 Oct 2012, 20:44
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: -

Re: [Mini-Challenge Basic #4] : Combien d'arguments ?

Unread postby Levak » 01 Jul 2014, 22:56

Par contre, tu vas m'expliquer comment fait ton coder pour fonctionner avec des b=0 ou i=1.
;)
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 Basic #4] : Combien d'arguments ?

Unread postby NspireCas » 01 Jul 2014, 23:00

Ah mince :p
En fait j'ai supprimé tous les ':' à cause de ceux de début de ligne et j'ai oublié que ça allait trafiquer les affectations ^^.
Bon ça me fait toujours 161 caractères :D.
User avatar
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 6.4%
 
Posts: 1304
Images: 7
Joined: 04 Oct 2012, 20:44
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: -

Re: [Mini-Challenge Basic #4] : Combien d'arguments ?

Unread postby Levak » 01 Jul 2014, 23:04

Histoire d'honorer ma lignée (sans prélude, 129 caractères dont 4 espaces mandatory) :
Code: Select all
Define getnargs(s)=
Prgm
  Local i
  0→i
  s&"("→s
  While true
    Try
      expr(s&")")
      Stop
    Else
      If errCode≠930
        Exit
      s&when(inString(s,"(_")>0,",_","_")→s
      i+1→i
    EndTry
  EndWhile
  Disp i
EndPrgm
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 Basic #4] : Combien d'arguments ?

Unread postby pierrotdu18 » 01 Jul 2014, 23:15

Aïe :p

J'allais dire 133 caractères, mais trop tard ;)

Code: Select all
Define getnargs(s)=
Prgm   
  ""→i   
  0→a   
  930→b   
  While b=930       
    0→b       
    Try           
      expr(s&"("&i&")")       
    Else           
      errCode→b           
      a+1→a     
    EndTry         
    i&when(a=1,"_",",_")→i   
  EndWhile   
  Disp a
EndPrgm
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: [Mini-Challenge Basic #4] : Combien d'arguments ?

Unread postby pierrotdu18 » 01 Jul 2014, 23:16

Levak wrote:Histoire d'honorer ma lignée (sans prélude, 129 caractères dont 4 espaces mandatory) :
Code: Select all
Define getnargs(s)=
Prgm
  Local i
  0→i
  s&"("→s
  While true
    Try
      expr(s&")")
      Stop
    Else
      If errCode≠930
        Exit
      s&when(inString(s,"(_")>0,",_","_")→s
      i+1→i
    EndTry
  EndWhile
  Disp i
EndPrgm


Déjà, les locals ne sont pas obligatoires dans un programme donc tu économises des caractères ;)
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: [Mini-Challenge Basic #4] : Combien d'arguments ?

Unread postby pierrotdu18 » 01 Jul 2014, 23:18

Désolé pour le triple postage, mais je viens de réaliser que Levak avait dit "sans prélude" !

Je descends donc à 104 caractères! ;)

EDIT: 106 pardon, avec les espaces obligatoires ;)


Oups, il y a un problème dans ma fonction, je monte donc à 114 caractères.....

Code: Select all
Define getnargs(s)=
Prgm
   ""→i
   0→a
   930→b
   While b=930
      0→b
      Try
          expr(s&"("&i&")")
      Else
          errCode→b
          If b=930
          a+1→a
     EndTry
        i&when(a=1,"_",",_")→i
   EndWhile
   Disp a
EndPrgm
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: [Mini-Challenge Basic #4] : Combien d'arguments ?

Unread postby Levak » 01 Jul 2014, 23:47

Bon, bah 100 :
Code: Select all
Define getnargs(s)=
Prgm
  0→i
  s&"("→s
  Loop
    Try
      expr(s&")")
      Stop
    Else
      If errCode≠930
        Exit
      s&when(i>0,",_","_")→s
      i+1→i
    EndTry
  EndLoop
  Disp i
EndPrgm
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 Basic #4] : Combien d'arguments ?

Unread postby pierrotdu18 » 01 Jul 2014, 23:49

Oui, je pensais en effet à ça comme améliorations ;)
Pour éviter la ligne avec le inString et éventuellement le true ;)

Par contre, là, il est possible que tu aies définitivement gagné... :p
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

PreviousNext

Return to Mini-Challenges

Who is online

Users browsing this forum: ClaudeBot [spider] and 4 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.
1535 utilisateurs:
>1499 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)