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 créée
gcbasic:syntaxe:sous-programmes [2009/11/01 22:08] (Version actuelle)
per
Ligne 1: Ligne 1:
 ====== Sous-programmes ====== ====== Sous-programmes ======
 [[. |retour]] [[. |retour]]
-    
-Acerca de Subrutinas 
  
-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.+===== Au sujet des Sous-Programmes =====
  
-Hay dos usos principales para las subrutinas: +Un sous-programme est un petit programme à l'intérieur du programme principalLes 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.
-·    Mantener los programas claros y faciles de leer. +
-·    Reducr el tamaño de los programas permitiendo secciones comunes ser reusadas.+
  
-Cuando el programa del PIC llega una subrutina el salva su localizacion en el presente programa antes de saltar al comienzo de esta, o llama la subrutina. Una vez que alcanza el final de la surutina el retorna al programa principal, y continua corriendo el codigo que dejo previamente.+Il y deux usages principaux des sous-programmes : 
 +  * Maintenir les programmes clairs y faciles à lire. 
 +  * Réduire la taille des programmes permettant de réutiliser des sections communes.
  
-Normalmentees posible que las subrutinas puedan llamar otras subrutinas. Entonces 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: +Quand le programme du PIC arrive à un sous-programmeil sauve son adresse dans le programme présent avant de sauter au commencement de celle-ciou appel le sous-programme. Une 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.
-Familia dePICs +
-  +
-Ancho de Instruccion +
-  +
-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 subrutina. Algunos comandos de GCBASIC  son subrutinasde manera que usted podria permitirse de 2 a 3 llamadas a subrutinas mas de la que su programa pueda tener.+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 ^Largeur des Instructions ^Nombre de sous programmes appelés ^ 
 +| 10F*12C5*, 12F5*, 16C5*, 16F5* | 12 | 1 | 
 +| 12C*, 12F*, 16C*, 16F*, excepté ceux au-dessus | 14 | 7 | 
 +|18F*, 18C* | 16 |31|
  
-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 llamada, y son retornados cuando la subrutina finaliza.+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 à 3 appels à des sous-programmes en plus de son programme principal.
  
-Usando Subrutinas+Autre commodité des sous-programmes est qu'ils permettent d'accepter des paramètres. Ceux 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.
  
-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:+===== 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 :
  
 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.1256942537.txt.gz · Dernière modification: 2009/10/30 23:42 par per