Derniers sujets | » Numbers par Ver2guerre Dim 02 Avr 2023, 00:47
» Mort ? par godbod Dim 22 Aoû 2021, 12:23
» Network, essai 1 par godbod Dim 09 Juil 2017, 02:18
» GODBOD par godbod Sam 08 Juil 2017, 14:05
» mon humeur par Ver2guerre Sam 30 Juil 2016, 19:44
» [A voir] Programme de traduction original : WikiTranslate par AdRiWeB Lun 01 Fév 2016, 04:50
» Reprise ? par Emyl Jeu 14 Juin 2012, 21:17
» Euh, ah ? par Ver2guerre Dim 27 Mai 2012, 12:11
» Problème TI 89 Titanium non visible après mise à jour par abdoukid Mer 23 Mai 2012, 13:37
» Y'a quelqu'un ? par Ver2guerre Sam 21 Avr 2012, 23:10
|
Qui est en ligne ? | Il y a en tout 7 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 7 Invités Aucun Le record du nombre d'utilisateurs en ligne est de 367 le Dim 18 Oct 2009, 00:16 |
| | |
Auteur | Message |
---|
tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9439 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: [z80] Défi Sam 12 Jan 2008, 18:49 | |
| Ca f'sait longtemps :p
Je lance le défi suivant : le programme doit attendre l'appui d'une "touche chiffre" (touches 0 à 9) et uniquement celles-là, puis retourner dans Ans le chiffre de la touche pressé, par exemple si l'utilisateur appuie sur 72, le programme doit retourner 7 dans Ans
Uniquement la taille compte :p |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6280 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [z80] Défi Sam 12 Jan 2008, 20:45 | |
| lol le genre de routine qui a déja été faite 100^3 fois xD |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6280 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [z80] Défi Sam 12 Jan 2008, 21:16 | |
| hophop ^^ 42 octets ? - Code:
-
expr(sub("A456A987AAA123A",min(15,abs(K-80)),1
Dans une boucle avec un getkey : While 1 getkey expr(sub("A456A987AAA123A",min(15,abs(K-80)),1 If Ans:Disp Ans End
Tant pis pour le 0 :/ |
| | | Ver2guerre chasseur en chef
Nombre de messages : 3145 Age : 113 Localisation : Partout en même temps (V2g quantique) Loisirs : #pkill boulet Humeur : Happy :) items : Personalized field : 12 jetons Réputation : 8 Points : 7528 Date d'inscription : 15/09/2007
Profil TI: (TI-89Tita)^2+TI83Plus TO: 50 [2380 - 2%] {54} Spécialité: Autres
| Sujet: Re: [z80] Défi Sam 12 Jan 2008, 21:35 | |
| J'arrête pas d'en voir ... A quoi sert - Code:
-
sub() ? |
| | | Syfo Pokémophile
Nombre de messages : 1978 Age : 33 Localisation : IYA items :
Personalized field : 26 jetons Réputation : 8 Points : 6761 Date d'inscription : 09/08/2007
Profil TI: 80, 82, 83, 83+, 84+ TO: 2 945 [GAIN * 1.1] Spécialité: Basic z80
| Sujet: Re: [z80] Défi Sam 12 Jan 2008, 21:48 | |
| a couper une chaine de caracteres pour n'en prendre qu'une partie. - Code:
-
{102,92,93,94,82,83,84,72,73,74->A Repeat G Getkey->G End:0->E For(Z,1,10 If G=LA(Z Z->E End
64 octets, donc moins bien. |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6280 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [z80] Défi Sam 12 Jan 2008, 22:04 | |
| tu peux encore bien optimiser ^^
Ans à la place de G
Delvar au lieu de 0-> |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9439 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [z80] Défi Sam 12 Jan 2008, 23:20 | |
| - ver2guerre a écrit:
- J'arrête pas d'en voir ... A quoi sert
- Code:
-
sub() ? c'est l'équivalent de mid() sur 68k, pour extraire une partie d'une chaine de caractères adri>ton code marche pas ça affiche tout le temps 58 |
| | | Syfo Pokémophile
Nombre de messages : 1978 Age : 33 Localisation : IYA items :
Personalized field : 26 jetons Réputation : 8 Points : 6761 Date d'inscription : 09/08/2007
Profil TI: 80, 82, 83, 83+, 84+ TO: 2 945 [GAIN * 1.1] Spécialité: Basic z80
| Sujet: Re: [z80] Défi Dim 13 Jan 2008, 16:34 | |
| - adriweb a écrit:
- tu peux encore bien optimiser ^^
Ans à la place de G
Delvar au lieu de 0-> Ans? Comment ca? Je peux mettre Getkey tout seul et ca me le mets dans Ans? Delvar est une fonction, donc pese 2 octets, soit le poids de '0->' Un delvar n'est rentable que s'il y en a plusieurs d'affile (puisqu'on peux enlever l'espace entre deux delvar) |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6280 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [z80] Défi Dim 13 Jan 2008, 21:48 | |
| - Syfo a écrit:
Ans? Comment ca? Je peux mettre Getkey tout seul et ca me le mets dans Ans? Oui ^^ - Syfo a écrit:
- Delvar est une fonction, donc pese 2 octets, soit le poids de '0->'
Un delvar n'est rentable que s'il y en a plusieurs d'affile (puisqu'on peux enlever l'espace entre deux delvar) Rectifiaction : 0->A : 3 octets DelVar A : 2 octets (l'epace est compris dans le delvar) tu gagnes 1 octet @ Tama -> AAAAAAAAAAAA CA MARCHAIT JUSTE AVANT !! J'AI DU FAIRE UNE ERREUR DE COPIE ET JAI EFFACE LE PROGRAMME SUR LA CALC !!! JE DOIS REFAIRE LE TRUC !!! AAARRRGGHHH |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6280 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [z80] Défi Dim 13 Jan 2008, 21:57 | |
| - Code:
-
While 1 getKey Ans-13int(Ans/13(2>abs(5-abs(5-abs(Ans-83 If Ans:Disp Ans End
31 octets ? héhé |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9439 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [z80] Défi Dim 13 Jan 2008, 22:41 | |
| - adriweb a écrit:
- Syfo a écrit:
Ans? Comment ca? Je peux mettre Getkey tout seul et ca me le mets dans Ans? Oui ^^
- Syfo a écrit:
- Delvar est une fonction, donc pese 2 octets, soit le poids de '0->'
Un delvar n'est rentable que s'il y en a plusieurs d'affile (puisqu'on peux enlever l'espace entre deux delvar) Rectifiaction : 0->A : 3 octets DelVar A : 2 octets (l'epace est compris dans le delvar) tu gagnes 1 octet nan, DelVar prend 2 octets, donc Delvar A prend 3 octets - Citation :
@ Tama -> AAAAAAAAAAAA CA MARCHAIT JUSTE AVANT !! J'AI DU FAIRE UNE ERREUR DE COPIE ET JAI EFFACE LE PROGRAMME SUR LA CALC !!! JE DOIS REFAIRE LE TRUC !!! AAARRRGGHHH héhé :p - adriweb a écrit:
-
- Code:
-
While 1 getKey Ans-13int(Ans/13(2>abs(5-abs(5-abs(Ans-83 If Ans:Disp Ans End
31 octets ? héhé Pas mal, mais ça marche pas pour 0 :) EDIT : et ça réagit pour les autres touches, il faut pas que ça réagisse si j'appuie sur "Y=" par exemple |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9439 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [z80] Défi Mar 23 Déc 2008, 20:49 | |
| Bof, pas terrible, 64 octets ... Le truc pour gérer les touches différentes de 0...9 prend beaucoup de place - Spoiler:
1 : Repeat Ans //attend l'appui d'une touche 2 : getKey 3 : End 4 : .1Ans //utile pour plus tard : partie entière : rangée, partie décimale, colonne 5 : If (7.2<=Ans)(10.2>=Ans)(not(sum(fPart(Ans)={.1,.5 //gère les cas incorrects 6 : (Ans!=10.2)(((26-3int(Ans))+10fPart(Ans //retourne le chiffre
Bon, ça marche avec toutes les touches de 0 à 9, et ça renvoie done pour les autres ... c'est sûrement optimisable (Baruch ? ^^), ça fait longtemps que j'ai plus touché à une TI pour programmer moi EDIT : Tiens, Sipho aussi avait fait 64 ... sauf que ça met pas le bon résultat dans Ans, mais c'est possible d'optimiser le sien et de rendre le résultat correct En tout cas, le mien il marche mais c'est compliqué XD EDIT2 : c'est p'tet l'un des seuls programmes que j'fais sans utiliser aucune variable (A...Z + θ), du coup pas de taille supplémentaire pour les variables, le programme de Sipho il crée une liste et en plus il utilise des variables :p EDIT3 : juste pour info, la vitesse : exactement le même code, sauf que je mets une boucle For et je mets une valeur à la place du 1 : Repeat Ans //attend l'appui d'une touche 2 : getKey 3 : End et j'itère 200 fois donc ça donne par exemple : - Spoiler:
1 : For Z,1,200 2 : 72 3 : .1Ans //utile pour plus tard : partie entière : rangée, partie décimale, colonne 4 : If (7.2<=Ans)(10.2>=Ans)(not(sum(fPart(Ans)={.1,.5 //gère les cas incorrects 5 : (Ans!=10.2)(((26-3int(Ans))+10fPart(Ans //retourne le chiffre 6 : End
Résultats (TI84+ OS 2.43, à 15 MHz (en principe))
- Valeur incorrecte (45 : Clear) => 08"00 pour 200 itérations, soit 4,00 ms par itération
- Valeur correcte (72 : 7) => 11"34 pour 200 itérations, soit 5,67 ms par itération
- Cas du 0 (102 : 0) => 11"10 pour 200 itérations, soit 5,55 ms par itération
(Bon, les 2 derniers cas sont très proches, j'me demandais seulement si la touche 0 allait changer quelque chose, c'est pas le cas ^^)
J'peux avoir plus de précision en itérant 1000 fois :
- Valeur incorrecte (45 : Clear) => 38"72 pour 1000 itérations, soit 3,87 ms par itération
- Valeur correcte (72 : 7) => 54"69 pour 1000 itérations, soit 5,47 ms par itération
Bon, voilà c'était fun de faire ça ^^ Maintenant, j'attends de voir ce que vous pouvez proposer :) |
| | | Ver2guerre chasseur en chef
Nombre de messages : 3145 Age : 113 Localisation : Partout en même temps (V2g quantique) Loisirs : #pkill boulet Humeur : Happy :) items : Personalized field : 12 jetons Réputation : 8 Points : 7528 Date d'inscription : 15/09/2007
Profil TI: (TI-89Tita)^2+TI83Plus TO: 50 [2380 - 2%] {54} Spécialité: Autres
| Sujet: Re: [z80] Défi Mar 23 Déc 2008, 21:21 | |
| C'est quoi ce up ??? , enlève-toi 6000 TOs ! |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9439 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [z80] Défi Mar 23 Déc 2008, 21:23 | |
| maieuh ! j'ai proposé quelque chose j'reste dans le sujet, alors c'est bon, na ! :p |
| | | nay0w légende
Nombre de messages : 797 Age : 30 Localisation : Dans l'coin! Humeur : Bonne x) items : o Personalized field : 10 jetons Réputation : 0 Points : 6250 Date d'inscription : 11/02/2008
Profil TI: 82Fr / 89-Titanium TO: 3 825 Spécialité: Autre
| Sujet: Re: [z80] Défi Mer 24 Déc 2008, 01:14 | |
| Enfin, un up de 1an c'est limite quand meme.
Je propose ton BAN. |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9439 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [z80] Défi Mer 24 Déc 2008, 01:25 | |
| nan mais il est fou dans sa tête lui :p |
| | | Baruch OPTIMIZATOR
Nombre de messages : 193 Age : 32 items : Personalized field : Réputation : 0 Points : 5858 Date d'inscription : 07/08/2008
Profil TI: 83+ TO: 200 Spécialité: Basic z80
| Sujet: Re: [z80] Défi Mer 24 Déc 2008, 15:00 | |
| On est obligé de contrôler les autres touches (éviter les bugs ou les non-sens) ? Moi j'ai toujours utilisé une liste (ou une chaîne ?), vu que les tips mathématiques sont trop lourds (sauf si quelqu'un a un truc vraiment court à proposer ?).
Eh oui, on ne met pas de s à "on est obligé". |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9439 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [z80] Défi Mer 24 Déc 2008, 15:21 | |
| bah les autres touches elles doivent rien retourner, si par exemple t'appuies sur Clear, à l'écran tu devrais avoir
prgmKEY .........................DONE
Dans le cas où la touche est "valide", le programme retourne simplement le chiffre, donc ça donne :
prgmKEY .........................7
par exemple, pour la touche [7] (72) |
| | | Baruch OPTIMIZATOR
Nombre de messages : 193 Age : 32 items : Personalized field : Réputation : 0 Points : 5858 Date d'inscription : 07/08/2008
Profil TI: 83+ TO: 200 Spécialité: Basic z80
| Sujet: Re: [z80] Défi Mer 24 Déc 2008, 15:32 | |
| Est-ce qu'on a le droit de renvoyer 0 pour les autres touches ? |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9439 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [z80] Défi Mer 24 Déc 2008, 15:40 | |
| bah le problème c'est que la touche 0 (102) renvoie aussi 0, donc non on a pas le droit (mon programme ne renvoie rien pour les touches non valides)
Après, si t'arrives à faire un programme super optimisé mais qui renvoie 0, c'est pas trop grave, disons qu'on aura pas les mêmes contraintes, donc forcément la taille sera différente ^^ |
| | | Baruch OPTIMIZATOR
Nombre de messages : 193 Age : 32 items : Personalized field : Réputation : 0 Points : 5858 Date d'inscription : 07/08/2008
Profil TI: 83+ TO: 200 Spécialité: Basic z80
| Sujet: Re: [z80] Défi Mer 24 Déc 2008, 15:41 | |
| Non non c'est bon je vais m'accomoder. |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9439 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [z80] Défi Mer 24 Déc 2008, 15:43 | |
| okay, record actuel fonctionnel => 64 octets
n'oublie pas d'enlever la taille du nom du programme (9 + nombre de lettres) |
| | | Baruch OPTIMIZATOR
Nombre de messages : 193 Age : 32 items : Personalized field : Réputation : 0 Points : 5858 Date d'inscription : 07/08/2008
Profil TI: 83+ TO: 200 Spécialité: Basic z80
| Sujet: Re: [z80] Défi Mer 24 Déc 2008, 15:53 | |
| Eh, dernière question, faut afficher le résultat ? ^^
edit : Bon mon truc marche, mais il met 0 dans Ans mais l'affiche pas.
edit2 : ben en fait c'est idiot d'afficher Done pour les autres touches. L'intérêt du prog c'est pas de vérifier que la touche où ya écrit 4 correspond au nombre 4 ^^, l'intérêt c'est la valeur de Ans. Il faut donner une valeur significative à Ans pour que le prog soit utile. Moi je mets donc 0. |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9439 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [z80] Défi Mer 24 Déc 2008, 16:17 | |
| okay, comme tu veux
pour la question, dans le post initial, j'avais mis qu'il fallait seulement mettre la valeur dans Ans, pas forcément l'afficher (d'ailleurs dans mon programme il n'y a aucun Disp/output/autre...) |
| | | Baruch OPTIMIZATOR
Nombre de messages : 193 Age : 32 items : Personalized field : Réputation : 0 Points : 5858 Date d'inscription : 07/08/2008
Profil TI: 83+ TO: 200 Spécialité: Basic z80
| Sujet: Re: [z80] Défi Mer 24 Déc 2008, 16:18 | |
| Loool, bon ben mauvaise nouvelle, je fais 64 ^^. - Code:
-
"78900000004560000000123->Str1 Repeat Ans getKey End Ans-71->K Ans>0 and Ans<24 If Ans expr(sub(Str1,K,1 edit : reLol, je viens de voir le post de Sipho, j'ai honte.
Dernière édition par Baruch le Mer 24 Déc 2008, 16:27, édité 1 fois |
| | | Contenu sponsorisé
| Sujet: Re: [z80] Défi | |
| |
| | | |
Page 1 sur 2 | Aller à la page : 1, 2 | |
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
|
|