みがまえるよりはやく

変な社会人の日常系ブログ

にしのがあらわれた!
作者はにしのA(にしのあゆみ)とにしのF(まさのふ)です。

このブログは
・IT資格・女子アイドル・ゲーム・将棋が大好きな変な?社会人がお送りする。
 つれづれなる日常系ブログです。

「みがまえるよりはやく」が「日記」に
資格試験系の真面目なお話は別のブログを立ち上げてやることに
なりました。http://www.nsnq.tech「にしのくえすと」です。
こちらは、のほほんと不定期更新になります。今後とも、両方とも。
ご覧いただければ幸いでございます。


重複しない数字の発生

プログラミング教育が、小学校中学校高校と導入されていきま
す。それをやる意味は?っていうのは、まだストンと落ちてい
ないのですが。

先日、生徒とゲームを作っていましたら、ちょっと悩んでしま
いました。

1から10までの数字を発生させて、それぞれ重複しないよう
に配列に格納する。つまり最終的に順番通りじゃなくても中身
が[1,2,3,4,5,6,7,8,9,10]とか[9,5,6,1,2,10,4,3,7,8]こんなのを作り
たくてです。


たぶん、
1 ランダムに数値を発生
2 配列の中に同じ数字がないかチェック
3 あればやり直し
4 なければそのまま格納。次へ

こんな感じで行ける?と思っていたんだけど。なかなか難しい。
にしのさんに聞いてみたら。メモ帳にこんなの書いてた。

//配列にして
var array = [];

//とりあえず数字入れて
for(var i=0;i<9;i++){
array[i]=i+1;
}

//ソートかけて
function narabikae(){
return Math.random()-0.5;
}
array.sort(narabikae);

//出力する
(省略)

うーん。ランダムソートしちゃいますか。そうかあ。
本人によると「while文って重くなるじゃん。」とのこと。

え?そんなん普通だ。レベル低い。っていう読者様もいるでしょ
うが。

教育現場の、指導者のレベルってこんな人がゴロゴロいます。本
当にプログラミングをやらなきゃならなくなれば、現場は阿鼻叫
喚ですよ。

僕ももっと、勉強してみます!


MACINTOSH PLUS - リサフランク420 / 現代のコンピュー (Music Video)

「みがまえるよりはやく」 Presented by にしの