Calculatrices Casio Graphiques : Jeux, programmes, cours, pompes, astuces et programmation sur calculatrice graphique Casio et ClassPad 300 : programmes casio et jeux casio...

Programmes et jeux pour calculatrices Casio Graph et calculatrice ClassPad 300, jeux casio, cours...Calcul formel pour Casio Graph 85
 

Forum Programmation Casio

 

Programmes et jeux pour calculatrices Casio Graph et calculatrice ClassPad 300, jeux casio, cours...: Forums

Forum Casio

Un espace convivial pour poser vos questions ou simplement venir discuter... Entrer

Forum Programmation

Toutes les discussions à propos de la programmation sur calculatrices Casio... Entrer

Foire aux Questions

Les réponses aux questions les plus courantes sont ici ! Entrer

Forum programmation Casio
  

Un seul programme ou faire des sous-programmes

Auteur Un seul programme ou faire des sous-programmes
lolotone
Membre



Messages: 30
Calculatrice : Graph 35
Message posté: 03-03-2010 à 00:08     Editer/Supprimer les messages postés   Renvoyer une note
Bonsoir.

Alors voilà je suis en train de faire un programme qui fera à peu près 10ko.

Ce que je me demande c'est s'il faut plutôt faire plusieurs sous programmes ou pas.

En fait je me demande la rapidité des fonctions Prog / Return, surtout lorsque Return renvoie à une ligne assez loin dans le programme principal.

Je pense pouvoir faire un unique programme sans Lbl bien sûr mais il y aurait de grandes conditions (par exemple un Then qui fait 15 lignes, un Else de 20 lignes) et je me demande si la calculatrice met plus de temps à survoler des dizaines de lignes à la recherche du Else si la condition n'est pas vérifiée ou du IfEnd si elle l'est, que de chercher un sous-programme.

Merci d'avance.

Bonjour (Bah oui j'ai commencé à écrire hier ).



drsi-prog1max
► Programmeur Basic



Messages: 463
Calculatrice : Graph 65
Message posté: 03-03-2010 à 00:17     Editer/Supprimer les messages postés   Renvoyer une note
A mon avis mieux vaut faire des sous programmes : c'est plus lisible, c'est plus facile à modifier, parce que avoir un If de 40 lignes c'est bof. Question rapidité, les Prog, ce ne sont pas des Lbl, donc c'est plutôt rapide donc plus tu as des conditions longues, mieux vaut en faire des sous programmes de 100/300 o.


 
PierrotLL
Administrateur



Messages: 1228
Calculatrice : Graph 85
Message posté: 03-03-2010 à 00:24     Editer/Supprimer les messages postés   Renvoyer une note
Si la condition est très grosse, oui, ça peut être intéressant de mettre son contenu dans un sous-programme. Il faudrait faire des tests pour savoir à partir de quelle taille on gagne de la vitesse. Comme tu l'as dit, il est possible que si le Prgo est loin dans le programme appelant ça perde du temps au Return.

Les sous programmes sont surtout utiles pour un bout de code qui va être utilisé à plusieurs endroit du programme.

Personnellement, je préfère faire des sous programmes qui ont une unique tâche, et qui la remplissent jusqu'au bout. Ça permet d'avoir une organisation que je trouve plus agréable.


EDIT: drsi_prog1max=> 100/300ko ? Sur une calculatrice qui n'a que 64ko de mémoire?



 
drsi-prog1max
► Programmeur Basic



Messages: 463
Calculatrice : Graph 65
Message posté: 03-03-2010 à 01:04     Editer/Supprimer les messages postés   Renvoyer une note
J'ai corrigé (ça fait bizarre un "o" tout seul aussi). Il faut dire que l'on parle souvent en ko, alors par habitude, il y a un "k" qui s'est glissé ..


 
lolotone
Membre



Messages: 30
Calculatrice : Graph 35
Message posté: 05-03-2010 à 00:04     Editer/Supprimer les messages postés   Renvoyer une note
Quote:
A mon avis mieux vaut faire des sous programmes : c'est plus lisible, c'est plus facile à modifier


Oui c'est sûr c'est pour ça que j'ai commencé sous avec des sous-programmes, et une fois que le code sera bon, je collerai chaque sous-programmes (ou pas) dans le programme principal. La seule question que je me posait était sur la rapidité et non pas sur tous les avantages / inconvénients des deux méthodes.

Une fois que j'aurais fini le programme, je ferai les deux méthodes pour voir laquelle est plus rapide, et si je serai motivé, je réfléchirai à quel sous-programme est plus rapide en étant intégré au programme principal ou en étant un sous-programme proprement dit, sachant que j'ai 6 sous-programmes, ça me fait 26=64 possibilités à tester (donc c'est vraiment si je suis motivé, et me connaissant, ça risque fort).



PierrotLL
Administrateur



Messages: 1228
Calculatrice : Graph 85
Message posté: 05-03-2010 à 19:17     Editer/Supprimer les messages postés   Renvoyer une note
Teste d'abord avec le plus gros et le plus petit sous-prog. Si le résultat est identique (gain ou perte de temps), inutile de faire les autres tests.


 
lolotone
Membre



Messages: 30
Calculatrice : Graph 35
Message posté: 05-03-2010 à 23:33     Editer/Supprimer les messages postés   Renvoyer une note
Espérons que ça soit aussi simple, surtout si la rapidité de la fonction Return dépend de la position du Prog dans le programme appelant : un "gros" sous-programme peut peut-être être mis directement dans le programme principal s'il est appelé vers le début de celui-ci, alors qu'un "petit" sous-programme serait peut-être plus rapide s'il reste en tant que sous-programme s'il est appelé vers la fin du programme.


lolotone
Membre



Messages: 30
Calculatrice : Graph 35
Message posté: 16-03-2010 à 21:44     Editer/Supprimer les messages postés   Renvoyer une note
Verdict :
J'avais un sous-programme de deux lignes. On va me dire pourquoi en faire un, s'il est si petit, mais c'est qu'il était appelé 17 fois. J'ai supprimé ce sous-programme et j'ai collé les lignes correspondantes à chaque appel (bon niveau mémoire c'est bof : + 500 octets) mais c'est plus rapide (et c'est uniquement ça qui m'intéresse, quoique si ça aurait pris 5ko en plus .. je ne l'aurais pas fait).
Sinon les autres sous programmes je les ai laissés.

Pour la vitesse de la fonction Return, j'avais un vieux programme de ~30ko, je me suis amusé a le retaper et j'ai mis des appels de sous-programme tous les ~5ko (7 en tout). Résultat c'est de plus en plus long mais la différence est négligeable par rapport à la même chose avec des Lbl .

sujet résolu .



Meetic - Les règles du jeu ont changé | MeeticAffinity
  
Bloquer le sujet Déplacer le sujet Supprimer le sujet
 
     


Toutes les pages et les images de jeux casio appartiennent à http://www.jeuxcasio.com ©2002-2010
Toute reproduction partielle ou totale de Jeuxcasio.com ou de son contenu est strictement interdite. | Casio est une marque déposée par le groupe Noblet

Bac Français Meeticadblocktest Amazon.com Expedia.com Ebookers
Opodo
Amazon.fr eBay Fr

Il est 23:39:59