π
<-

Racine au compte-goutte

Pour le TI-Basic sur Nspire

Racine au compte-goutte

Unread postby servabat » 03 Oct 2012, 14:27

Bonjour,

J'essaye d'implémenter l'algorithme du compte-goutte (à but éducatif) en TI-Basic.
Je procède donc comme suit :
Code: Select all
Define cgrac(a)=
Func
Local str_a,size_a,precomma,postcomma,pairpc,pairpsc,act_char,act_slice
string(a) ->str_a
dim(str_a) ->size_a
inString(str_a,".")-1 ->precomma
size_a-precomma-1 ->postcomma
mod(precomma,2) ->pairpc
mod(postcomma,2) ->pairpsc
0 ->act_char
While act_char<size_a
  If act_char=0 and pairpc!=0 Then
    expr(mid(str_a,act_char,1)) ->act_slice
    act_char+1 -> act_char
  ElseIf act_char=size_a-1 and pairpsc=1 Then
    expr(mid(str_a,act_char,1)&"0") ->act_slice
    act_char+1 -> act_char
  ElseIf mid(str_a,act_char,1)="." Then
    act_char+1 -> act_char
  Else
    expr(mid(str_a,act_char,2)) -> act_slice
    act_char+2 -> act_char
  EndIf
  Disp act_slice
EndWhile
EndFunc

Mais voila rien que pour ce petit bout de découpage, j’obtiens déjà une erreur :/

Avez vous une idée du problème ?

Merci d'avance.
User avatar
servabat
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 26%
 
Posts: 32
Joined: 13 Oct 2011, 18:29
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Racine au compte-goutte

Unread postby Neo » 03 Oct 2012, 14:32

Il faudrait que tu nous retranscrive ce que tu vois à l'écran de ta calculatrice.. (un screenshot serait du plus bel effet :D)
Image
Auteur du Guide de rentrée 2013 TI-Planet.org
Je ne réponds pas aux demandes d'aide par MP
Ecrivant sur des ordinateurs britanniques, aucun accent ne sera visible dans mes messages. Sorry for the inconvenience!
Mes calculatrices TI: TI-Nspire CX, TI-Nspire CAS+, TI-89, TI-83+.fr, TI-66, TI-59, TI-57 II, TI-30XB MultiView, TI-30Xa, TI-30 Eco RS, TI-Primaire Plus, TI-15 Explorer
Mes calculatrices Casio: Graph 35+ SH4 (trafiquée), Graph FX-8000G, Graph FX-7000G, FX-82MS
User avatar
Neo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.4%
 
Posts: 1058
Images: 311
Joined: 19 Dec 2010, 00:00
Location: London, United Kingdom
Gender: Male
Calculator(s):
MyCalcs profile
Class: --

Re: Racine au compte-goutte

Unread postby servabat » 03 Oct 2012, 14:46

Salut :)

Screenshot de l'erreur :
Image
Screenshot de l'endroit de l'erreur :
Image
User avatar
servabat
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 26%
 
Posts: 32
Joined: 13 Oct 2011, 18:29
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Racine au compte-goutte

Unread postby Excale » 03 Oct 2012, 14:48

Et ça te renvoie à quelle ligne :)?
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: Racine au compte-goutte

Unread postby servabat » 03 Oct 2012, 14:51

Excale wrote:Et ça te renvoie à quelle ligne :)?

La ligne où il y a le curseur sur la deuxième capture, c'est à dire :
Code: Select all
expr(mid(str_a,act_char,1)) ->act_slice
User avatar
servabat
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 26%
 
Posts: 32
Joined: 13 Oct 2011, 18:29
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Racine au compte-goutte

Unread postby Excale » 03 Oct 2012, 14:54

Vérifie que act_char ait bien une valeur acceptable :).

(et perso je prefère "act_slice := expr(mid(str_a,act_char,1))" à "expr(mid(str_a,act_char,1)) ->act_slice"
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: Racine au compte-goutte

Unread postby servabat » 03 Oct 2012, 15:03

J'ai beau essayer un peu de tout, ça marche pas ^^ Je pense que je ne devrais pas faire ça avec des chaînes, je vais essayer avec des troncatures et des soustractions (qu'en pensez vous ?)
User avatar
servabat
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 26%
 
Posts: 32
Joined: 13 Oct 2011, 18:29
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Racine au compte-goutte

Unread postby Bisam » 03 Oct 2012, 17:15

Tu dois avoir l'habitude de programmer en C... et cela a créé une erreur.
Sur calculette, les indices de chaînes de caractères commencent à 1 et non à 0. C'est le "mid(str_a,0,1)" qui renvoie une erreur.
Il faut donc initialiser "act_char" à 1 et arrêter ton while avec "< ou =".

PS : Dans le même ordre d'idée, tu as bien utilisé le symbole "différent" de la calculette et non le "!=" du C ?
(le pire, c'est que ça ne renverrait pas une erreur : ça renverrait juste des résultats faux...)
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


Return to Nspire-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 1 guest

-
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.
864 utilisateurs:
>811 invités
>45 membres
>8 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)