• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラム(BASIC) 教えてください)

プログラム(BASIC) 教えてください

このQ&Aのポイント
  • BASICプログラムで、入力した整数kに対し、3, 5, 7, 9のいずれかの値をランダムに発生させ、k個表示する方法を教えてください。
  • BASICプログラムで、初項a、公差r、長さnの等差数列からいずれかの値を等確率で発生させる方法を教えてください。具体的な例として、入力されたa, r, n, kに対して等差数列の値をランダムにk個表示するプログラムを教えてください。
  • BASICプログラムで、0, 2, 4, 6のいずれかの値をランダムに表示する方法を教えてください。具体的なコードを示し、解説もお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>0,2,4,6を考えてから+3すればいい… 既にほぼ正解に辿り着いていると思われますが。 (1) RND(1)*4で0~4未満の乱数を取得。 ↓ INTで整数化…[0,1,2,3] ↓ 2を掛ける…[0,2,4,6] ↓ 3を足す…[3,5,7,9] なので、 INT(RND(1)*4)*2+3 (2) あらかじめ、配列変数Xを宣言しておく。 FOR i=1 TO n X(i)=a+((n-1)*r) NEXT i FOR j=1 TO k PRINT X(INT(RND(1)*n)+1) NEXT j 配列Xに所定の数値を格納する処理をn回繰り返し、1からnまでの乱数で、そのうちのいずれかひとつをランダムに選定し表示、という処理をk回繰り返します。 但し、nが1以上の整数であること。 入力者が、0とか0.5とかをINPUTしてしまう恐れがある場合、それはそれで別に判定文を設けて例外処理をします。 また、n=1の時、答えはa一択になるので、それがイヤな場合も、併せて事前処理をしておきます。 (例:IF n<2 THEN 変数をリセットして再度INPUT行へ飛び、入力のやり直しを促す、等)

rider88
質問者

お礼

丁寧な解説、ありがとうございました。

関連するQ&A

専門家に質問してみよう