1
[nosmile]Vous pensez qu'on n'utilise pas assez la fonction EXEC "PROG" ? Je pense qu'on peut simplifier pas mal de programmes comme ça. Bien sûr, c'est plus encombrant, mais regardez par exemple :

J'ai fait 2 programmes identiques de 2 manières différentes :

PROGRAM:A
:I+1->I
tonguergmA

PROGRAM:B
:While 1
:I+1->I
:End

Après effacement de la variable I, quel programme affiche le I le plus grand au bout d'une même durée ?
C'est le programme A : en 10 s, on a I=1005 ; or pour le prog B, I=860

Voilà ! A oui, pendant que je suis dans mon délire de chronométrer tout et n'importe quoi, essayons de connaître le temps nécessaire à la calto pour exécuter un programme. Bien sûr, toutes les durées dépendent de ma calculatrice, donc seuls les rapports entre les durées mesurées importeront.

Comment procéder ?

On sait qu'en 10 s, le programme A s'est exécuté 1005,4 fois (pour être précis, 5 essais effectués).
On peut donc savoir combien de temps dure le prog A : 10/1005,4 = 9,9 ms
Or il faut enlever à ce temps la durée nécessaire pour stocker I+1 dans la variable I. Pour celà, on crée le programme C :

PROGRAM:C
:For (Z,1,500
:I+1->I
:End

On chronomètre, et on trouve que le temps d'une exécution du prog C est de 10,4 ms.

Mais il faut enlever à ce temps la durée d'exécution du programme D :

PROGRAMgrin
:For (Z,1,1000
:End

Et on trouve une durée d'une exécution du prog D est de 2,4 ms.

La temps nécessaire pour lancer un programme est donc de 9,9 - (10,4 - 2,4) = 1,9 ms

Voilà voilà !




2
Moui, c'est ce qu'on appelle un programme récursif (et faut bien sur penser à y mettre une fin).
Ça peut être très utile, mais souvent, tu as un équivalent simple en itératif (programme normal).

Le problème, c'est que le basic est trop limité pour utiliser ça. L'appel d'un programme est trop lent, et on ne peux pas passer de paramètres, donc on doit modifier ses variables, et comme le nombre de variables est limité...
En plus, en basic, tu ne peux utiliser que le haut de ton programme pour les appels récursifs.


Et puis, un programme qui s'appelle lui même, ça prend de la place en Ram (même sur ordinateur c'est génant).
Donc bien souvent, tu as droit à un "Err memory", et quand c'est pas le cas, la vitesse diminue fortement...
Enfin, tout ça pour dire que cette stratégie de programmation n'est pas très adapté à une Ti.
3
gon33 (./2) :
Et puis, un programme qui s'appelle lui même, ça prend de la place en Ram (même sur ordinateur c'est génant). Donc bien souvent, tu as droit à un "Err memory", et quand c'est pas le cas, la vitesse diminue fortement...


d'ailleurs, dans EXEC, PROG le programme que l'on est entrain d'éditer n'est pas disponible dans la liste ; surement pour éviter des error memory wink
Baruch (./1) :
Vous pensez qu'on n'utilise pas assez la fonction EXEC "PROG" ?


Je le pense aussi. Pour des taches que l'on utilise dans plusieurs programmes, ça allège pas mal le tout (autant au niveau de la mémoire, que de la lisibilité du programme, surtout si cette tache est faite d'un code long et compliquéwink)
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
4
d'ailleurs, dans EXEC, PROG le programme que l'on est entrain d'éditer n'est pas disponible dans la liste ; surement pour éviter des error memory


Non moi je peux y accéder (83+).

Oui je suis d'accord avec toi gon33, cette fonction n'est pas très pratique.
5
Ca me fait penser que je dois avoir au moins 20 progs pour le go, ça fait tâche...
J'ai trop la flemme de compresser tt ça dans un seul fichier...
6
J'ai hâte de voir ton jeu fini (d'ailleurs tu le présentes pour le concours non ?), mais bon d'abord faut que j'apprenne les règles ^^.
7
Bien sur!
Et puis tu verras, c'est sympa comme jeu!!
8
Tiens il me semble que j'avais essaye un prog recursif, et que ca n'avait pas fonctionne, j'en avais conclu apparemment trop vite qu'un prog ne pouvait pas s'appeler lui meme en Ti-Basic.
Mais je ne sais plus si c'etait sur ma 82 ou ma 84+.
Faudra que je reteste.
9
Baruch (./4) :
d'ailleurs, dans EXEC, PROG le programme que l'on est entrain d'éditer n'est pas disponible dans la liste ; surement pour éviter des error memory

Non moi je peux y accéder (83+).


Ha oui, autant pour moi..
J'ai confondu avec l'émulateur que j'ai où je peut pas le faire. Je vien de vérifier sur ma 83+, et c'est vrai que c'est possible.
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
gon33 (./2) :
Ça peut être très utile, mais souvent, tu as un équivalent simple en itératif (programme normal).

En théorie y'a tjs un équivalent itératif mais des fois y'est tout sauf simple cheeky

Sinon, pour le fun, je conteste le fait que la notion de 'programme normal' soit celle d'un programme impératif et itératif. (après tout, on a inventé le lambda-calcul bien avant les langages impératifs .. ). C'est juste celle à laquelle on est habitué le plus tôt
gon33 (./2) :
Enfin, tout ça pour dire que cette stratégie de programmation n'est pas très adapté à une Ti.

mais en ASM c'est largement utilisable ( bon évidement faut être raisonnable et pas faire 5000 call récursifs.. )


bonjour à tous,
je suis embêtée et j'espère qu evous pourez m'aider,
ça ne m'est jamais arrivé
j'ai une TI 82 STATS et sur mon ecran s'affiche ERR: MEMORY et en dessous 1: QUIT
lorsque j'essaie de faire un calcul et que je tape sur ENTER pour avoir le resultat, ça me l'affiche de nouveau, et cela à chaque fois
je ne sais pas comment regler le PB et j'ai peur de supprimer toute la mémoire

merci beaucoup j'espère que quelqu'un saura m'aider car je suis en revisions et je suiis dan sla _ _ _ _ _ _.
Lola

VOUS POUVEZ ME PREVENIR QUe un mail à été posté à zeliangel@hotmail.fr
Lut.

Pour ta mémoire, tu fais ça:
2nd, +, 2.

Ensuite, tu choisis APPS dans le menu.

Là, tu regardes ce que tu n'as pas envoyé sur ta Ti toi même (à priori, tout); et chaque truc qui ne vient pas de toi, tu le supprime, en faisant del et choisissant Ok.

Quand t'as fait ça, t'as libéré de la mémoire d'archive. Ensuite, tu refais 2nd, +, 2, et là tu choisis programmes.
Pour chaque programme dont tu te sers pas sur le moment, tu appuie sur Enter devant (tu les fait passer en mémoire d'archive).

Une fois que t'as fait ça, tu devrais pouvoir faire tes calculs.

Quand tu auras de nouveau besoin de te servir de ces programmes, tu fais 2nd, +, 2, tu choisis programmes et tu réappuie sur Enter devant le nom des programmes.
( gon33> y'a pas de mémoir d'archive sur les 82 et 83, et donc sur les 82 Stats. )

Sinon il faut donc que tu supprimes des choses de ta mémoire, regarde ce qui prend beaucoup de place et ne semble pas être utile, et supprimes-les. Peut-être qu'un programme te créer une grosse variable ou qqch comme ça..
Ce genre d'erreur sur un calcul tout simple (?), c'est vraiment bizar confus et même aec la RAM pleine...
J'avais fait un jour, sur ma 83+ un programme dont le but était de bouffer toute la ram, pour empécher l'éxecution des programmes (ca mettait error memory dès le 2° Disp), en remplissant la ram avec des liste. %ais J'ai mais je n'avais pas de problème avec de "petit" calcul
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
c'est normal sur 82 & 83 ..
very (./13) :
( gon33> y'a pas de mémoir d'archive sur les 82 et 83, et donc sur les 82 Stats. )


Oula... pas d'archive! Mais quelle misère! eek
La 82 serait la calculatrice du pauvre?? hum
Loclamor (./14) :
J'avais fait un jour, sur ma 83+ un programme dont le but était de bouffer toute la ram, pour empécher l'éxecution des programmes (ca mettait error memory dès le 2° Disp), en remplissant la ram avec des liste. %ais J'ai mais je n'avais pas de problème avec de "petit" calcul


Faut que tu réessaye!!
Tu bouffe la Ram comme tu veux (les matrices ça marche très bien), tu crée un nouveau programme, et tu le remplis avec des zéros... Quand tu peux plus, vas à l'écran par défaut.
Tu vas voir, l'effet est charmant^^ magic
A noter que pour effacer des programmes sur TI 82 STATS (et comme sur 83), une fois dans le menu de la mémoire (2nd, +, 2) c'est sur ENTER qu'il faut appuyer pour supprimer un programme, et non pas DEL.
gon33 (./16) :
Tu vas voir, l'effet est charmant^^ magic


Je sais, ça me le fesait pour de "gros" calculs (genre 1+1) mais pas pour les "petits" (genre 1, tout cour grin)
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
gon33 (./16) :
Oula... pas d'archive! Mais quelle misère! eek.gif
La 82 serait la calculatrice du pauvre?? hum.gif


Ben oui, c'est pas nouveau, c'est indiqué à la fois par le nombre ( 82 < 83 < 83+ etc), par le prix en magasin, par ses possibilités réduites (pas de cpx, pas de strings, pas d'asm natif..). Enfin avant y'avait la Ti-81 puis la Ti-80 (qui n'est pas une Z80 mais dans l'utilisation ressemble bcp aux Ti z80), mais la 81 n'avait pas de liaison PC, donc c'est mission impossible ou presque de la coder en asm.
La 82 est la remplaçante de la 81, elle a la bonheur d'avoir un port de liaison et d'être hackable pour pouvoir exécuter de l'asm. C'est la première de la série de Ti z80 'modernes', et techniquement elle est parfaitement à la limite, le minimum nécessaire.

C'est ce qui fait que c'est évidement la meilleur de toutes les Ti z80, et q'une vulgaire 83+ ou 84+, avec sa quantité écœurante d'archive, n'a aucun charme à coté.

Enfin, il faudrait parler au passé, elle est semble-t-il remplacée par la 82 STATS, qui est une 83 relooké. (la 83 étant juste une 82 avec une meilleur rom ..)
very (./19) :
82 < 83 < 83+ etc [...] pas de strings


Sur 82 Stat (idem que 83 je crois ?) il y en a
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Coucou!
Alors voilà, mon problème c'est que ma tI-82 stats est bloquée... enfin je peux aller dans les menus, les programmes et tout mais je ne peux plus rien tapper: pas de calculs, ni rajouter de données dans mes programmes.
Le curseur est en quadrillage et il clignote.
Tout ce que j'epère c'est que ce n'est pas un problème de mémoire parce que je je voudrais éviter de supprimer...

Merci d'avance!
Merci de créer un nouveau sujet pour vos problèmes, plutôt que d'utiliser le mien.
lol
Nan, c'est vrai quoi ! ^^ (dsl, crise de euh...)