Den tilfeldige funksjonen i COBOL

Forstørrelsesglass og lageroppføringer

En tilfeldig tallgenerator i COBOL hjelper statistiske beregninger.

Bildekreditt: Hemera Technologies/Photos.com/Getty Images

COBOL-programmeringsspråket, et av de eldste som fortsatt er i vanlig bruk, har en sterk skjevhet mot forretningsapplikasjoner, som regnskap, lønn og lagerkontroll. Nyere versjoner av COBOL har imidlertid sofistikerte matematiske funksjoner, inkludert en for å generere tilfeldige tall. Selv om de sjelden brukes til daglig forretningsregnskap, hjelper tilfeldige tall med å lette statistiske beregninger og visse typer numeriske problemløsningsteknikker.

Funksjoner

COBOL matematiske funksjoner er en del av språkets prosedyredivisjon, delen av programmet som består av prosedyreutsagn. Funksjoner begynner med det reserverte ordet "funksjon" etterfulgt av funksjonsnavnet, for eksempel "cos", "tilfeldig" eller "Logg." En funksjon tar ett eller flere argumenter, utfører en prosess på dem og returnerer et resultat tilbake til COBOL program. Noen funksjoner fungerer på tall og numeriske variabler, mens andre fungerer på tegndata.

Dagens video

Tilfeldig

Den tilfeldige funksjonen tar et ikke-negativt heltallsargument og returnerer et desimaltall. Heltallsargumentet er valgfritt. Det er kimen til en pseudo-tilfeldig matematisk prosess, som bestemmer funksjonens første returnerte tall. På dataspråk er alle tilfeldige prosesser faktisk lange, repeterende serier med tall som ser ut til å være tilfeldige. En velvalgt prosess gjentas bare etter milliarder av verdier, så det er en praktisk kilde til tilfeldige tall, selv om den ikke er teoretisk ren. Hvis du tilfører den tilfeldige funksjonen et argument, vil den generere samme tallrekke. Uten argumentet genererer den tilfeldige funksjonen det neste tallet i sin rekkefølge.

Rekkevidde og distribusjon

Den tilfeldige funksjonen i COBOL returnerer desimaltall i et område fra null til én. Statistisk sett har de tilfeldige tallene en rektangulær fordeling, noe som betyr at hvert tall er like sannsynlig. En graf av en lang rekke tilfeldige tall vil ha en relativt flat linje som strekker seg fra null til nesten én. Dette står i kontrast til normalfordelingen, eller gaussisk, som danner en klokkeformet kurve.

Bruk

I seg selv er tilfeldige funksjonsdesimaltall ikke veldig nyttige, men hvis du multipliserer dem med en skaleringsfaktor, lager du en rekke tilfeldige tall som passer for din applikasjon. For å få tilfeldige heltall mellom én og 52, bruker du for eksempel følgende COBOL-setning: COMPUTE RANDOM-VALUE = FUNCTION RANDOM (1) * 52 + 1.

I setningen genererer den tilfeldige funksjonen tall større enn eller lik null og mindre enn én. Å multiplisere dette med 52 gir deg tall mellom null og 51. Å legge til en gir deg rekkevidden fra én til 52.