プログラムの基本構造 2
授業の後に 15 分。要点を読み、5 問で確かめ、一つ書く。最後に自分の探究へつなぐ
15分 | ひとりで、端末で授業で確かめた答えと比べる
- 分岐構造 if / else: 条件が成り立つ(真)とき if の中、成り立たない(偽)とき else の中を実行する。条件は比較演算子で書く。
x%2==0は「2 で割った余りが 0 か」、つまり偶数か - 反復構造 for: 回数が決まった繰り返し。
for cnt in range(3):で 3 回。range(1,10)は 1〜9 で、終わりの値は含まない - 反復構造 while: 条件が成り立つ間、繰り返す。
while k<10:の中でk=k+1を書かないと、k がずっと 1 のままで無限ループになる。「必ず終わる」はアルゴリズムの条件 - 字下げが「どこまでが中か」を決める。if・for・while の行の終わりに : を付け、中の行は頭を 4 つ空ける。字下げしていない行は繰り返しの外なので 1 回だけ実行される
- 順次・分岐・反復の組み合わせで、あらゆるアルゴリズムが表せる。フローチャートの四角・ひし形・戻る矢印がそのまま対応する
変数 x が 12 未満なら Child、12 以上なら Adult と表示するプログラムを書く。x は 10 とする。字下げが要る行には行の頭に「____」と書いて示す。
答えの例を見る
例: x=10 / if x<12: / print('Child') / else: / print('Adult')。if と else の行の終わりに : があり、その中の print は字下げする。x=10 なら Child が表示される。
探究で集めたデータを扱うとき、「条件に当てはまるものだけ数える」「全部の回答について同じ処理をする」が必ず出てくる。前者は分岐、後者は反復。この 2 つを言葉にできると、手作業で 100 件を見ていた作業を、機械に任せる形に書き換えられる。「必ず終わる」を意識するのは、終わる条件を自分で決めることでもある。
- 自分の探究のデータ処理で、「もし〜なら」で分けたいものは何か。その条件を == や < で書けるか
- 「全部について繰り返す」処理は何か。回数が決まっているか、条件で止まるか
ここに書いたメモは 探究ノート に集まる。総合的な探究の時間のテーマ決めや、調べ方を考えるときに開く。まだテーマが決まっていなくても書ける。いま気になっていることを一つ思い浮かべて、そこに当てはめてみる
次回は「プログラミングの工夫」。分岐と反復を別々に使ったので、次はこの 2 つを入れ子にして「繰り返しながら、当てはまるものだけ拾う」を書く。0 から 99 のうち、7 の倍数だけを表示するのに何行かかるか。それから、100 個の値を 1 つの名前でまとめて持つ道具、リストが出てくる。
このページに書いたものは、いま使っているこの端末の、このブラウザの中にだけ残ります。サーバには送られません。次に同じ端末で開けば、書いたものはそのまま出ます。
別の端末で開くと見えません。学校の端末と家の端末は別ものとして扱われます。ブラウザの履歴やサイトデータを消したときも、一緒に消えます。残しておきたいものは、下の「書いたものをコピー」で自分のノートや提出先に貼ってください。