Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Entraide

Problème avec un programme ? Tu sais pas comment transférer un programme ? Tu es bloqué avec ton projet ?

Planète-Casio est une communauté d'entraide regroupant de fins connaisseurs sur les Casio qui seront ravis de te dépanner !

Allez sur le Forum partie Problèmes pour exposer votre souci et obtenir de l'aide.

Si vous cherchez à perfectionner votre niveau en programmation, visitez la section Astuces du forum et les Articles de qualité.

Défi
Retour liste des défis
Adeptes du STR BIENVENUE
Difficulté : Moyen
Défi ajouté par : Limachi le 19-01-2011 09:33
LimachiHors ligneYoutuberPoints: 2798 Défis: 67 Message
Question ou texte du défi :
Construire un prog affichant le STR1 en mode graphique, avec gestions de saut a la ligne AUTOMATIQUE effectue par la calto lors d'un point, d'un espace ou tout autre symbole autre qu'une lettre.

-Utiliser les STR et leurs fonction
-Pas plus de 550 octets

BONNE CHANCE!!!!

(J'y suis arrivé, donc s'est possible).

Fonctions STR:
Cliquez pour découvrir
Cliquez pour recouvrir
-STR [VARS][F6][F5]: sert a stoquer de symboles, chifres et lettres

[SHIFT][VARS][F6][F6][F1]:

-StrJoin( : permet de regrouper des STR
+EXEMPLE 1:
  StrJoin("12","34")->Str 3
. Ici, Str 3="1234"
+EXEMPLE 2:
"12"->Str 1:"45"->Str 2:StrJoin(Str 1,Str 2)
. Ici, on verra s'afficher
1245


-StrLen( : Est egal au nombre de symboles du Str entre parenthèses
+EXEMPLE:
"1023255"->Str 1:StrLen( Str 1)
. Ici, on verra s'afficher
7


-StrCmp( : Compare le premier et le deuxiemme Str entre parenthèse. Si le premier est superieur au deuxième, alors "StrCmp("=1.Si le premier est égal au deuxième, alors "StrCmp("=0.Si le premier est inférieur au deuxième, alors "StrCmp("=-1. PREND LES ABSOLUS DES Str ENTRE PARENTHÈSES!
+EXEMPLE 1:
StrCmp("2","0")
=1.
+EXEMPLE 2:
StrCmp("2","-2")
=0.
+EXEMPLE 3:
StrCmp("1","1")
=0.
+EXEMPLE 4:
StrCmp("2","4")
=-1.

-StrSrc( : Cherche la position du second Str dans le premier (il prend le premier par défaut).
+EXEMPLE 1:
StrSrc("AABBBC","A")
=1.
+EXEMPLE 2:
StrSrc("AABBBC","B")
=3.
+EXEMPLE 3:
StrSrc("AABBBC","C")
=6.

[F6]

-StrLeft( : Sélectionne le nombre de symboles indiqué par le chiffre après le Str en partant de gauche.
+EXEMPLE 1:
StrLeft("AABBBC",2)
="AA".
+EXEMPLE 2:
StrLeft("AABBBC",4)
="AABB".
+EXEMPLE 3:
StrLeft("AABBBC",5)
="AABBB".

-StrRight( : Sélectionne le nombre de symboles indiqué par le chiffre après le Str en partant de droite.
+EXEMPLE 1:
StrRight("AABBBC",2)
="BC".
+EXEMPLE 2:
StrRight("AABBBC",4)
="BBBC".
+EXEMPLE 3:
StrRight("AABBBC",5)
="ABBBC".

-StrMid( : Retire le nombre de symboles indiqué par le chiffre-1(1etant la totalitée du Str) après le Str qui sont a gauche.
+EXEMPLE 1:
StrMid("AABBBC",2)
="ABBBC".
+EXEMPLE 2:
StrMid("AABBBC",4)
="BBC".
+EXEMPLE 3:
StrMid("AABBBC",6)
="C".

-Exp>Str( : Pareil que ""->Str mais pour les f-mem.
+EXEMPLE:
"1"->fn1:Exp>Str( fn1,Str1)
Str 1=1

-Exp( : applique (résout) le Str.
+EXEMPLE:
Exp( "12*15")
=180

[F6]

-StrUpr( : Met en majuscule le Str.
+EXEMPLE:
StrUpr( "Je Suis Trop")
="JE SUIS TROP"

-StrLwr( : Met en minuscule le Str.
+EXEMPLE:
StrUpr( "Je Suis Trop")
="je suis trop"

-StrInv( : Inverse le Str.
+EXEMPLE:
StrInv( "Je Suis Trop")
="porT siuS eJ"

-StrShift( : Supprime le nombre de symbole indiqué.
+EXEMPLE:
StrShift( "Je Suis Trop",1)
="e Suis Trop".

- StrRotate( : Fait "rouler" le Str en fonction du nombre suivant le Str.
+EXEMPLE 1:
StrRotate( "Je Suis Trop",1)
="e Suis TropJ".
+EXEMPLE 2:
StrRotate( "Je Suis Trop",4)
="uis TropJe S".

C'est fini pour les fonctions basiques !

Je presise que l'on ne peut utiliser qu'un maximum de deux fonctions Str a la suite:
+EXEMPLE 1:
StrLen(StrJoin("Je Suis Trop","Con"))
=15
+EXEMPLE 2:
StrJoin(StrJoin( "Je"," Suis "),StrJoin( "Trop"," Con"))
="Je Suis Trop Con.
Et qu'un Str ne peut contenir qu'un maximum de 255 symboles.


Commentaires :

LancelotHors ligneMembrePoints: 1274 Défis: 160 Message
Posté le 01-09-2013 à 18:33 | #
Est-ce que le saut de ligne doit avoir lieu lorsque l'on arrive à la fin de ligne ?
Dark stormHors ligneLabélisateurPoints: 11631 Défis: 176 Message
Posté le 01-09-2013 à 18:37 | #
je pense
Ne0tuxHors ligneMembre d'honneurPoints: 3524 Défis: 265 Message
Posté le 01-09-2013 à 19:15 | #
J'ai résolu ce défi sans m'en apercevoir en programmant Clonelab : en moins de 350 octets le programme effectue les retours à la ligne automatiques, mais permet aussi de centrer le texte dans une fenêtre horizontalement ET verticalement (la dernière version plus lourde permet aussi la compression du texte et le dimensionnement automatique de la fenêtre d'affichage du texte).

J'ai le droit aux points moi aussi ?
LimachiHors ligneYoutuberPoints: 2798 Défis: 67 Message
Posté le 01-09-2013 à 20:22 | #
Allez ne0, je te met les points, je suis pas radin (d'autant que j'ai vu ton programme a l'oeuvre )
Ne0tuxHors ligneMembre d'honneurPoints: 3524 Défis: 265 Message
Posté le 01-09-2013 à 22:02 | #
Ahah merci !

J'oubliais aussi : il permet d'afficher le texte avec un effet "word". J'avais fait d'autres effets mais je ne les ai pas mis (texte qui se propage à partir du centre de l'écran ou texte qui se propage des deux extrémités de la ligne vers le centre).

Ceci dit je suis intéressé si quelqu'un arrive à faire ça en moins d'octets.
LancelotHors ligneMembrePoints: 1274 Défis: 160 Message
Posté le 02-09-2013 à 15:02 | #
Réponse envoyé par mp
TotoyoHors ligneMembre d'honneurPoints: 16093 Défis: 102 Message
Posté le 02-09-2013 à 18:01 | #
Un défi intéressant.
LimachiHors ligneYoutuberPoints: 2798 Défis: 67 Message
Posté le 02-09-2013 à 18:09 | #
hep totoyo, j'ai eut peur quand j'ai lu que tu n'avais que 1399 points, mais j'ai vu qu'il manquait un 1 (11399 ça fait quand même un sacré paquet de points )
Dark stormHors ligneLabélisateurPoints: 11631 Défis: 176 Message
Posté le 02-09-2013 à 19:33 | #
Il s'en ajoute discrètement dans la base de donnée
Non, ça doit être parce qu'il est Grand Manitou et inscrit depuis le 16/06/2006


C'est moi Totoyo
NinestarsHors ligneMembrePoints: 2461 Défis: 24 Message
Posté le 02-09-2013 à 19:33 | #
Moi en 120 octets, 32 octets de base inclus.
D'ailleurs Ne0 j'avais fait un programme identique à ce que faisait le tiens, c'est à dire avec l'effet lettre par lettre (bien plus rapide) et centrage horizontale du texte en 200 octets si je me souviens bien.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 100 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd