MOD
Syntaxe
data MOD divisor data % divisor
Paramètres
data
Valeurs entières dont le modulo doit être calculé. Il peut s'agir d'une valeur constante, d'une colonne, d'une plage de cibles ou d'une expression convertie comme l'une de ces valeurs. Pour la définition du format de data, voir la section "Paramètres des fonctions macro" du chapitre du présent document correspondant à votre produit IBM ® .
divisor
Entier de base non nulle par rapport auquel le modulo doit être calculé. Il peut s'agir d'une valeur constante, d'une colonne, d'une plage de cibles ou d'une expression convertie comme l'une de ces valeurs. Le nombre de colonnes dans divisor doit correspondre au nombre de colonnes dans data, à moins que divisor ne soit une constante. Pour la définition du format de divisor (identique à data), voir la section "Paramètres des fonctions macro" du chapitre du présent document correspondant à votre produit IBM ® .
Description
MOD calcule le reste de la division de la plage de données spécifiée par une valeur spécifiée. Ce reste est calculé en divisant par divisor chaque valeur et en renvoyant le reste. Il renvoie une nouvelle colonne par colonne d'entrée, chacune contenant les nombres de data modulo divisor. Le reste possède le même signe (positif ou négatif) que data.
Si divisor est une constante, chaque valeur de la colonne spécifiée est calculée modulo cette valeur. Si divisor est une colonne, les calculs sont effectués ligne par ligne. Les valeurs de data sont calculées modulo la valeur de la première ligne de divisor et le même calcul est effectué entre les deuxièmes lignes, et ainsi de suite. Ce calcul ligne par ligne génère un résultat pour chaque ligne jusqu'à la dernière valeur de la colonne la plus courte.
*
Si divisor est égal à zéro, une erreur de division par zéro est renvoyée.
*
L'opérateur MOD peut être abrégé en signe pourcentage ( %). Par exemple, TEMP = 5 % 3 est équivalent à TEMP = 5 MOD 3.
Cette macro est disponible dans IBM ® Interact.
Exemples
TEMP = 10 MOD 8 ou TEMP = 10 % 8
Crée une colonne nommée TEMP contenant la valeur 2.
Crée une colonne nommée TEMP contenant la valeur -2.
Crée une colonne nommée TEMP, dans laquelle chaque valeur correspond au contenu de la colonne V1 modulo huit.
Crée trois colonnes nommées TEMP, VX et VY. Les valeurs de la colonne TEMP correspondent aux valeurs modulo deux du contenu de la colonne V1, les valeurs de la colonne VX correspondent aux valeurs modulo deux du contenu de la colonne V2 et les valeurs de la colonne VY correspondent aux valeurs modulo deux du contenu de la colonne V3.
Crée une colonne nommée TEMP contenant un zéro pour chaque entrée de la colonne V1. En effet, tout nombre modulo lui-même renvoie la valeur zéro.
Crée une colonne nommée TEMP, dans laquelle chaque valeur est la valeur de ligne de la colonne V1 modulo la valeur de ligne correspondante de la colonne V2. Notez que si V2=V1, des zéros sont renvoyés, comme dans l'exemple précédent.
Crée trois colonnes nommées TEMP, VX et VY. La colonne TEMP contient les valeurs de V1 modulo les valeurs de ligne correspondantes de la colonne V4. La colonne VX contient les résultats de la colonne V2 modulo V5. La colonne VY contient les résultats de la colonne V3 modulo V6.
TEMP = V1[10:20] % V2 ou TEMP = V1[10:20] % V2[1:11]
Crée une colonne nommée TEMP, dans laquelle les 11 premières cibles correspondent aux valeurs des lignes 10 à 20 de la colonne V1 modulo les valeurs des lignes 1 à 11 de la colonne V2. Les autres cibles de TEMP sont vides.
Fonctions associées