プログラミングの工夫
授業の後に 15 分。要点を読み、5 問で確かめ、一つ書く。最後に自分の探究へつなぐ
15分 | ひとりで、端末で授業で確かめた答えと比べる
- for の中に if を書くと、繰り返しながら条件で選べる。
for k in range(100):の中にif k%7==0:を入れてprint(k)。3 行で 15 個。範囲を 1000 にしても直すのは 1 文字 - 字下げの深さが「どの中か」を表す。for の中は 4 つ、その中の if の中は 8 つ
- リストは複数の値を 1 つの名前で持つ棚。
a=[5,12,7,9,5,8,2]で 7 個。添え字は 0 番から始まるのでa[3]は 4 番目の 9。存在しないa[7]はエラー a.append(33)で末尾に足す。for x in a:と書くと、番号を書かなくても中身を先頭から順に x に入れて全部たどれる- input( )はキーボードから受け取る。受け取った値は文字なので
int( )で整数に直してから番号として使う。使う人は範囲外の値を入れることがある。それを想定するのは作る側の仕事 - ここまでで入力・処理・出力がそろった。第 1 回の五大装置と同じ形
次のプログラムが、最初に表示する 3 つの数を書く。そのあと、「なぜその数か」を余りという言葉を使って 1 文で書く。for k in range(100): / if k%7==3: / print(k)
答えの例を見る
例: 3、10、17。0 から 99 を順に見て、7 で割った余りが 3 になる数だけを表示するから。3 は 7 で割ると 0 余り 3、10 は 1 余り 3、17 は 2 余り 3。
探究のアンケートや測定の結果は、まさに「同じ種類の値が並んだもの」。それをリストに入れれば、「全部について繰り返す」(for)と「条件に合うものだけ拾う」(if)で、「はいと答えた人の数」「20 度以上の日の数」を 3 行で数えられる。手で表を見て数える作業が、リストと繰り返しに置き換わる。
- 自分の探究で集めるデータを、リストに入れるとしたら何を並べるか。値は数か文字か
- そのリストから「条件に合うものだけ」を拾うとしたら、条件は何か。
k%7==0のような形で書けるか
ここに書いたメモは 探究ノート に集まる。総合的な探究の時間のテーマ決めや、調べ方を考えるときに開く。まだテーマが決まっていなくても書ける。いま気になっていることを一つ思い浮かべて、そこに当てはめてみる
次回は「発展的なプログラム」。ここまでのプログラムは、同じものを実行すれば毎回同じ結果だった。ゲームや予測では「毎回違う」が要る。それを作る道具が乱数。もう一つ、長いプログラムを部品に分けて名前を付ける関数を使う。さいころを、プログラムで 1 行作れるか。
このページに書いたものは、いま使っているこの端末の、このブラウザの中にだけ残ります。サーバには送られません。次に同じ端末で開けば、書いたものはそのまま出ます。
別の端末で開くと見えません。学校の端末と家の端末は別ものとして扱われます。ブラウザの履歴やサイトデータを消したときも、一緒に消えます。残しておきたいものは、下の「書いたものをコピー」で自分のノートや提出先に貼ってください。