NOT |
Pas |
|---|---|
| Cobol | |
Syntaxe
| NOT simplecondition |
| identifier1 IS NOT GREATER THAN identifier2 |
| literal1 IS NOT LESS THAN literal2 |
| literal1 IS NOT EQUAL TO indexname2 |
| identifier1 IS NOT > identifier2 |
| literal1 IS NOT < literal2 |
| literal1 IS NOT = indexname2 |
Paramètres
| Nom | Description |
|---|---|
| simplecondition | Ce paramètre permet d'indiquer une condition de base que l'on souhaite inverser. Il peut s'agir de toute condition valide COBOL (comparaison, test de valeur, test de contenu,...). En ajoutant le mot clef NOT devant, on inverse logiquement le résultat : si la condition était vraie, elle devient fausse, et inversement. |
| identifier1 / identifier2 | Ces paramètres permettent d'indiquer des variables COBOL (généralement numériques ou alphanumériques) que l'on souhaite comparer. La condition « identifier1 IS NOT GREATER THAN identifier2 » signifie que identifier1 est inférieur ou égal à identifier2. Ces paramètres permettent une négation explicite des comparateurs standards, en gardant une syntaxe très lisible. |
| literal1 / literal2 | Ces paramètres permettent d'indiquer les littéraux sont des valeurs constantes, comme 10, "ABC" ou 'Y'. Ces paramètres sont utilisés dans des comparaisons pour tester si une valeur constante ne respecte pas une certaine relation. Par exemple : literal1 IS NOT LESS THAN literal2 signifie que literal1 est supérieur ou égal à literal2. |
| indexname2 | Ce paramètre permet d'indiquer le nom d'un index associé à un tableau (table) COBOL. Dans les expressions telles que literal1 IS NOT EQUAL TO indexname2, on compare un littéral à la position ou à la valeur d'un index. C'est utile dans les traitements de tables indexées pour gérer des cas où l'on veut éviter une correspondance exacte. |
Description
Cette instruction permet d'effectuer la négation d'une condition spécifié.
Remarques
- L'utilisation de NOT permet d'inverser la logique d'une condition de manière explicite : Cela améliore la clarté du code dans certaines situations, notamment lorsqu'on souhaite exprimer une interdiction ou une condition d'exclusion. Par exemple, NOT condition est souvent plus lisible que devoir réécrire toute la logique inverse.
- Les comparaisons comme IS NOT GREATER THAN ou IS NOT < sont équivalentes, mais avec des styles différents : COBOL autorise à la fois une syntaxe verbale et symbolique, ce qui laisse une certaine liberté d'expression au programmeur. Cela peut être utile pour aligner le code avec des normes internes ou simplement pour une meilleure lisibilité.
- L'utilisation de IS NOT EQUAL TO est fréquente pour tester les cas d'inefficacité, d'absence, ou d'erreur : Dans les traitements conditionnels, cette formulation est précieuse pour éviter les égalités, surtout lors de la comparaison de codes, d'états ou de valeurs critiques.
- La syntaxe NOT simplecondition permet aussi de combiner avec des tests complexes : Par exemple, on peut avoir NOT (A > B AND C < D) grâce aux constructions conditionnelles plus élaborées dans les IF. Cela rend la logique conditionnelle très expressive.
- L'usage du mot clef NOT est très pratique pour écrire des règles de validation ou de filtrage : Il est souvent utilisé dans les conditions de boucle ou dans les blocs IF pour capturer les cas d'erreur ou d'exclusion sans multiplier les branches de code.
- La négation en COBOL suit strictement une logique booléenne, ce qui la rend fiable et prévisible : Une condition étant TRUE devient FALSE si on y applique NOT, et vice versa. Cela garantit une constance dans l'interprétation, même dans les structures conditionnelles imbriquées.
- Dans les comparaisons avec des index (IS NOT = indexname), NOT permet de valider qu'une position de tableau n'a pas été atteinte : C'est très utile lorsqu'on effectue des recherches sur des tableaux indexés, et qu'on souhaite s'assurer qu'une valeur n'a pas encore été trouvée.
- Il est conseillé d'utiliser NOT de manière cohérente pour éviter les ambiguïtés logiques dans les tests complexes : Par exemple, une condition comme NOT A > B pourrait être mal interprétée si elle n'est pas bien structurée. Il est donc souvent préférable d'encadrer l'expression avec des parenthèses : NOT (A > B).
Dernière mise à jour : Jeudi, le 28 juillet 2011