⇨ MENU ⇨ BIBLIOTHEQUE ⇨ arraylib.bbc
PROC_arrayslice()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ arraylib.bbc
PROC_arrayslice()
DESCRIPTION.
La procédure PROC_arrayslice() affecte les éléments d'une tableau de données avec un sous-ensemble des éléments d'un autre tableau de données.
SYNTAXE.
PROC_arrayslice( source , destination , debut , quantite )
REMARQUES.
source doit être un tableaux de données, déclaré et existant, ayant une seule dimension.
destination doit avoir le format d'un identifiant d'un tableau de données mais ne doit pas être déclaré.
debut et quantite doivent être des nombres entiers, où :
- debut est l'index du premier éléments de source à transférer dans destination ;
- quantite est la quantité d'éléments de source à transférer dans destination.
La somme de debut et de quantite doit être inférieure ou égale au nombre d"éléments dans source.
Si un tableau de données a été déclaré avec le même identifiant que destination et avec la même portée, il sera détruit et inaccessible pour cette portée.
L'appel de la procédure PROC_arrayslice() créera le tableau de données destination avec un nombre d'élément de quantite et affectera les éléments de destination avec la valeur de quantite d'éléments, et en commençant par l'élément ayant l'index debut, de source.
Toute modification des éléments de destination modifiera les éléments correspondants de source.
Si le type de données de source et de destination sont connues, en particulier si les éléments sont des chaines de caractères, on pourra ajouter le suffixe du type de valeur à l'appel de la procédure :
- PROC_arrayslice(), pour des valeurs numériques de type réel signé ;
- PROC_arrayslice%(), pour des valeurs numériques de type entier signé 32 bits ;
- PROC_arrayslice&(), pour des valeurs numériques de type octet 8 bits non signé ;
- PROC_arrayslice#(), pour des valeurs numériques de type réel double de 64 bits ;
- PROC_arrayslice$(), pour des valeurs de type chaine de caractères ;
- PROC_arrayslice%%(), pour des valeurs numériques de type entier signé 64 bits.
Voir l'instruction DIM() pour plus de détails sur les tableaux de données.
La procédure PROC_transpose est importée depuis le module arraylib.bbc.
EXEMPLE.
REM --- Importation des modules ---
REM --- Module de la bibliothèque BBC BASIC ---
INSTALL @lib$ + "arraylib.bbc"
REM --- INITIALISATION GENERALE ---
DIM LST_Source( 9 ) : LST_Source() = 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9
REM --- Transfère des valeurs ---
PROC_arrayslice( LST_Source() , LST_Destination() , 3 , 5 )
REM --- Lecture et affichage des éléments ---
FOR kindex = 0 TO 9 : PRINT LST_Source( kindex ) ; : NEXT kindex
FOR kindex = 0 TO 4 : PRINT LST_Destination( kindex ) ; : NEXT kindex
REM --- Modification des éléments de destination ---
FOR kindex = 0 TO 4 : LST_Destination( kindex ) = ( kindex * 3 ) + 1 : NEXT kindex
REM --- Lecture et affichage des éléments ---
FOR kindex = 0 TO 9 : PRINT LST_Source( kindex ) ; : NEXT kindex
FOR kindex = 0 TO 4 : PRINT LST_Destination( kindex ) ; : NEXT kindex
REM --- Fin du programme ---
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.