2

私は、Java、Python、Ruby、および Bash で「6 面ダイスをシミュレートする」(1 から 6 までのランダムな整数を生成し、すべての結果が等しく発生する可能性がある) に非常に明確に遭遇しました。ただし、Ada で同様のプログラムはまだ見たことがありません。誰かに出くわしたことがありますか?

4

4 に答える 4

4

これを支援するパッケージについては、乱数生成 (LRM A.5.2 ) を参照してください。一様乱数生成用の Ada.Numerics.Float_Random (範囲 0.0 .. 1.0) を独自にスケーリングするか、適切な (サブ) タイプで Ada.Numerics.Discrete_Random をインスタンス化します (d4、d10、d12、そしてd20sも!)。

于 2010-03-09T13:22:31.260 に答える
3

のインスタンスを使用する、この子供のカードゲームAda.Numerics.Discrete_Randomのシミュレーションをお楽しみいただけます。

subtype Card_Range is Positive range 1 .. 52;
package Any_Card is new Ada.Numerics.Discrete_Random(Card_Range);
G : Any_Card.Generator;
…
N : Card_Range := Any_Card.Random(G);
于 2010-03-10T05:21:40.827 に答える
2

Ada 95 では、乱数ジェネレーターが標準ライブラリの一部として定義され、すべての Ada 95 コンパイル システムの必須コンポーネントになりました。

したがって、はい、Ada で 6 面ダイスを非常に簡単にシミュレートできます。

于 2010-03-09T07:16:30.890 に答える