1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> スマートホーム >> スマートライフ

COBOL のランダム関数

COBOL プログラミング言語は、現在も定期的に使用されている最も古いプログラミング言語の 1 つであり、会計、給与計算、在庫管理などのビジネス アプリケーションに重点を置いています。ただし、新しいバージョンの COBOL には、乱数を生成する関数など、高度な数学関数があります。乱数は、日常の企業会計ではめったに使用されませんが、統計計算やある種の数値的な問題解決手法を容易にするのに役立ちます。

関数

COBOL の数学関数は、言語の手続き部 (手続き型ステートメントで構成されるプログラムのセクション) の一部です。関数は予約語 "function" で始まり、その後に "cos"、"random"、"log" などの関数名が続きます。関数は 1 つ以上の引数を取り、それらに対して処理を実行し、結果を COBOL プログラムに返します。数値と数値変数で機能する関数もあれば、文字データで機能する関数もあります。

ランダム

random 関数は、負でない整数の引数を取り、10 進数を返します。整数引数はオプションです。関数の最初に返される数値を決定するのは、疑似乱数の数学的プロセスのシードです。コンピュータ言語では、すべてのランダムなプロセスは実際には長く、ランダムに見える一連の数字を繰り返します。適切に選択されたプロセスは、数十億の値の後にのみ繰り返されるため、理論的に純粋なものでなくても、乱数の実用的なソースです。 random 関数に引数を指定すると、同じ数列が生成されます。引数がない場合、ランダム関数はそのシーケンスの次の数値を生成します。

範囲と分布

COBOL のランダム関数は、0 から 1 の範囲の 10 進数を返します。統計的に、乱数は長方形の分布をしており、各数値の可能性が等しいことを意味します。長い一連の乱数のグラフには、0 からほぼ 1 まで伸びる比較的平らな線があります。これは、釣鐘型の曲線を形成する正規分布またはガウス分布とは対照的です。

使用

ランダム関数の 10 進数は、それ自体ではあまり役に立ちませんが、倍率を掛けると、アプリケーションに適した範囲の乱数が作成されます。たとえば、1 ~ 52 のランダムな整数を取得するには、次の COBOL ステートメントを使用します:COMPUTE RANDOM-VALUE =FUNCTION RANDOM (1) * 52 + 1.

このステートメントでは、random 関数が 0 以上 1 未満の数値を生成します。これに 52 を掛けると、0 から 51 の範囲の数値が得られます。1 を足すと、1 から 52 の範囲になります。