π
<-
Chat plein-écran
[^]

programme trop lent

Programmation et implémentation d'algorithmes.

Re: programme trop lent

Message non lude Bisam » 13 Fév 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...
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5666
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: programme trop lent

Message non lude hermes » 13 Fév 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
Avatar de l’utilisateur
hermes
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 27.3%
 
Messages: 73
Inscription: 06 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Maitrise à Montréal

Re: programme trop lent

Message non lude Lionel Debroux » 13 Fév 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.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: programme trop lent

Message non lude Bisam » 14 Fév 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.
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5666
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: programme trop lent

Message non lude Bisam » 14 Fév 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
C'est un .v2p mais il est transférable directement sur une TI89 également.
(2.16 Kio) Téléchargé 62 fois
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5666
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: programme trop lent

Message non lude hermes » 14 Fév 2012, 20:38

bonjour,

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

Hermès
Dernière édition par hermes le 15 Fév 2012, 14:55, édité 1 fois.
Avatar de l’utilisateur
hermes
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 27.3%
 
Messages: 73
Inscription: 06 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Maitrise à Montréal

Re: programme trop lent

Message non lude hermes » 15 Fév 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
Avatar de l’utilisateur
hermes
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 27.3%
 
Messages: 73
Inscription: 06 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Maitrise à Montréal

Re: programme trop lent

Message non lude Bisam » 15 Fév 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.
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5666
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: programme trop lent

Message non lude hermes » 16 Fév 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
Avatar de l’utilisateur
hermes
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 27.3%
 
Messages: 73
Inscription: 06 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Maitrise à Montréal

Re: programme trop lent

Message non lude Bisam » 16 Fév 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: Tout sélectionner
for i,1,6
   air[i]->tmp
   if gettype(tmp)="STR"
     expr(air[i])->air[i]
endfor
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5666
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

PrécédenteSuivante

Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 13 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
"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.
Offre de test des nouveautés de rentrée 2024 par Casio. Enseignant(e), reçois gratuitement 1 exemplaire, à ton choix, de la Graph Light ou bien de la Graph Math+
14€ remboursés par Casio sur l'achat de ta calculatrice Graph 35 d'ici le 31 Octobre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 90+E d'ici le 31 Décembre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 25 d'ici le 31 Décembre 2024
8€ remboursés par Casio sur l'achat de ta calculatrice Graph Math+ d'ici le 31 Octobre 2024
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 3€ peu importe son état. Même non fonctionnelle et donc invendable, même ancienne Graph 35 non conforme aux programmes (pas de Python), même ancienne Graph 25/35 inutilisable aux examens (pas de mode examen) et donc invendable. Etiquette de retour fournie, pas de frais de port à payer.
3€ remboursés par Casio sur l'achat de ta calculatrice fx-92 Collège d'ici le 30 Septembre 2024
5€ de remise immédiate sur l'achat de ta calculatrice TI-83 Premium CE Edition Python chez les revendeurs partenaires
4€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced Edition Python chez les revendeurs partenaires
3€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced chez les revendeurs partenaires
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234567891011121314
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1548 utilisateurs:
>1540 invités
>3 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)