• 締切済み

高校の情報のマクロの使い方

今本当に困っています。情報の授業で課題が出て全然分かりません。 内容は 組み立て機械が10台あり、故障する確率は(1週目0.05、2週目0.10、3週目0.15・・・6週目だけ0.15)で故障した場合、修理のためその日は組み立てができません。修理費用は10000円です。6週間の間にかかる費用は10台の合計でどれくらいになるかです。 みなさんの力をかしてください。お願いしますm(_ _)m

みんなの回答

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.3

それからこれは発展ですが、 私なら最初のループをまわすとき、iを日にちでなく週とおきます。 i=1 do while(i<=6)  ~ Loop こうした方がプログラムが柔軟になり、フローも分かり易くなります。 なぜそうなのかが理解できればしめたものです。

o---i
質問者

お礼

回答ありがとうございます。 iを週とおいたほうがいいんですね。 さっそくやってみます。

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.2

確率の問題かと思ったら、乱数を使ったシミュレーションでしか・・・ 詳細を聞かないとトンチンカンな回答になってしまいましたね。 do while を使うのなら日にちを示す変数をiとおいて i=1 do while ( i<=42 )  ~  i=i+1 Loop とします。これが全体の骨格です。 一番最初で1日目をセットし、ループを抜けるところで次の日にします。 まずはここがポイント。 乱数は処理系によって扱いが異なりますが、普通は1未満の乱数です。 for s=1 to 10  t=rnd()  if t<=0.05 then   sum=sum+10000  end if next s これは1週目のある日1日のシミュレートの様子です。 tで乱数を発生させ、その判別で合計金額sumを加算していきます。 sは台数で1台目から10台目までまわしています。 言語の指定がありませんのでBasicです。 ここまで書けば全体像はつかめると思いますから、 後は自力でやってみて下さい。

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.1

こういう質問はあなた自身はどこまで考えて どこで詰まっているのか具体的に書いた方がいいです。 それに問題文だけを掲載するのは規約違反です。

o---i
質問者

お礼

すみません。初めて書いたので全然知りませんでした。 乱数を使うことやdo whileなどを使えといわれたのですがもうほとんど最初のほうから分かりません。