わさっきhb

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

走査と操作について,知っておくとよいこと

 「タプルの走査」のスライドに,補足します.
 「走査」は英語ではscanで表します(名詞も動詞も同じです---と言いたいけど名詞形はscanningのほうが良いようにも思います).要素を先頭から順に参照することをいいます.
 スライドに掲載されていたものと別に,Pythonのコード例を示すと:

for i in (2, 3, 5, 7, 11):
    print(i)

 このプログラムを実行すると,2,3,5,7,11,すなわち素数を小さいものから5つ,縦に出力してくれます.
 このうち「(2, 3, 5, 7, 11)」のところが,タプルです.「for 変数 in タプル:」によって,タプルの要素を先頭から一つずつ順に,変数に格納して,あとの処理に使用します.ということで,このようなfor文の書き方が,走査というわけです.
 プログラミングで,走査をする対象としては,このタプルのほか,リストや,文字列,ファイルを挙げることができます.画像についても言えます.左上のピクセルを起点として右へ見ていき,右端まで達したら,次の行の左端に移ってまた右へ…と1点1点見るのも,走査です.
 ところでその「タプルの走査」を含む資料のタイトルは,「タプルの操作」です.
 「操作」は,manipulate(名詞形はmanipulation)で,動画のナレーションで,「演習課題を通じて,実際に操作しながら学習してください」とおっしゃっているのも,「走査」ではなく「操作」です.なお,プログラミングで「操作」というと「対象(データの中身など)を変えること」を含みます.「~を操る」という意味の「操作」となると,そのことを表す英単語には,operation,working,handlingなどがあります.
 「タプルの操作」の資料には,注意すべき点があります.解説され,プログラムコードが添えられている通り,タプルの一部を取り出したり,加算・乗算によって新たなタプルを作成したりすることは,できます.なのですが,タプルに含まれる値を変えることは,できません.内容を変更できないという性質を,イミュータブル(immutable)といいます.いくつかの値を組み合わせて,ひとつのデータとし,かつ,中の値を変えたい場合には,次回の授業で学習する「リスト」を使用します.
 本日の課題に,タプルがイミュータブルであることを考慮しないと,エラーになるものがあります.ランダムに1から6までの整数値を1000回,生成して,それぞれの値が何回出現したかをカウントし,タプルとして出力するプログラムの作成課題です.タプルで

spots = (0, 0, 0, 0, 0, 0)

と定義(サイコロの目を英語でいうとspotで,変数名は複数形にしています)しておき,ランダムに取り出した値に応じて,spotsの要素の一つの値を増やすことはできない,ということです.リストを自習して使用するのでもかまいませんが,ここでは,「1の回数」から「6の回数」までをそれぞれ異なる変数に格納することとし,1000回のループを終えたら,その6つの変数の値で構成されるタプルを作り,出力するといいでしょう.

知っておくとよいこと? おっしゃっている?

 以下の記事の続編です.

 資料と課題は,科目取りまとめの先生が作成していまして(なので「おっしゃている」と表記しており,また,スライドや資料はここで公開できません),自分は授業時間の質問対応と,答案の採点を担当します.
 オンラインでやりとりを行うTeamsのチャネルに,「「走査」と「操作」について」と題して投稿した文章が,本記事のもとになっています.
 C言語の授業に基づき,「走査」を記事にしたのは,以下の2つです.