わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

モードとは

「それでは,色替えとはまた別の,機能拡張をしていくことにします.具体的には,ペンによる描画と,長方形の描画を,ボタンを押したら切り替えられるようにします.
そのためには,まず,プログラムに『描画モード』に関する変数を追加します.変数名はstroke_modeにしましょう.varを左に書いて宣言し,初期値は1とします.スライドにあるとおり,『var stroke_mode = 1;』を,テキストエディタ上で書き加えてください.
おっと,スライドには,『「モード」とは何か? 答えは2つ後のスライドで…』と書いてありますね.

先にそのスライドを見ておきましょう.ぎっしり詰め込むと,補足説明は2つ後,なんて展開にせざるを得なくなくなりまして,さて…

はい,ここです.モードとは,『作業の状態』のことです.
ある動作体系…今回の授業で言えば,作成しているペイントツールですね…において,作業の状態が複数通り存在し,それらを切り替えることができるとき,その1つ1つがモードとなります.
とはいえ,体系だとか,何か多機能なプログラムを作ろうなんて話でなくても,『モード』という言葉は,日常よく出てきます.平常モードと戦闘モードと,あと最近では,ハゲメガネモードなんてのも,あるんでしたっけ.
我々もそういった状態を切り替えることができ,その1つ1つが,モードとなるわけです.
ただ,日常会話だと『なになにモード』と言うわけですが,プログラムにするときにはそのまま書かず,例えば,あるモードにはこの値,他のモードには別の値,と,整数値を使うのが一般的です*1
どんなモードにどんな値,というのはプログラマの責任で割り当てます.本日の授業スライドでは,ペン描画モードを1,長方形描画モードを2としていますが,みなさんは別の値にしても,差し支えありません.初期化・代入や条件判定で,決めた値に応じた処理を書けば,いいのです.これが,『プログラマの責任』という言葉の意味です.
まあ,本当に値を変えて,それでプログラムが思うように動かないと言われたところで,教員もTAも戸惑うことになりますので,値は,授業の展開に合わせといてください.
ですが,どんな値だったら何モードになるのか,言い換えると『値と状態との対応づけ』というのは,プログラムの中でコメントとして書いておきたいところです.そういったコメントは,思うように動かなくて,他の人に見てもらってアドバイスを受けたり,何日も経ってから,自分で読み直したりするときにも,役に立ちます.
なお,モードという言葉を,高校までの数学か,大学に入ってからの統計あるいは一般教養の授業で,目にした人がいるかもしれません.日本語では最頻値とも呼ばれます.これも,英語の綴りは同じ"mode"です」

ハゲメガネモード?

動作体系? 最頻値?

*1:職業プログラマさんでも学生さんでも,日常的にコードを書く人は,「ウソだ,そんなの一般的じゃない」と思うかもしれません.私自身,これは厳密さを欠いていて,受講者向けの便宜だなと思いながら,しゃべりました.