問題
2
PHP
サイコロを振ろう
PHPの問題に挑戦しよう!
問題
「サイコロを振ろう」
8面ダイスを1000回振って各出目の確率を画面に表示しよう
(割り切れない場合は小数第2位を四捨五入)
期待する画面
1: 15.6%
2: 14.0%
3: 12.4%
4: 10.8%
5: 12.2%
6: 11.0%
7: 12.1%
8: 11.9%
※実行する度に変わります
2: 14.0%
3: 12.4%
4: 10.8%
5: 12.2%
6: 11.0%
7: 12.1%
8: 11.9%
※実行する度に変わります
解答と解説(サイコロを振ろう)
解説
LINE登録して解答を見る
※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます
defineは定数を定義する機能だ。
プログラム中に仕様に使う数値や文字が現れると後からソースコードを見直したときに混乱するぞ。
マジックナンバーは定数化することにより保守性が高まる。
チーム開発では必須だ。
まず(a)でサイコロの出目を管理する配列を初期化している。
ループの開始値と終了値に定数を使うことによって無理なく初期化できている。
次に(b)において定数に定義した試行回数の数だけサイコロを振っている。
rand関数は引数の範囲内の乱数を返す。
乱数とはランダムな値のことだ。
最後に(c)で各出目の平均値を計算して画面に出力している。
roundは四捨五入、sprintfは文字列を整形する関数だ。
listがどのようになっているか理解できなければ(d)のおまけを実行してほしい。
配列を展開して視覚的に確認することができる。
print_rは配列のデバッグに使えるので覚えておこう。