Funkcja losowa w języku COBOL

Szkło powiększające i wykazy akcji

Generator liczb losowych w COBOL wspomaga obliczenia statystyczne.

Źródło obrazu: Hemera Technologies/Photos.com/Getty Images

Język programowania COBOL, jeden z najstarszych, który wciąż jest regularnie używany, ma silną skłonność do aplikacji biznesowych, takich jak księgowość, płace i kontrola zapasów. Jednak nowsze wersje języka COBOL mają zaawansowane funkcje matematyczne, w tym jedną do generowania liczb losowych. Chociaż rzadko używane w codziennej księgowości biznesowej, liczby losowe ułatwiają obliczenia statystyczne i niektóre rodzaje numerycznych technik rozwiązywania problemów.

Funkcje

Funkcje matematyczne w języku COBOL są częścią działu procedur języka, sekcji programu składającej się z instrukcji proceduralnych. Funkcje zaczynają się od słowa zastrzeżonego „funkcja”, po którym następuje nazwa funkcji, na przykład „cos”, „losowy” lub "Dziennik." Funkcja przyjmuje jeden lub więcej argumentów, wykonuje na nich proces i zwraca wynik z powrotem do COBOL program. Niektóre funkcje działają na liczbach i zmiennych numerycznych, podczas gdy inne działają na danych znakowych.

Wideo dnia

Losowy

Funkcja random przyjmuje nieujemną liczbę całkowitą i zwraca liczbę dziesiętną. Argument całkowity jest opcjonalny. Jest to ziarno pseudolosowego procesu matematycznego, który określa pierwszą zwróconą przez funkcję liczbę. W językach komputerowych wszystkie procesy losowe są w rzeczywistości długimi, powtarzającymi się seriami liczb, które wydają się losowe. Dobrze dobrany proces powtarza się dopiero po miliardach wartości, jest więc praktycznym źródłem liczb losowych, nawet jeśli nie jest teoretycznie czysty. Jeśli podasz funkcję random z argumentem, wygeneruje ona ten sam ciąg liczb. Bez argumentu funkcja random generuje kolejną liczbę w swojej sekwencji.

Zasięg i dystrybucja

Funkcja losowa w języku COBOL zwraca liczby dziesiętne z zakresu od zera do jednego. Statystycznie liczby losowe mają rozkład prostokątny, co oznacza, że ​​każda liczba jest równie prawdopodobna. Wykres długiej serii liczb losowych będzie miał względnie płaską linię rozciągającą się od zera do prawie jedynki. Kontrastuje to z rozkładem normalnym lub Gaussa, który tworzy krzywą w kształcie dzwonu.

Posługiwać się

Same liczby dziesiętne funkcji losowych nie są zbyt przydatne, ale jeśli pomnożysz je przez współczynnik skalowania, utworzysz zakres liczb losowych odpowiedni dla Twojej aplikacji. Na przykład, aby uzyskać losowe liczby całkowite od 1 do 52, użyjesz następującej instrukcji w języku COBOL: COMPUTE RANDOM-VALUE = FUNCTION RANDOM (1) * 52 + 1.

W instrukcji funkcja losowa generuje liczby większe lub równe zero i mniejsze niż jeden. Pomnożenie tego przez 52 daje liczby od zera do 51. Dodanie jednego daje zakres od jednego do 52.