COBOL/Fonctions intrinsèques

Leçons de niveau 14
Une page de Wikiversité, la communauté pédagogique libre.
Début de la boite de navigation du chapitre
Fonctions intrinsèques
Icône de la faculté
Chapitre no 10
Leçon : COBOL
Chap. préc. :Sous-programmes
Chap. suiv. :Sommaire
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « COBOL : Fonctions intrinsèques
COBOL/Fonctions intrinsèques
 », n'a pu être restituée correctement ci-dessus.

Les fonctions intrinsèques sont en quelque sorte des sous-programmes fournis par le langage, comme les sous-programmes elles permettent de ne pas réinventer la roue à chaque fois (ne pas recoder ce qui l'est déjà).

Voilà comment elles fonctionnent : vous les appelez avec un (ou plusieurs ou aucun) argument, elles vous renvoient une valeur en fonction de cet argument, vous pouvez ensuite réutiliser ce résultat (la valeur de retour de la fonction) dans une autre instruction.

Elles sont sur ce point similaires aux fonctions que l’on peut rencontrer dans d'autres langages de programmation et même dans les mathématiques.

Appel de fonction[modifier | modifier le wikicode]

Pour faire appel à de telles fonctions, vous devez utiliser l'instruction FUNCTION qui se présente comme ceci :


Le nom de la fonction suit le mot-clé FUNCTION et les (éventuels) arguments sont placés entre parenthèses et séparés par des virgules.

Si la fonction ne prend pas d'arguments, ne mettez pas de parenthèses vides.

Liste des fonctions intrinsèques[modifier | modifier le wikicode]

  • ACOS : numérique entre -1 et 1 → numérique en radians
  • ASIN : numérique entre -1 et 1 → numérique en radians
  • ATAN : numérique → numérique en radians
  • CHAR : entier → alphanumérique
  • COS : numérique en radians → numérique
  • CURRENT-DATE : → alphanumérique de la forme AAAAMMJJHHMMSSCC
  • DATE-OF-INTEGER : entier (jours depuis le 31-12-1600) → entier de la forme AAAAMMJJ
  • DAY-OF-INTEGER : entier (jours depuis le 31-12-1600) → entier de la forme AAAAJJJ
  • FACTORIAL : entier >= 0 → entier
  • INTEGER : numérique → entier
  • INTEGER-OF-DATE : entier de la forme AAAAMMJJ → (entier : jours depuis le 31-12-1600)
  • INTEGER-OF-DAY : entier de la forme AAAAJJJ → entier (jours depuis le 31-12-1600)
  • INTEGER-PART : numérique → entier
  • LENGTH : alphanumérique → entier
  • LOG : numérique > 0 → numérique
  • LOG10 : numérique > 0 → numérique
  • LOWER-CASE : alphanumérique → alphanumérique
  • MAX : nombre variable d'arguments du même type → maximum de ces arguments
  • MEAN : numériques → numérique (moyenne)
  • MEDIAN : numériques → numérique (médiane)
  • MIDRANGE : numériques → numérique (moyenne du min et du max)
  • MIN : nombre variable d'arguments du même type → minimum de ces arguments
  • MOD : entier1, entier2 != 0 → entier (entier1 % entier2)
  • NUMVAL : alphanumérique → numérique
  • NUMVAL-C : alphanumérique → numérique
  • ORD : alphanumérique → entier
  • ORD-MAX : alphanumériques → entier
  • ORD-MIN : alphanumériques → entier
  • RANDOM : entier >= 0 → [0; 1[
  • RANGE : numériques → différence entre le MAX et le MIN
  • REM : num1, num2 != 0 → numérique (num1 % num2)
  • REVERSE : alphanumérique → chaîne alphanumérique inversée
  • SIN : numérique (radians) → numérique
  • SQRT : numérique >= 0 → numérique
  • STANDARD-DEVIATION : numériques → numérique (écart type)
  • SUM : numériques → entier/numérique (somme)
  • TAN : numérique (radians) → numérique
  • UPPER-CASE : alphanumérique → alphanumérique
  • VARIANCE : numériques → numérique
  • WHEN-COMPILED : → alphanumérique (date et heure de compilation)

Exemple : MIN et MAX de plusieurs valeurs[modifier | modifier le wikicode]

Dans cet exemple, nous demandons à l'utilisateur de saisir trois valeurs entières au clavier, nous affichons ensuite le MIN et le MAX de ces valeurs.

Début de l'exemple
Fin de l'exemple


La valeur de retour de la fonction MIN (respectivement MAX) est utilisée par l'instruction DISPLAY.