Outils d'utilisateurs

Outils du Site


gcbasic:syntaxe:sous-programmes

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

gcbasic:syntaxe:sous-programmes [2009/11/01 19:40]
per
gcbasic:syntaxe:sous-programmes [2009/11/01 22:08] (Version actuelle)
per
Ligne 13: Ligne 13:
  
 Normalement, il est possible que les sous-programmes peuvent appeler d'autres sous-programmes. Cependant il y a des limites au nombre de fois qu'un sous-programme puisse en appeler d'autre, ceci varie selon les puces, comme on l'observe dans la table suivante: Normalement, il est possible que les sous-programmes peuvent appeler d'autres sous-programmes. Cependant il y a des limites au nombre de fois qu'un sous-programme puisse en appeler d'autre, ceci varie selon les puces, comme on l'observe dans la table suivante:
-Famille de PICs +Famille de PICs ^Largeur des Instructions ^Nombre de sous programmes appelés ^ 
-  +10F*, 12C5*, 12F5*, 16C5*, 16F5* 12 | 
-Ancho de Instruccion +12C*, 12F*, 16C*, 16F*, excepté ceux au-dessus | 14 | 
-  +|18F*, 18C* 16 |31|
-Numero de subs llamadas +
-10F*, 12C5*, 12F5*, 16C5*, 16F5* +
-  +
-12 +
-  +
-+
-12C*, 12F*, 16C*, 16F*, except those above +
-  +
-14 +
-  +
-+
-18F*, 18C* +
-  +
-16 +
-  +
-31+
  
-Esos limites son debidos al monto de memoria en el PIC el cual salva la localizacion antes de brincar a una nueva subrutinaAlgunos comandos de GCBASIC  son subrutinas, de manera que usted podria permitirse de llamadas a subrutinas mas de la que su programa pueda tener.+Ces limites sont dus à la quantité de mémoire dans le PIC qui sauvegarde l'adresse avant de sauter au nouveau sous-programmeQuelques commandes de GCBASIC  sont des sous-programmes, de manière qu'on ne pourra se permettre que 2 à appels à des sous-programmes en plus de son programme principal.
  
-Otra comodidad de las subrutinas es que ellas se permiten aceptar parametrosEsos son valores que son pasados desde le programa principal a la subrutina cuando ella es llamaday son retornados cuando la subrutina finaliza.+Autre commodité des sous-programmes est qu'ils permettent d'accepter des paramètresCeux sont des valeurs qui sont passées depuis le programme principal au sous-programme quand il est appeléet ils sont retournés quand le sous-programme se termine.
  
-Usando Subrutinas +===== Utilisation des sous-programmes ===== 
- +Appeler un sous-programme est très simple - tout ce qu'on besoin est le nom du sous-programmeet une liste de paramètresCe code pourra appeler un sous-programme appelé "Buzz" qui n'a pas de paramètres :
-Llamar una subrutina es muy sencillo todo lo que se necesita es el nombre de la subrutinay una lista de parámetrosEste código podra llamar a una subrutina llamada "Buzz" que no tiene  parametros:+
  
 Buzz Buzz
  
-Si la subrutina tiene parametrosentonces ellos deberan ser listados despues del nombre de la subrutina. Este podria ser el comando para llamar una subrutina llamada  "MueveBrazoesta tiene tres parametros:+Si le sous-programme a des paramètresalors ils devront être listés après le nom du sous-programme. Ceci pourrait être la commande pour appeler un sous-programme appelé "BougeBrascelui-ci a trois paramètres :
  
-MueveBrazo NuevaXNuevaY, 10+BougeBras NouveauXNouveauY, 10
  
-Crear una subroutina casi siempre es tan simple. Debera haber una linea al comienzo la cual tiene "sub ", y entonces el nombre de la subrutinaTambien, se necesita tener una linea al final de la subrutina que debe decir: "end sub". Para crear una subrutina llamada  "Buzz", este es el codigo requerido:+Créer un sous-programme est presque toujours très simple. Il devra avoir une ligne au début qui contient  "sub ", et ensuite le nom du sous-programmeIl faut aussi avoir une ligne à la fin du sous-programme que doit dire : "end sub". Pour créer un sous-programme appelé "Buzz", ceci est le code requis :
  
 sub Buzz sub Buzz
  
-'codigo para la subrutina va aqui+'Le code du sous-programme vient ici
  
 end sub end sub
  
-If the subroutine has parametersthen they need to be listed after the nameFor exampleto define the "MueveBrazo" sub used above, use this code:+Si le sous-programme a des paramètresalors il faut mettre la liste après le nomPar exemplepour définir le sous-programme "MueveBrazo" on utilise ce code:
  
-sub MueveBrazo(BrazoXBrazoYBrazoZ) #NR+sub BougeBras(BrasXBrasYBrasZ) #NR
  
-el codigo para la subrutina va aqui+'Le code du sous-programme vient ici
  
 end sub end sub
  
-En la subrutina de arribaBrazoXBrazoY and BrazoZ son todas variables. si la llamada de arriba es usadalas variables deberan tener esos valores al comienzo de la subrutina+Dans le sous-programme au dessusBrasXBrasY and BrasZ sont toutes des variables. si l'appel au dessus est utiliséles variables devront avoir ces valeurs au début du sous-programme 
-·    BrazoX NuevoX +·    BrasX NoveauX 
-·    BrazoY NuevoY +·    BrasY NouveauY 
-·    BrazoZ = 10+·    BrasZ = 10
  
-"#NR" significa "No Return" (No Devolver). si es especificadoentonces GCBASIC  no copiara los valores de los parametros hacia atras dentro de las viariables originales cuando la subrutina finaliza. Si "#NR" es removido del final de la linea entonces GCBASIC copiara los valores hacia atras en el ejemploNuevoX podria ser puesta como BrazoX y NuevoY tomaria el valor de BrazoY cuando la subrutina finalize.+"#NR" signifie "No Return" (Ne pas retourner). si c'est spécifiéalors GCBASIC  ne copiera pas les valeurs des paramètres dans les variables originales quand le sous-programme se terminera. Si "#NR" es enlevé de la fin de la lignealors GCBASIC copiera les valeurs au retour dans l'exempleNouveauX pourra être mis comme BrasX et NouveauY prendra la valeur de BrasY quand le sous-programme se terminera.
  
-Es posible usar variables tipo word (16-bit) como parámetros para las subrutinas justo añada "As Word" al final del nombre del parámetroPor ejemplo:+Il est possible d'utiliser des variables de type word (16-bit) comme paramètres pour les sous-programmes - on ajoute juste "As Word" à la fin du nom du paramètrePar exemple :
  
-sub MueveBrazo(BrazoX As Word, BrazoY As Word, BrazoZ As Word)+sub BougeBras(BrasX As Word, BrasY As Word, BrasZ As Word)
 ... ...
 end sub end sub
  
-Vea Tambien: +Voir aussi [[fonctions]]
-Funciones+
  
 [[. |retour]] [[. |retour]]
gcbasic/syntaxe/sous-programmes.1257100847.txt.gz · Dernière modification: 2009/11/01 19:40 par per