Den slumpmässiga funktionen i COBOL

Förstoringsglas och lagerlistor

En slumptalsgenerator i COBOL underlättar statistiska beräkningar.

Bildkredit: Hemera Technologies/Photos.com/Getty Images

COBOL-programmeringsspråket, ett av de äldsta som fortfarande används regelbundet, har en stark fördom mot affärsapplikationer, såsom redovisning, löne- och lagerkontroll. Men nyare versioner av COBOL har sofistikerade matematiska funktioner, inklusive en för att generera slumpmässiga tal. Även om de sällan används för den dagliga affärsredovisningen, hjälper slumpmässiga siffror till att underlätta statistiska beräkningar och vissa typer av numeriska problemlösningstekniker.

Funktioner

COBOL matematiska funktioner är en del av språkets proceduravdelning, den del av programmet som består av procedurpåståenden. Funktioner börjar med det reserverade ordet "funktion" följt av funktionsnamnet, som "cos", "slumpmässig" eller "logga." En funktion tar ett eller flera argument, utför en process på dem och returnerar ett resultat tillbaka till COBOL program. Vissa funktioner fungerar på siffror och numeriska variabler, medan andra fungerar på teckendata.

Dagens video

Slumpmässig

Den slumpmässiga funktionen tar ett icke-negativt heltalsargument och returnerar ett decimaltal. Heltalsargumentet är valfritt. Det är fröet till en pseudo-slumpmässig matematisk process som bestämmer funktionens första returnerade nummer. På datorspråk är alla slumpmässiga processer i själva verket långa, upprepande serier av tal som verkar vara slumpmässiga. En väl vald process upprepas först efter miljarder värden, så det är en praktisk källa till slumptal, även om den inte är teoretiskt ren. Om du förser slumpfunktionen med ett argument kommer den att generera samma talföljd. Utan argumentet genererar slumpfunktionen nästa tal i sin sekvens.

Räckvidd och distribution

Slumpfunktionen i COBOL returnerar decimaltal i intervallet noll till ett. Statistiskt sett har de slumpmässiga talen en rektangulär fördelning, vilket betyder att varje nummer är lika troligt. En graf av en lång serie av slumptal kommer att ha en relativt platt linje som sträcker sig från noll till nästan ett. Detta står i kontrast till den normala, eller gaussiska, fördelningen, som bildar en klockformad kurva.

Använda sig av

I sig är decimaltal med slumpmässiga funktioner inte särskilt användbara, men om du multiplicerar dem med en skalningsfaktor skapar du en rad slumpmässiga tal som passar din applikation. Till exempel, för att få slumpmässiga heltal mellan ett och 52, skulle du använda följande COBOL-sats: COMPUTE RANDOM-VALUE = FUNCTION RANDOM (1) * 52 + 1.

I satsen genererar slumpfunktionen tal större än eller lika med noll och mindre än ett. Genom att multiplicera detta med 52 får du siffror mellan noll och 51. Att lägga till en ger dig intervallet ett till 52.