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 12 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 12 Invités :: 1 Moteur de recherche Aucun Le record du nombre d'utilisateurs en ligne est de 367 le Dim 18 Oct 2009, 00:16 |
| | Fonction par morceaux (AdRiWeB) | |
| Auteur | Message |
---|
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 : 6246 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Fonction par morceaux (AdRiWeB) Dim 28 Sep 2008, 19:59 | |
| Voila le programme que je presente pour le concours zContest et celui de Ti-Bank. Reprise de cette page : http://www.tiforge.info/zcontest/index.php?action=view_prgm&id=22&l=fr Description: Programme de maths servant a tracer des fonctions definies par morceaux. Présentation détaillé:Voila un programme de maths qui va ravir plusieurs lycéens ! Pour tracer des fonctions définies par morceaux, l'astuce n'est pas très claire sur les z80, et peu de personnes la connaissent. De plus, la syntaxe a adopter est assez difficile pour un débutant. C'est pourquoi se programme a été créé ! Il permet très facilement de tracer une fonction définies par morceaux (10 maximum). Cette fonction est parfaitement etudiable par la suite, puisque son équation finale se trouve dans Y1. Vous pouvez ainsi parcourir la Table, faire des calculs avec cette fonction... Le programme fait environ 770 octets. Le programme est compatible MirageOS. AdRiWeB 2008 Screens:On rentre le nombre de morceaux pour la fonction. On définit les domaines et la fonction appropriée, pour chaque morceau Voila le résultat ! La fonction par morceaux est tracée ! Fichiers: - Fonction par morceaux.zip Le pack : programme en français et en anglais, les screenshots, le readme avec la notice et la description. - Fonction par morceaux LIGHT.zip Une version light du programme. Sensiblement plus léger (428 octets au lieu de 770 octets), le programme est cependant plus lent lors du tracé et laisse les variables de fonctions. MOD : déplacé dans Programmes z80 ( ) |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9405 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: Fonction par morceaux (AdRiWeB) Dim 28 Sep 2008, 20:06 | |
| hmmm...déplacé dans programmes z80, les projets finis c'est ceux qui ont été à un moment dans le salon projets pas mal le programme, j'connaissais déjà, il date d'ailleurs, non ? enfin, pas mal, mais sans vouloir être méchant, j'pense pas que tu auras beaucoup de chance de gagner, ayant vu les screen des autres programmes, enfin on verra quand même, d'toute façon l'important c'est de participer |
| | | 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 : 6246 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: Fonction par morceaux (AdRiWeB) Dim 28 Sep 2008, 20:41 | |
| lol, non, je me suis inspire de rien, et je l'ai fait ya une semaine lol oui sinon, je sais parfaitement que j'ai aucune chance lol, je participe aux concours pour le fun |
| | | Baruch OPTIMIZATOR
Nombre de messages : 193 Age : 32 items : Personalized field : Réputation : 0 Points : 5824 Date d'inscription : 07/08/2008
Profil TI: 83+ TO: 200 Spécialité: Basic z80
| Sujet: Re: Fonction par morceaux (AdRiWeB) Dim 28 Sep 2008, 20:46 | |
| On a créé une catégorie utilitaires, et je ne sais pas s'il y a d'autres progs dans celle-ci. Ca m'a l'air d'être un peu trop 770o, mais bon je verrai quand j'aurai testé. |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9405 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: Fonction par morceaux (AdRiWeB) Dim 28 Sep 2008, 21:03 | |
| adri>les sources sont incluses ou pas ? |
| | | 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 : 6246 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: Fonction par morceaux (AdRiWeB) Dim 28 Sep 2008, 21:43 | |
| ba c'est du basic... et sinon, jai une version light, de 420 octets, Baruch, si tu preferes |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9405 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: Fonction par morceaux (AdRiWeB) Dim 28 Sep 2008, 21:46 | |
| mais tu traces point par point la courbe, ou t'utilises les fonctions déjà incluses ? parce que 770 c'est quand même un peu gros, à moins qu'il n'y ait une aide fournie dans le programme ? |
| | | 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 : 6246 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: Fonction par morceaux (AdRiWeB) Dim 28 Sep 2008, 23:06 | |
| en fait, non, je trace pas point par point
j'utilise une astuce
mais bon, regarde le code, et decouvre l'horreur de ce que j'ai du etre condanne a faire
xD
(la fin ... si qqun a une idee pour optimiser ^^) |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9405 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: Fonction par morceaux (AdRiWeB) Lun 29 Sep 2008, 00:15 | |
| moué... des goto dans des boucles ? :p |
| | | Baruch OPTIMIZATOR
Nombre de messages : 193 Age : 32 items : Personalized field : Réputation : 0 Points : 5824 Date d'inscription : 07/08/2008
Profil TI: 83+ TO: 200 Spécialité: Basic z80
| Sujet: Re: Fonction par morceaux (AdRiWeB) Lun 29 Sep 2008, 00:36 | |
| Raaa ça m'énerve que tu dises ça. Je sais pas pourquoi mais il y a une tendance à médire sur les Goto. Pourquoi ? T'es frustré parce-qu'avec un Goto on se casse pas la tête alors qu'avec des boucles faut réflèchir ? Laisse les noobs se faire avoir par le ralentissement de leur prog.
Bon je m'explique : on est tous d'accord que les Goto utilisés n'importe comment ça ralentit un prog (et que ça énerve ceux qui se cassent la tête à ne pas en utiliser). Mais il existe une technique qui rend les Goto très intéressants. Et c'est justement un couplage de Goto avec des boucles. Que ceux que ça intéresse me demandent. |
| | | Syfo Pokémophile
Nombre de messages : 1978 Age : 33 Localisation : IYA items :
Personalized field : 26 jetons Réputation : 8 Points : 6727 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: Fonction par morceaux (AdRiWeB) Lun 29 Sep 2008, 10:32 | |
| Moi ca m'interesse! Ca interesse beaucoup de monde d'ailleurs.
Tu m'as deja explique, mais je t'encourages a l'expliquer par ecrit pour tous les noobs qui kiffent les goto, et tous les gensses comme moi qui se croyaient trop forts en esquivant les goto et qui pourraient etre plus forts encore en les utilisant correctement. |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9405 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: Fonction par morceaux (AdRiWeB) Lun 29 Sep 2008, 19:37 | |
| Baruch>bah disons que les Goto c'est pas le top pour l'optimisation ... ceci dit, si ta technique permet d'optimiser/accélérer ou autre le programme, bah j'veux bien voir ça en attendant, j'reste persuadé que les Goto c'est plutôt un truc de débutant, surtout quand je vois des : - Code:
-
0->A Lbl 1 A+1->A If A<1000 Then Goto 2 Else Goto 3 End Lbl 2 Disp "A vaut",A Goto 1 Lbl 3 Disp "FIN"
(oui bon, c'est exagéré, c'est vrai ....) |
| | | Baruch OPTIMIZATOR
Nombre de messages : 193 Age : 32 items : Personalized field : Réputation : 0 Points : 5824 Date d'inscription : 07/08/2008
Profil TI: 83+ TO: 200 Spécialité: Basic z80
| Sujet: Re: Fonction par morceaux (AdRiWeB) Lun 29 Sep 2008, 20:19 | |
| Bon ok je vais faire un sujet là-dessus. Dsl AdRiWeB pour le flood ^^. |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9405 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: Fonction par morceaux (AdRiWeB) Lun 29 Sep 2008, 22:53 | |
| => par iciJ'déplacerais les messages superflus dans le nouveau topic |
| | | 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 : 6246 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: Fonction par morceaux (AdRiWeB) Mar 30 Sep 2008, 04:15 | |
| ok cool merci ^^'
Sinon, vous avez teste mon programme ^^' ? |
| | | Baruch OPTIMIZATOR
Nombre de messages : 193 Age : 32 items : Personalized field : Réputation : 0 Points : 5824 Date d'inscription : 07/08/2008
Profil TI: 83+ TO: 200 Spécialité: Basic z80
| Sujet: Re: Fonction par morceaux (AdRiWeB) Mar 30 Sep 2008, 19:06 | |
| Ben il y a pas mal de bugs et autres trucs strange.
Bon déjà j'ai pas trouvé comment ça marchait avant de voir le code. Faudrait au moins que tu dises qu'il faut taper aSinon ça aurait été sympa de pouvoir mettre des bornes infinies, et de choisir des bornes fermées ou ouvertes. Je trouve que le cadrage du zoom par le prog c'est pas utile.
Maintenant au niveau codage (j'ai bien été obligé de jeter un oeil) :
Je laisse de côté les améliorations proposées au-dessus. Je vais faire dans l'ordre du code :
- Les Delvar Yn ne servent à rien, puisque tu ne fais que stocker des valeurs dans ces variables.
- Le Delvar P te sert juste à éviter que la boucle While soit sautée dès le premier test. Pour éviter ça, faut utiliser Repeat, dans lequel le test est fait à la fin de la boucle, et donc le code dans la boucle est exécuté au moins une fois. Et puis While A = Repeat not(A). Donc tu vires le Delvar P, et tu mets Repeat P>=2 and P<=10
- Le "->Str9 permet donner à Str9 une longueur de 0 si celle-ci n'existe pas. Or ça ne sert à rien, puisque tu fais un Input Str9, et donc la valeur initiale de Str9 n'a aucune importance.
- Bon après c'est un peu le bordel. Ton algo est trop lourd (en temps et en o). Tu demandes les fonctions une à une et tu les mets dans un Yn, après tu reprends chaque Yn, tu le mets dans une string, tu mélanges, puis tu mets la string finale dans Y1. Donc enfait tu fais ça : Str -> Yn -> Str -> Yn. Sachant qu'à chaque fois que tu modifie le type de la donnée, ça prend du temps. Il vaut mieux faire tout ce que tu as à faire sur les strings, puis tu passes aux Yn.
Je vais pas entrer dans les détails, mais cet algo me semble plus approprié :
:Faire ce qui suit autant de fois qu'il y a de morceaux
- Créer la chaîne (expression) de la fonction sur ce morceau - L'ajouter à la chaîne créée précédemment
:Fin de boucle
- Stocker la chaîne finale dans Y1
Et un dernier commentaire :
- Un Stop à la fin d'un code ça sert à rien.
Bon ben dépèche toi il te reste un jour (?). Sinon c'est une bonne idée de faire un prog qui automatise l'astuce qu'on connaît pour faire des fonctions par morceaux. Evite juste les fioritures, c'est un utilitaire, donc on veut que ce soit rapide et sobre.
Bonne prog ! |
| | | 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 : 6246 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: Fonction par morceaux (AdRiWeB) Mer 01 Oct 2008, 03:42 | |
| Merci beaucoup pour le test et les remarques Comme je le dis toujours, les remarques positives encouragent et le negatives nous apprennet a faire mieux Je trouve que les Delvar Yn servent puisque s'il y avaient des valeurs dans celles ci et que l'utilisateur ne choisis que 3 morceaux, il restera toujours des fonctions... Pour l'algo, oui je sais qu'il est putain vachement foireux lourd, et tout ce que tu veux ^^' mais bon, sur une 84+ SE ca tourne assez vite, alors bon, j'ai fait ca vite fait, c'est sur que ca pourrait etre largement mieux Pour le Stop a la fin du code, oui, je sais pas ce qui m'a pris o_O ^^ |
| | | Baruch OPTIMIZATOR
Nombre de messages : 193 Age : 32 items : Personalized field : Réputation : 0 Points : 5824 Date d'inscription : 07/08/2008
Profil TI: 83+ TO: 200 Spécialité: Basic z80
| Sujet: Re: Fonction par morceaux (AdRiWeB) Mer 01 Oct 2008, 17:46 | |
| Oui effectivement les Delvar Yn sont nécessaires pour ton algo. Dsl, je pensais déjà à un meilleur algo ^^. Lol la vieille excuse ^^.
Bon sinon j'espère que tu m'en voudras pas si je fais une version personnelle de ce prog. |
| | | 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 : 6246 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: Fonction par morceaux (AdRiWeB) Jeu 02 Oct 2008, 04:09 | |
| ben non, je ne t'en voudrais pas lol ^^
Pis au moins je verrai comment tu as fait, et comme ca ca me fera progresser, on va dire ^^' |
| | | Contenu sponsorisé
| Sujet: Re: Fonction par morceaux (AdRiWeB) | |
| |
| | | | Fonction par morceaux (AdRiWeB) | |
|
Page 1 sur 1 | |
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
|
|