連載
野球「マジック」点灯のバグ(その1:問題編):組み込みエンジニアの現場力養成ドリル(8)(3/5 ページ)
終盤を迎えたプロ野球、「マジック」が気になるところ。複雑な印象があるマジック算出を例に、誰かがマジック計算ソフトを開発したとして、そのソフトをテストするためのテストケースを設計してもらいます。
優勝可能性の判定
上記の時点で優勝や最下位が決まっているかもしれませんので、まずはその可能性をチェックします。アルゴリズムは以下の通りです。
(1)AとBに対し、Aが残り試合を全勝し、Bが全敗した場合の勝率をそれぞれ計算する。
(2)BとAに対し、Bが残り試合を全勝し、Aが全敗した場合の勝率をそれぞれ計算する。
(3)BとCに対し、Bが残り試合を全勝し、Cが全敗した場合の勝率をそれぞれ計算する。
(4)CとBに対し、Cが残り試合を全勝し、Bが全敗した場合の勝率をそれぞれ計算する。
(5)AとCに対し、Aが残り試合を全勝し、Cが全敗した場合の勝率をそれぞれ計算する。
(6)CとAに対し、Cが残り試合を全勝し、Aが全敗した場合の勝率をそれぞれ計算する。
同じような処理を6回繰り返しますので、1つ作ってコピペして一部を変更すれば、残りの5つも簡単に出来ます(プログラミングしなくても、Excelで簡単に計算可能です。下にExcelでの計算結果を挙げます)。
この結果から、以下が分かります。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 組み込みソフトの不具合、その問題の原因は「ウイルス」か「バグ」か
組み込みソフトウェアの不具合原因を突き詰めるには、冷静な判断が求められます。不具合の多くはバグによるものですが、ウイルスが原因であることもあります。あるオフィスのセキュリティシステムに起こった不具合の原因を解明してください。 - 「順調すぎるデバッグ」は本当に順調?
組み込みソフトウェアの開発プロジェクトは工程表に沿って進行します。そこにはデバッグフェーズもありますが、あまりに「順調」である場合、そこには落とし穴が潜んでいるかもしれません。プロマネの立場で「落とし穴」を見つけてください。 - 世界最高のIQを持つ女性 vs 数学者軍団
問題を考える上で感覚(直感)の役目も大きなものですが、感覚だけに頼ると論理的な結果が見えにくくなることがあります。有名な問題を例に、組み込みエンジニアとしてどう問題に取り組むべきか、考えてみましょう。 - 図書館「蔵書分類」のバグ
今回は図書館でおなじみ「本の分類」を取り上げます。情報処理系の本は007(情報学、情報科学)に547(通信工学・電気通信)、548(情報工学)とバラバラに分類されていますが、この分類を「仕様書」と考え、その問題解決に取り組んでみましょう。 - 将棋「名人位」挑戦規定のバグ
組み込みエンジニアの現場力を上げるドリル、今回は「仕様書のバグ」に挑戦します。将棋界の最高タイトルの1つである、名人位の挑戦規定という仕様書に潜むバグを発見してください。