Autorisation : Membre
Nb de messages : 101
Inscrit le : Jeu 02 Jui 2011, 15:17
Posté le : Ven 06 Juil 2012, 22:10
Salut après avoir regardé le film "MATRIX" j'ai pensé à l'idée de faire un petit programme qui reprend le défilement de caractères (comme ici) ou de 0 et 1 (comme ici) sur l'écran... Je vous laisse apprécier ce joli programme
Nom: MATRIX
Taille: 146 octets
Auteur: S.L
Version Caractères:
Pour quitter le programme, appuyez sur la touche annul.
-> : flèche sto
TI Stats.fr (fonctions en Français)
Code
PROGRAM:MATRIX
:EffEcr
:1->A
:4->B
:1->X
:1->Y
:While 1
:Output(A,X,"Z3U/:-78+=3*(6"5... //ici vous devez rentrer 16 caractères de votre //calculatrice,
//à vous de décider lesquels et dans quel ordre!
:Output(B,Y,"C30*+3'(=+}'!4-{... //ici vous devez rentrer 16 caractères de votre //calculatrice,
//à vous de décider lesquels mais attention, cette //fois-ci veiller à changer
//les caractères de place par rapport au premier si //ceux-ci sont identiques.
:If B=8:1->B
:B+1->B
:If A=8:1->A
:A+1->A
:entAléat(1,2)->X
:entAléat(1,2)->Y
:codeTouche->K
:If K=45:Then:EffEcr:Stop:End
:End
Version chiffre:
Pour quitter le programme, appuyez sur la touche annul.
-> : flèche sto
TI Stats.fr (fonctions en Français)
Code
PROGRAM:MATRIX
:EffEcr
:1->A
:4->B
:1->X
:1->Y
:While 1
:Output(A,X,"0101011101010011 //vous pouvez choisir les emplacements des 16 chiffres
:Output(B,Y,"1010000101011100 //vous pouvez choisir les emplacements des 16 chiffres
:If B=8:1->B
:B+1->B
:If A=8:1->A
:A+1->A
:entAléat(1,2)->X
:entAléat(1,2)->Y
:codeTouche->K
:If K=45:Then:EffEcr:Stop:End
:End
Donnez-moi votre avis même si il reste à perfectionner
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Lun 13 Aoû 2012, 16:42
Salut tout le monde!! ça fait vraiment super longtemps que je n'ai pas posté sur le forum, et pour cause, j'étais entré en prépa et j'avais moins de temps (ou pas)
bref, quoi qu'il en soit je reviens aujourd'hui et OH SURPRISE je vois un programme matrix. Je me permet donc de remettre le mien que j'avais déjà posté mais qui s'est trouvé un peu noyé sous les autres sujets. Il s'agit de la "vraie" animation matrix comme dans le film avec des lignes qui descendent et des caractères aléatoires. enjoy
Code
"[chaine de N symboles]"->chaine1 //ne choisissez pas N trop grand!!!! 10 ou 12 suffisent pour faire un rendu sympa
effecr
0->I:0->[theta]
While 1
entaleat(1,16->A //ces 4 lignes donnent la position
entaleat(1,16->B //des symboles qui descendent
entaleat(1,16->C //ici en positions A B C et D, auxquelles
entaleat(1,16->D //on associera plus tard respectivement I J K et L pour les éffacer sans perturber l'écriture des nouvelles lignes.
for(X,1,8
ouput(X,A,sous-chaine(chaine1,entaleat(1,N),1 // ces lignes définissent
if X>2
ouput(X-2,B,sous-chaine(chaine1,entaleat(1,N),1 //les symboles qui
if X>4
ouput(X-4,C,sous-chaine(chaine1,entaleat(1,N),1 //vont apparaitre
if X>6
ouput(X-6,D,sous-chaine(chaine1,entaleat(1,N),1 // à chaque fois.
if [theta]:then
if X [inférieur ou égal à]6 //celles ci n'opèrent qu'a partir de
output(X+2,J," "
if X [inférieur ou égal à] 4 // la deuxième lecture de la boucle car
output(X+4,I," "
if X [inférieur ou égal à]6 //theta n'est alors pas à la bonne valeur
output(X+2,K," "
output(X,L," " //ce qui rend la condition non remplie. Elles effacent progressivement les symboles à partir des coordonnées associées : A et I, B et J etc...
end:end
A->I:B->J:C->K:D->L //c'est là qu'on associe les variables pour pouvoir effacer correctement après
for(X,3,8
if X [inférieur ou égal à] 4
ouput(X+4,B,sous-chaine(chaine1,entaleat(1,N),1 //ici on continue les lignes
if X [inférieur ou égal à] 6
ouput(X+2,C,sous-chaine(chaine1,entaleat(1,N),1 //commencées dans le
ouput(X,D,sous-chaine(chaine1,entaleat(1,N),1 //premier for
output(X-2,I," " //et ici on commence à effacer la colonne A qui est finie
if X>4
output(X-4,J," " //pareil avec B
if X>6
output(X-6,K," " //et avec C
end
1->[theta] // on donne à theta la valeur nécéssaire à la validation de la condition dans le premier for
End //euh bah là on revient au début ^^ ^^
les explications sont avec et je les laisse des fois qu'on me redemande
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Lun 13 Aoû 2012, 17:05
Mais ou as tu vu un lbl1? programme édité merci du conseil mais c'est un vieux programme alors c'est possible qu'il soit un peu optimisable
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Lun 13 Aoû 2012, 21:24
Alors ...
Code
"[chaine de N symboles]->Str1
length(Str1->N //ajout de ceci
DelVar [Theta]ClrHome //suppression du DelVar I
While 1
randInt(1,16->A
randInt(1,16->B
randInt(1,16->C
randInt(1,16->D
For(X,1,8
Output(X,A,sub(Str1,randInt(1,N),1
If X<6
Output(X,B,sub(Str1,randInt(1,N),1 //modif des conditions
If X<5
Output(X,C,sub(Str1,randInt(1,N),1
If X<3
Output(X,D,sub(Str1,randInt(1,N),1
If [theta]
Then
If X>2
Output(X,J," //modif des conditions
If X>4
Output(X,I,"
If X>2
Output(X,K,"
Output(X,L,"
End
End
A->I
B->J
C->K
D->L
For(X,3,8 //modif des conditions
If X>6
Output(X,B,sub(Str1,randInt(1,N),1
If X>4
Output(X,C,sub(Str1,randInt(1,N),1
Output(X,D,sub(Str1,randInt(1,N),1
Output(X-2,I,"
If X>4
Output(X-4,J," //pas de modif ici sinon ralentissement ^^
If X>6
Output(X-6,K,"
End
1->[theta]
End
Bon c'pas énorme hein ... il y aurais p-e moyen d'assembler les deux boucles for. J'y ai pas bcp réfléchi ^^'
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes nouveaux programmes de calcul formel : FCarréFPrime
Projet base de données : ici mais abandonné. Trop de travail ...
aide Invité
Posté le : Mer 28 Nov 2012, 21:06
j'ai bien regardé et essayé de comprendre les lignes de code de ce programme et j'ai voulu le faire sur ma TI-82 stats.fr pour voir comment cela rendait mais j'ai eu un problème avec la fonction chaîne ! je 'explique :
j'ai écris dans la première ligne : "10"->chaîne(1
et ma calculette n'aime et je ne trouve pas pourquoi ! aidez moi svp! merci d'avance
j'ai de nouveau un probème (excusez-moi), la calutte me met DOM INVALIDE et m'indique qu'il y a un problème à la fin des lignes Output(X,A,sous-chaîne(... Apparement il faut rajouter quelque chose à la fin mais je ne trouve pas quoi ! merci d'avance
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 29 Nov 2012, 23:20
Vérifie tout ce qui concerne N : il y a un problème de longueur de chaine.
---------------------- 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)