Poster un nouveau sujet Poster une réponse Page: 1,      >>
compter des caractères
Auteur Message
doomsday



Autorisation : Membre
Nb de messages : 16
Inscrit le : Lun 11 Oct 2010, 21:51
Posté le : Lun 11 Oct 2010, 21:54   Citer 

bonjour j'aimerais savoir si il existe un programme qui compte le nombre de caractères entrés( sauf les 0 après la virgule) et qui l'affiche.
Si oui est-ce que vous pouvez l'afficher.
merci d'avance

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 11 Oct 2010, 23:01   Citer 

Tes caractères sont-ils stockés dans une chaîne ?
Si oui : longueur(Chaîne1)->L
Si non : 1+int(log(X)) pour les entiers
Je cherche un algorithme valable pour la partie décimale.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
doomsday



Autorisation : Membre
Nb de messages : 16
Inscrit le : Lun 11 Oct 2010, 21:51
Posté le : Mar 12 Oct 2010, 16:16   Citer 

non ils ne sont pas sont pas dans une chaine mais quand je met la "fonction" que tu m'a donné et que j'essaie le programme sa met erreur étiquette

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 13 Oct 2010, 0:17   Citer 

Je ne peux pas avoir provoqué ce type d'erreur car c'est une formule de maths.
La seule erreur qui ne vient pas de la syntaxe, c'est lorsque X=0.

Et puis je pense évident que tu as placé un sto et choisi tes variables.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 13 Oct 2010, 15:29   Citer 

err étiquette, d'habitude, c'est du aux Lbl et Goto et autres Menu( je crois.

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
doomsday
Invité
Posté le : Mer 13 Oct 2010, 16:32   Citer 

ok et sinon on trouve où la chaine1?

  Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 13 Oct 2010, 16:37   Citer 

[var][7][1]

 Adresse email Haut de page Bas de page 
 
doomsday
Invité
Posté le : Jeu 14 Oct 2010, 17:46   Citer 

ok c'est bon mais quand j'entre la valeur de la chaine après sa me met erreur type donné et sinon quand je choisi la fonction pour les variables sa compte que les chiffres avant la virgule alors que je veux que sa compte tout(la virgule y compris) sauf les 0 inutiles après la virgule

  Haut de page Bas de page 
 
doomsday



Autorisation : Membre
Nb de messages : 16
Inscrit le : Lun 11 Oct 2010, 21:51
Posté le : Jeu 14 Oct 2010, 18:55   Citer 

c'est bon sa marche(avec les chaines) mais sa compte les 0 inutiles, est-ce que quelqu'un sait comment on fait pour ne pas les compter?

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Jeu 14 Oct 2010, 19:49   Citer 

avec une chaine, ce n'est pas possible, car la chaine est une variable de texte, et pas de valeur.

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
doomsday



Autorisation : Membre
Nb de messages : 16
Inscrit le : Lun 11 Oct 2010, 21:51
Posté le : Jeu 14 Oct 2010, 19:59   Citer 

dans ce cas comment faut-il faire?

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Jeu 14 Oct 2010, 20:28   Citer 

ça marche pas, la formule que linkakro a donné?

 Adresse email Haut de page Bas de page 
 
doomsday



Autorisation : Membre
Nb de messages : 16
Inscrit le : Lun 11 Oct 2010, 21:51
Posté le : Jeu 14 Oct 2010, 20:31   Citer 

bah sa compte ni la virgule ni les chiffres après
j'ai trouver quelque chose:(partEnt(partDéc(log(X)))x[racine carré de]2xNombre de caractères après la virgule)+1
le +1 c'est pour compter la virgule mais justement on veut savoir le nb de caractères après la virgule donc je sais pas quoi faire

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Jeu 14 Oct 2010, 20:58   Citer 

ouch!
bah, désolé mais moi non plus.

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
doomsday



Autorisation : Membre
Nb de messages : 16
Inscrit le : Lun 11 Oct 2010, 21:51
Posté le : Jeu 14 Oct 2010, 22:04   Citer 

sinon j'avais trouvé autre chose mais sa marche pas:on demande un chaine puis on la stocke dans une variable(donc les zéros inutiles disparaissent) puis on la restocke dans une chaine et après on fait longueur(chaine) et sinon linkaro t'as pas trouvé comment faire pour la partie décimale?
PS:quelqu'un peut me dire a quoi sert la fonction "log(" svp

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 15 Oct 2010, 0:12   Citer 

Ce que tu as tenté est une de mes plus grandes motivation d'envisager d'apprendre l'asm, et ce depuis longtemps.

Je rappelle que j'avais précisé que ma formule ne traîtait que les entiers.

J'ai conçu deux versions d'un prog complet, dont une qui est cappable de traîter le nombre de chiffres de la mantisse d'un nombre très grand ou très petit. Tu n'as sûrement besoin que de la première, je la poste.

Code
Prompt C
abs(C)->A
A->B
If iPart(A)=0
1->B
1+iPart(log(iPart(B)))->E
For(W,1,14
iPart(10fPart(A*10^(W-1)))->L1(W)
End
For(D,14,1,-1
If L1(D)ø0
Goto D
End
Lbl D
E+D->N
If D
N+1->N
If C<0
N+1->N
Disp N


Ce prog ne peut pas traîter plus de 14 chiffres à cause de la capacité mémoire des réels.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
doomsday



Autorisation : Membre
Nb de messages : 16
Inscrit le : Lun 11 Oct 2010, 21:51
Posté le : Ven 15 Oct 2010, 18:31   Citer 

merci il fonctionne bien et c'est pg si il ne traite que 14chiffres max mais il y a quelques fonctions que j'aimerais savoir ce qu'elles font: "log("; "abs"; "goto" et "lbl"
et encore merci pour le programme

 Adresse email Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Ven 15 Oct 2010, 20:08   Citer 

La fonction logarithme décimale (appelée log10 ou log sur les caltos) est une fonction qui transforme les exposants en coefficients et les produits en additions et en posant log(1)=0. On augmente de 1 pour chaque unité de pls

Par exemple: log(10^3*30^45)=3log(10)+45log(30)=3*2+45*2log(3)

La courbe associée est:



La fonction abs sert à prendre la valeur absolue d'un nombre c'est à dire que le résultat est un nombre rationnel postif.

Par exemple, abs(-3.445)=3.445 mais on a aussi abs(3.445)=3.445.

La courbe associée est donc:



Les fonction lbl et goto servent à créer une boucle. En effet, la première définie le lieu de départ de la boucle et la seconde renvoie l'exécution du programme au début de la ligne qui suit le lbl (étiquette en anglais).
Bien sur, pour les utilisé, il faut donner un nom à ta boucle et cela peut être un chiffre (un nombre à deux chiffressur 82 STATS) ou une lettre (deux peuvent être misent sur 82 STATS).

J'espère que je ne t'ai pas ennuyer avec ces explications et qu'elles te serviront un jour.

Sangohan38

 Adresse email Haut de page Bas de page 
 
doomsday



Autorisation : Membre
Nb de messages : 16
Inscrit le : Lun 11 Oct 2010, 21:51
Posté le : Ven 15 Oct 2010, 21:48   Citer 

ok merci je comprends mieux maintenant sauf pour:

Code

For(D,14,1,-1
If L1(D)ø0
Goto D
End
Lbl D
E+D->N


quand je remplace goto...lbl par repeat sa ajoute 1 a un nombre sans décimal alors j'aimerais bien savoir pourquoi?
et aussi:

Code
If D
N+1->N


c'est quoi la condition du If?

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Sam 16 Oct 2010, 13:53   Citer 

c'est la logique boléenne:

If D signifie If D existe, soit If D =/= 0

c'est un raccourci.

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Poster un nouveau sujet Poster une réponse Page: 1,      >>





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink