La fonction aléatoire en COBOL
Le langage de programmation COBOL, l'un des plus anciens encore utilisé régulièrement, a un fort penchant pour les applications métier, telles que la comptabilité, la paie et le contrôle des stocks. Cependant, les nouvelles versions de COBOL ont des fonctions mathématiques sophistiquées, dont une pour générer des nombres aléatoires. Bien que rarement utilisés pour la comptabilité d'entreprise au quotidien, les nombres aléatoires facilitent les calculs statistiques et certains types de techniques numériques de résolution de problèmes.
Fonctions
Les fonctions mathématiques COBOL font partie de la division des procédures du langage, la section du programme constituée d'instructions procédurales. Les fonctions commencent par le mot réservé "fonction" suivi du nom de la fonction, tel que "cos", "aléatoire" ou "log". Une fonction prend un ou plusieurs arguments, exécute un processus dessus et renvoie un résultat au programme COBOL. Certaines fonctions fonctionnent sur des nombres et des variables numériques, tandis que d'autres fonctionnent sur des données de caractères.
Aléatoire
La fonction random prend un argument entier non négatif et renvoie un nombre décimal. L'argument entier est facultatif. C'est la graine d'un processus mathématique pseudo-aléatoire, qui détermine le premier nombre renvoyé par la fonction. Dans les langages informatiques, tous les processus aléatoires sont en fait longs, répétant des séries de nombres qui semblent aléatoires. Un processus bien choisi ne se répète qu'après des milliards de valeurs, c'est donc une source pratique de nombres aléatoires, même s'il n'est pas théoriquement pur. Si vous fournissez un argument à la fonction random, elle générera la même séquence de nombres. Sans l'argument, la fonction random génère le nombre suivant dans sa séquence.
Plage et distribution
La fonction random en COBOL renvoie des nombres décimaux dans une plage de zéro à un. Statistiquement, les nombres aléatoires ont une distribution rectangulaire, ce qui signifie que chaque nombre est également probable. Un graphique d'une longue série de nombres aléatoires aura une ligne relativement plate s'étendant de zéro à presque un. Cela contraste avec la distribution normale, ou gaussienne, qui forme une courbe en forme de cloche.
Utiliser
En eux-mêmes, les nombres décimaux de fonction aléatoire ne sont pas très utiles, mais si vous les multipliez par un facteur d'échelle, vous créez une plage de nombres aléatoires adaptée à votre application. Par exemple, pour obtenir des entiers aléatoires entre un et 52, vous utiliseriez l'instruction COBOL suivante :COMPUTE RANDOM-VALUE =FUNCTION RANDOM (1) * 52 + 1.
Dans l'instruction, la fonction aléatoire génère des nombres supérieurs ou égaux à zéro et inférieurs à un. En multipliant cela par 52, vous obtenez des nombres compris entre zéro et 51. En ajoutant un, vous obtenez la plage de un à 52.