π
<-

programme trop lent

Programmation et implémentation d'algorithmes.

Re: programme trop lent

Unread postby Bisam » 13 Feb 2012, 15:13

Après quelques tests, je ne vois pas beaucoup d'améliorations possibles.

La seule chose que je te suggèrerais serait de séparer les sous programmes "calc1" à"calc4" plutôt que de les réécrire à chaque fois. Cela devrait améliorer significativement le temps de calcul car une fois qu'ils sont écrits et utilisés une fois, les programmes sont plus efficaces. Si au contraire, tu les réécris à chaque fois, la calculette est obligée de les retokeniser et donc cela prend un peu de temps.

Ensuite, tu ne pourras pas compresser le temps de résolution (5 solve, ça prend quand même un peu de temps).
Donc il est normal de tomber sur un temps de 10 à 15 secondes, ce que je constate avec l'amélioration que je viens de citer.

On peut bien sûr trouver quelques détails supplémentaires pour améliorer la programmation, parmi lesquels, en vrac :
- passer les paramètres en arguments plutôt qu'en variables globales,
- effacer les variables globales utilisées,
- se placer dans le dossier "aero" systématiquement au début et revenir au dossier courant à la fin (pour éviter de laisser traîner des variables partout)
- remettre en l'état les paramètres de la calculatrice qui ont été modifiés,
- utiliser les structures "if... then... (elseif... elseif...) else...endif" plutôt que des branchements (Goto)
- utiliser les structures "request" plutôt que les popup pour les différents paramètres (cela évite en plus de donner 2 fois le même paramètre, chose qui n'est pas vérifiée)

Mais tout ça n'améliorera que peu le temps de calcul.
En revanche, le programme sera beaucoup plus propre et plus agréable pour l'utilisateur...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: programme trop lent

Unread postby hermes » 13 Feb 2012, 20:32

bonsoir,

merci pour le temps que tu a passé sur mon probléme surtout sachant que ça n'est pas la première fois que tu m'aide sur ce programme, cependant mon probléme reste entier mon programme est trop long à exécution environ 10s sur tiemu mais environ 30s sur la calculette! les programmes calc1 à 4 ne serait-il pas plus efficace en C et surtout est il possible de les traduire en C lisible par la 89 titanium?

Hermes
User avatar
hermes
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 27.3%
 
Posts: 73
Joined: 06 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Maitrise à Montréal

Re: programme trop lent

Unread postby Lionel Debroux » 13 Feb 2012, 20:51

les programmes calc1 à 4 ne serait-il pas plus efficace en C

Pas significativement, comme je l'ai écrit plus haut ;)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6869
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: programme trop lent

Unread postby Bisam » 14 Feb 2012, 10:54

Le défi m'a plu alors j'ai réécrit presque tout le programme.
Je suis en train de tout essayer pour ne faire qu'un seul solve au lieu de 4.
Je te ferai savoir si ça marche.

De ton côté, essaie de virer les lignes faisant réécrire les programmes calc1 à 4 à chaque fois (en vérifiant d'abord qu'ils sont bien enregistrés quelque part). Tu constateras que le calcul est bien plus rapide. Je n'atteins jamais plus de 15 secondes.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: programme trop lent

Unread postby Bisam » 14 Feb 2012, 15:40

Bon, voilà, j'en suis arrivé à un programme 2 fois plus petit, sans faute d'orthographe et plus ergonomique. Il ne laisse aucune trace (sauf le résultat dans la variable "air"), teste toutes les erreurs éventuelles de frappe, et surtout il met moins de 10 secondes.
Le seul calcul qui est vraiment long est en fait le calcul de "theta_h" (la température humide, je suppose) à la fin.
Il resterait à détailler les résultats... mais c'est facile à modifier.

Je l'ajoute à ce post :
aero.air2.v2p
You do not have the required permissions to view the files attached to this post.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: programme trop lent

Unread postby hermes » 14 Feb 2012, 20:38

bonjour,

merci pour ce magnifique travail !!!
En effet beaucoup plus rapide.

Hermès
Last edited by hermes on 15 Feb 2012, 14:55, edited 1 time in total.
User avatar
hermes
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 27.3%
 
Posts: 73
Joined: 06 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Maitrise à Montréal

Re: programme trop lent

Unread postby hermes » 15 Feb 2012, 14:36

bonjour,

Après utilisation j'ai découvert un petit problème les données qui sont restitué dans "air" n'ont pas toute le même format certaine sont des valeurs d'autres des chaînes de caractère cela créé une autre erreur : si on met comme donné h et r on ne peut plus avoir les valeurs thêta h et thêta r en fin de programme ou puis je modifier le programme:
-au début : après la demande des inconnus
-a la fin : après la résolution des équations.
il y a certaine ligne que je ne comprend pas !!!

Hermès
User avatar
hermes
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 27.3%
 
Posts: 73
Joined: 06 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Maitrise à Montréal

Re: programme trop lent

Unread postby Bisam » 15 Feb 2012, 21:05

Ah oui, j'avais oublié de modifier cela, en pensant que le résultat n'était pas important.
Il suffit de peu de transformations mais c'est difficile à expliquer.

De toute façon, j'étais en train d'améliorer encore le programme.
Je te donne la nouvelle version sous peu.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: programme trop lent

Unread postby hermes » 16 Feb 2012, 08:52

bonjour,

les résultats on une certaine importance car je réutilise ce programme au sein d'autre programme. ex dimensionnement de batterie chaude froide etc

Hermès
User avatar
hermes
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 27.3%
 
Posts: 73
Joined: 06 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Maitrise à Montréal

Re: programme trop lent

Unread postby Bisam » 16 Feb 2012, 09:16

En attendant, tu peux rajouter ces lignes à la fin du programme.
Ce n'est pas très propre, mais ça fonctionne.
Code: Select all
for i,1,6
   air[i]->tmp
   if gettype(tmp)="STR"
     expr(air[i])->air[i]
endfor
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

PreviousNext

Return to Programmation

Who is online

Users browsing this forum: ClaudeBot [spider] and 0 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
986 utilisateurs:
>954 invités
>25 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)