Poster un nouveau sujet Poster une réponse
DVD
Auteur Message
MoonWalk



Autorisation : Membre
Nb de messages : 57
Inscrit le : Ven 11 Mar 2011, 20:55
Posté le : Mer 01 Jui 2011, 14:13   Citer 

Voici un petit programme tout simple que j'ai fais alors que je m'ennuyais pendant un cours de maths...


Code
:EffEcr
:1->E
:1->F
:2->L
:4->C
:Lbl 0
:Output(L,C,"   "                   [3 espaces]
:E+L->L
:F+C->C
:Output(L,C,"DVD
:If L=8 et (F=1 ou F=-1
:Then
:E-1->E
:End
:If C=14 et (E=1 ou E=-1
:Then
:F-1->F
:End
:If L=1 et (F=1 ou F=-1
:Then
:E-1->E
:End
:If C=1 et (E=1 ou E=-1
:Then
:F-1->F
:End
:Goto 0




Voilà voilà ! Amusez-vous !

 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 01 Jui 2011, 15:15   Citer 

Bonjour/bonsoir
L'écran de veille m'a l'ai pas mal sauf que dès que le mot DVD arrive en haut, j'obtient une erreur domaine ( L=-1 ) alors que j'ai bien vérifié le code. Pourrais-tu s'il te plaît vérrifier ton code (je pense que l'erreur est au niveau des conditions mais je ne suis pas sur)

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 01 Jui 2011, 20:01   Citer 

Teste ça.
Code
ClrHome
1->E
1->F
2->L
4->C
Lbl 0
Output(L,C,"   "
E+L->L
F+C->C
Output(L,C,"DVD
If L=8 or L=1
-E->E
If C=14 or C=1
-F->F
Goto 0


Je n'ai pas compris pourquoi il y avait E-1->E ahh.gif
Les Then et les End sont inutiles quand une seule ligne suit les If.

----------------------
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 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 01 Jui 2011, 21:14   Citer 

merci beaucoup, je comtait attendre une modification de l'auteur avant de me lancer dans l'optimisation, il n'y a presque plus rien à faire :

Code
ClrHome
1->E
1->F
2->L
4->C
While 1        //ici
Output(L,C,"            //3espace  //ici
E+L->L
F+C->C
Output(L,C,"DVD
If L=8 or L=1
-E->E
If C=14 or C=1
-F->F
End            //ici



Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
MoonWalk



Autorisation : Membre
Nb de messages : 57
Inscrit le : Ven 11 Mar 2011, 20:55
Posté le : Mer 01 Jui 2011, 21:20   Citer 

A fait, j'ai quelques questions...

Ca veut dire quoi programmer en ASM ??
Et quel câble faut-il acheter ? Coûte-t-il cher ? Où le ttouve-t-on ?

Merci happy.gif

 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 01 Jui 2011, 21:29   Citer 

Je crois que n'importe quel cable fait l'affaire (le moins cher des officiels est je crois TI-Graph Link USB (40€), que j'ai commandé chez JARRETY, un distributeur de Texas instument) ; pour à quoi ça correspond, c'est programmer directement sur l'ordi dans un langage de bas niveau (proche du langage du processeur : tu as des choses du type charger le registre a dans le registre b ; si le bit de la retenu est nul, sauter des 180 octés vers l'avant ,... . En gros tu dis ce que le processeur doit faire. Par contre, une fois que tu as finit d'écrire sur fichier texte, il faut utiliser des logiciels qui te convertissent ça en code héxadécimal que tu envoie ensuite sur la TI (si tu programme pour un shell, ce n'est pas de l'héxa mais un bric à brac de fonctions.

En ASM, on peut tout faire (dans les limites du matériel) mais les bug sont souvant effaceurs de RAM.

En espérant t'avoir un peu aidé
Sandro

PS : je pourrait propablement t'en dire plus d'ici 2 mois, je compte essayer d'apprendre ce langage cet été

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 01 Jui 2011, 21:39   Citer 

Oui, c'est bien résumé.
Mais précise que ASM=assembleur

-----

Ce while ne change pas grand chose mais est légèrement plus léger.

J'ai pour principe de ne pas enlever les guillemets quand il y a des espaces.
Il n'y a rien de tel pour se planter et compliquer la saisie avec des commentaires.
J'enlève les guillemets dans tous les autres cas.

----------------------
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 
 
MoonWalk



Autorisation : Membre
Nb de messages : 57
Inscrit le : Ven 11 Mar 2011, 20:55
Posté le : Mer 01 Jui 2011, 21:46   Citer 

J'ai tout compris ! Sauf pour les ASM


C'est quoi exactement ? là, je peux en faire un comme ça ou 'est un programme necessitant quelque chose ?

 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 01 Jui 2011, 22:02   Citer 

ça te néccessite des programmes, un cable pour l'ordi et des connaissances.

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 01 Jui 2011, 22:12   Citer 

L'assembleur est un code qui ne peut pas être conçu dans la calculatrice. Mais une fois traduit en hexadécimal (0à9+AàF) par un logiciel de ton ordinateur, on peut le recopier à la main.
Les shells sont des logiciels en assembleur qui permettent de lire d'autres codes complètement impossibles à saisir. (il faut nécessairement le câble)
La moindre erreur dans un de ces codes efface la mémoire.

----------------------
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 
 
snap



Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Jeu 02 Jui 2011, 15:34   Citer 

J'ai des améliorations pour ton programme. Pour que tu puisses marquer le mot que tu veux, tu mettre sa :


Code

:Input "",Chaine1
:EffEcr
:1 -> E
:1 -> F
:2 -> L
:4 -> C
:While 1
:codetouche -> K
:If K=45:Stop
:For(A,C,C+longueur(Chaine1)-1
:Output(L,A,"           <- 3 espaces
:End
:E+L -> L
:F+C -> C
:Output(L,C,Chaine1
:f L=8 ou L=1:-E -> E
:f C=17-longueur(Chaine1) ou C=1:-F -> F
:End



Voila. Si vous avez d'autres amélioration...

----------------------
Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
Cocodidou



Autorisation : Membre
Nb de messages : 79
Inscrit le : Dim 15 Mai 2011, 11:33
Posté le : Jeu 02 Jui 2011, 15:49   Citer 

Voilà une petite amélioration: Mettre longueur(Chaîne1) espaces au lieu de 3 espaces, modulo la longueur de la chaîne winkle.gif

 Adresse email Haut de page Bas de page 
 
MoonWalk



Autorisation : Membre
Nb de messages : 57
Inscrit le : Ven 11 Mar 2011, 20:55
Posté le : Jeu 02 Jui 2011, 20:45   Citer 

Merci beaucoup ! happy.gif

 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 02 Jui 2011, 22:20   Citer 

Oui mais celà obligerais à modifier le programme à chaque fois que l'on veut changer le texte. Je proposerais plutôt :

Code
:Input "",Chaine1
:longueur(Chaîne1 -> A
:1 -> E
:1 -> F
:2 -> L
:4 -> C
:While 1
:codetouche -> K
:If K=45:Stop
:EffEcran
:E+L -> L
:F+C -> C
:Output(L,C,Chaine1
:f L=8 ou L=1:-E -> E
:f C=17-A ou C=1:-F -> F
:End



Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Jeu 02 Jui 2011, 22:59   Citer 

Pour le programme que j'ai écrit je ne changeai jamais le programme. Relis le tu verra

----------------------
Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Jeu 02 Jui 2011, 23:04   Citer 

De plus tu as fait une faute je pense à ton programme. Tu marques longueur(chaine 1 -> A
et ensuite tu met
For(B,2,L
Ce ne serai pas pluto
For(B,2,A
??

----------------------
Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Ven 03 Jui 2011, 10:56   Citer 

Si pardon, ça vieut de mon abitude à toujour nommer L la longueur d'une chaîne (comme X et Y les coordonnées, G ou K un code touche, [théta] un angle, ...).

J'édite mon programme, qui est maintenant, d'après mes tests sur émultateurs, plus rapide que le tient

Sandro

PS:évite les double posts

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 6 requêtes