質問: COBOLでランダム関数を自作したいのですが、 いろいろWEBで調べましたが、なかなか見つかりません アルゴリズムを教えてください。 ちなみに動作するOSはOS/400です。 Cコンパイラーはありません。
回答: 以下の手法はどうでしょうか? 01 time-a. 03 hh pic 9(2). 03 mm pic 9(2). 03 ss pic 9(2). 01 tbl. 03 tbl-a pic x(3) occurs 100. accept timeで時間を取得し、time-aにmove その時間をもとにテーブルの添字の値を決定し、 テーブルtbl-a(添字)を乱数とする。 非常に簡単ですが、JOB実行時間によって内容が変化します。 COBOLでは確か乱数関数はなかったと思います。 (私も一度作ろうとして探したが、そんな関数は見つからなかった記憶がある) sysin カードを使えば更に複雑な事ができると思います。