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/10/30 23:42]
per
gcbasic:syntaxe:sous-programmes [2009/11/01 22:08] (Version actuelle)
per
Ligne 2: Ligne 2:
 [[. |retour]] [[. |retour]]
  
-Acerca de Subrutinas+===== Au sujet des Sous-Programmes =====
  
-Una  subrutina es un programa pequeño dentro del programa principal. Las subrutinas son usadas tipicamente cuando una operacion necesita ser repetida varias veces en diferentes partes del programa principal.+Un sous-programme est un petit programme à l'intérieur du programme principal. Les sous-programmes sont utilisés typiquement quand une opération a besoin d'être répétée plusieurs fois dans différentes parties du programme principal.
  
-Hay dos usos principales para las subrutinas+Il y a deux usages principaux des sous-programmes 
-·    Mantener los programas claros y faciles de leer+  * Maintenir les programmes clairs y faciles à lire
-·    Reducr el tamaño de los programas permitiendo secciones comunes ser reusadas.+  * Réduire la taille des programmes permettant de réutiliser des sections communes.
  
-Cuando el programa del PIC llega a una subrutina el salva su localizacion en el presente programa antes de saltar al comienzo de estao llama la subrutinaUna vez que alcanza el final de la surutina el retorna al programa principal, y continua corriendo el codigo que dejo previamente.+Quand le programme du PIC arrive à un sous-programme, il sauve son adresse dans le programme présent avant de sauter au commencement de celle-ciou appel le sous-programmeUne fois qu'il atteint la fin du sous-programme il retourne au programme principal, y continue de parcourir le code qu'il a laissé avant.
  
-Normalmentees posible que las subrutinas puedan llamar otras subrutinasEntonces hay limites al numero de veces que una subrutina pueda llamar a otra, esto varia de chip en chipcomo se observa en la tabla siguiente+Normalementil est possible que les sous-programmes peuvent appeler d'autres sous-programmesCependant il y a des limites au nombre de fois qu'un sous-programme puisse en appeler d'autrececi varie selon les puces, comme on l'observe dans la table suivante
-Familia dePICs +^ 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]]
gcbasic/syntaxe/sous-programmes.1256942564.txt.gz · Dernière modification: 2009/10/30 23:42 par per