Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Bien utiliser ses sous-programmes
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Bien utiliser ses sous-programmes

Posté le 17/02/2016 12:35

Comme vous le savez en basic, on peut avoir des sous-programmes qui sont appelés par un programme principal.
Le problème, c'est que ces sous-programmes prennent de la place dans le menu, ce qui le rend moins clair et plus long à parcourir pour trouver ce que l'on cherche. De plus les jeux avec beaucoup de sous-programmes rebutent beaucoup de personnes de les tester.
C'est pourquoi voici quelques conseils pour utiliser les sous-programmes :
- Les nommer avec le même début que votre programme pour qu'il soit rangé à côté ou avec des symboles ("+", "-", "x", "~", etc) pour qu'ils soient rangés à la fin.
- Leur donner un nom explicite pour les testeur ou du moins ne pas les appeler "sousprog"
- Ne pas en utiliser lorsque ce bout de code n'est pas répété plusieurs fois dans votre programme
Exemple illustrant le dernier conseil :
//Mon programme principal
Afficher "perso"
Afficher "numero"
Afficher "tirs"
Do
Getkey→G
LpWhile G=0
Si G = 78
Alors A+1→A
Afficher A,B,"perso"
Afficher X,Y,"numero"
Afficher C,D,"tirs"
Fin Si
Si G=77
Then X+2→X
Y-1→Y
Afficher "perso"
Afficher "numero"
Afficher "tirs"
Fin Si
A*2→A
X+A→Y

Comme vous pouvez le voir, une partie du code est répétée, créons donc un sous programme

//Sous programme : "~Affich"
Afficher "perso"
Afficher "numero"
Afficher "tirs"

//Programme principal
Prog "~Affich"
Do
Getkey→G
LpWhile G=0
Si G = 78
Alors A+1→A
Prog "~Affich"
Fin Si
Si G=77
Then X+2→X
Y-1→Y
Prog "~Affich"
Fin Si
A*2→A
X+A→Y

Alors, c'est mieux non ?
Mais maintenant ce qu'il ne faut pas faire basic (mais qui serait pertinent en C avec une fonction je pense) :

//Programme principal
Se lever
Prog "petit déjeuner"
se doucher
aller en cours
travailler
Prog "midi"
retourner en cours
retravailler
rentrer chez soi

//Sous programme "petit déjeuner"
Prendre un bol, du lait et des céréales
Verser le lait et les céréales dans le bol
Prendre une petite cuillère
Manger

//Sous programme "midi"
Attendre de pouvoir passer
Passer
Prendre un plateau
Mettre ce que l'on veut dessus
S'asseoir à une table
Manger
Posez le plateau à l'endroit approprié
Partir

Comme vous le voyez, ces sous-programme ne sont appelés qu'une fois, ils sont donc inutiles et le code qu'ils contiennent devra être écrit la ou on les appelle.
Je ne vais pas le réécrire mais je pense que vous avez compris



Voilà j'espère que ce petit topic vous aidera. Je précise qu'il n'est valable que pour les sous-programmes en Basic Casio.

Si je raconte n'importe quoi merci de me le signaler en commentaire Et si vous voulez rajouter quelque chose allez y


Fabcvlr Hors ligne Membre Points: 2269 Défis: 41 Message

Citer : Posté le 17/02/2016 15:26 | #


Un sous programme qui ne sert qu'une fois n'a pas d'utilité en tant que sous-programme, je suis d'accord avec toi !
L'expérience des autres, c'est comme une chandelle que l'on tient allumée dans son dos par une nuit de tempête !
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 17/02/2016 20:07 | #


Beaucoup de gens le font et c'est plutôt énervant donc j'ai voulu éviter que d'autres programmeurs le fasse
Ninestars Hors ligne Membre Points: 2461 Défis: 24 Message

Citer : Posté le 17/02/2016 20:15 | #


C'est vrai, il faut le préciser !
(l'exemple me semble un peu trop détaillé pour bien montrer ce que tu veux dire, pas besoin de la partie GetKey et compagnie )
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 17/02/2016 20:19 | #


Je voulais faire un truc un minimum réaliste
C'est pas gênant si je le laisse
Fabcvlr Hors ligne Membre Points: 2269 Défis: 41 Message

Citer : Posté le 19/02/2016 14:01 | #


Certains de mes petits programmes se terminent par un Return, ceci me permet par la suite de les inclure dans une structure plus grande.
L'expérience des autres, c'est comme une chandelle que l'on tient allumée dans son dos par une nuit de tempête !
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 19/02/2016 14:03 | #


Fabcvlr a écrit :
Certains de mes petits programmes se terminent par un Return, ceci me permet par la suite de les inclure dans une structure plus grande.

Ce n'est jamais nécessaire, à part pour remplacer Stop. Un sous-programme qui arrive au bout de l'exécution se termine comme sur un Return.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 102 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd