Comprendre SUBTRACT N1 FROM N2 en COBOL
La forme de base SUBTRACT N1 FROM N2 signifie : « soustraire N1 de N2 », c’est-à-dire que N2 devient N2 - N1 après l’instruction.
SUBTRACT N1 FROM N2 pas à pas
SUBTRACT N1 FROM N2 se lit de droite à gauche : on part de N2 et on lui enlève N1, le résultat est recodé dans N2.
Après l’instruction, la valeur initiale de N2 est perdue : N2 contient désormais N2 - N1.
Si N1 vaut 10 et N2 vaut 30, alors SUBTRACT N1 FROM N2 donne N2 = 20.
On obtient exactement l’opération arithmétique 30 - 10 = 20, stockée dans N2.
On peut soustraire plusieurs valeurs en une fois : SUBTRACT A B FROM C signifie C = C - A - B.
Pour préserver les entrées, on utilise plutôt SUBTRACT ... FROM ... GIVING résultat, ce qui évite de modifier directement N2.