Syntaxe
Paramètres
| Nom |
Description |
| exp1 |
Ce paramètre permet d'indiquer le dividende, c'est-à-dire la valeur sur laquelle on souhaite effectuer l'opération de reste. |
| exp2 |
Ce paramètre permet d'indiquer le diviseur, c'est-à-dire la valeur par laquelle exp1 sera divisée pour calculer le reste de la division entière. |
Description
Cette fonction mathématique retourne la partie restante (le modulo).
Remarques
- La fonction REM permet de calculer le reste d'une division entière entre deux expressions numériques. Elle est utile pour déterminer, par exemple, si un
nombre est divisible par un autre, ou pour extraire des motifs répétitifs dans des traitements arithmétiques. Elle joue un rôle fondamental dans les calculs de type
boucle ou décalage cyclique.
- Contrairement à la fonction MOD, REM conserve le signe du dividende (exp1). Cela signifie que si exp1 est négatif, le
résultat le sera également. Cette distinction est importante dans les algorithmes où le signe du reste a une signification logique ou de contrôle.
- Le résultat de REM est toujours inférieur en valeur absolue au diviseur exp2. Par exemple, FUNCTION REM(10 3) retourne 1, tandis que FUNCTION REM(-10 3)
retourne -1. Cela peut surprendre certains programmeurs habitués à d'autres langages où le reste est toujours positif.
- La fonction REM ne modifie pas les opérandes d'entrée. Il s'agit d'une fonction pure : elle retourne simplement une valeur sans effet de bord. Cela permet
de l'utiliser en toute sécurité dans des expressions complexes sans risquer de modifier des variables.
- REM ne génère pas d'erreur en cas de diviseur nul, mais cela provoque un comportement indéfini. Le diviseur (exp2) doit être différent de zéro, faute de
quoi le résultat est imprévisible, ce qui peut compromettre la stabilité du programme.
- Cette fonction est très utile pour des opérations de filtrage, comme le traitement d'un enregistrement sur deux. Par exemple, si l'on souhaite n'agir que sur
les lignes dont le numéro est pair, on peut utiliser FUNCTION REM(index 2) = 0.
- Le recours à REM rend les opérations conditionnelles plus lisibles dans le code COBOL. Plutôt que d'écrire des conditions complexes, l'utilisation de REM permet
de simplifier l'expression logique et d'améliorer la maintenance du programme.
- REM fait partie des fonctions arithmétiques normalisées en COBOL, introduites pour enrichir le langage. Son inclusion permet de rapprocher COBOL des
langages modernes tout en conservant sa syntaxe structurée et orientée traitement de données.
Dernière mise à jour : Jeudi, le 28 juillet 2011