スキップしてメイン コンテンツに移動

乱数と確立で面白くする

つくば高等学院の生徒が課題のおみくじのプログラムを作りおえて、
乱数に確立を入れたいということだったのでちょっとアドバイス。



さて、こういった場面でよく出てくるのが「ルーレット」みたいな考え方。
上の図みたいな感じで、乱数が一定の値の範囲をとるときに、
それに適合する答えを返します。

変数 R=乱数
Rが0~10の値をとるとき大吉を返す
Rが11~45のとき中吉を返す
というやり方があります。

さて、配列が使える方はもう想像できましたか?
そうです。
大きな配列を作って大吉、中吉、小吉、末吉、凶を出現する確率に合わせて、
配列の中に適当に放り込みます。
配列A[0]=凶
配列A[1]=小吉
配列A[2]=大吉
配列A[3]=中吉
配列A[4]=中吉
配列A[5]=末吉
・・・・
配列A[99]=大吉
という具合に。
R=5のとき
A[R]=末吉
を返す。
というような書き方もできますね。

いろいろな書き方を試してみてください、きっと面白くなると思います。





コメント

このブログの人気の投稿

pythonでスカッシュからブロック崩しへ。プログラミング経験0。

先日のスカッシュゲームがブロック崩しになり、ようやく遊べるレベルに到達。 この生徒はプログラミング経験はゼロからのスタートで、 ツクガクで初めて挑戦しました。 確かにプログラムを書く上での、ボールやラケットの動き、当たり判定の仕組みとかの相談には乗ったけど、本当に教えてはないんです。 教えなくてできるんだから、プログラミングなんて簡単だ!ってことではないです。 ここまで来るのにこの生徒は毎日5~6時間ずつ、1か月ほど頑張りました。 「簡単にできるように教えて!」 と言われそうですが、授業は今日は変数、今日は条件、、ループ。。とカリキュラム通りに やっていって、 その場で理解しても、翌週になると分からなくなったり、 組み合わせると不安で他の生徒のを まるパクリしてなにも身につかずに終わる授業を経験しています。 しかし、この教えないで相談に乗り自分で考えてもらう方法では言語は関係ありませんし、 教壇に立って教えていた時よりもはるかに短期間に、 プログラミングができるようになる子が多いです。 実質、私のパイソン歴は0です。 上手にスマートに書くことより、ツクガクでは情熱が最も重要です。 仕事なら早くできようと、遅くできようと期限に間に合えばいいし、 この課題については期限もなくちょっとやってみようか?という乗りです。 こういうことの日々の繰り返しが、技術だけでなく精神面でも大きく成長することにつながります。 本人は気が付いていませんが、良い意味で入学時とは大分性格が変わったように思います。 まだ見ぬ新入生のみなさん、先輩はみんなこんなで、私もこんなです。 ド根性で喰らいついてきてくださいね(笑)

プログラミング言語を無理に覚えなくても。。

昔からそうなのですが、プログラミング言語を覚えようとする子が後を絶ちません。 否定はしませんが、 テキストで学習しながらわからなかったり、覚えられなかったりしても気にしなくてOK !!! 躓きはやっていくうちにクリアできます 。 自分が何か作りたいという 目標を持って、プログラミングをはじめたとき 、あやふやだったものは徐々に減っていきます。あるいはあやふやなまま進んで、より細かく知る必要が出てきたとき、 必死になって調べるので勝手に身につきます。 そんな機会は山ほど出てきます。 極論。。とうとう、身につかないまま大人になってしまった。でも、ほかの方法でそれはクリアできることに気が付いた。っていうならそれはそれでOKです。 小難しく一つの言語を覚えることより、必要に応じていろんな言語でいろいろためしてください。 ガンガン進んで振り返ったり、学びなおしながら先に進んでも無問題 。 前に学習した言語では理解できなかったが、こっちの言語で理解できて、前の言語でも使い方が分かったなんてことも十分あり得ます。 覚えられないからできないと悩む必要はありません。 気にせずガンガン行きましょう!! 繰り返し、やっていると案外できちゃいます。 と、元三流プログラマより。