アルゴリズムの表現
授業の後に 15 分。要点を読み、5 問で確かめ、一つ書く。最後に自分の探究へつなぐ
15分 | ひとりで、端末で授業で確かめた答えと比べる
- アルゴリズムとは、問題を解くための手順を明確に示したもの。コンピュータ向けの条件は 3 つ。①必ず終わる ②曖昧さがなく判断に迷わない ③命令の量と手間を考える
- 順番が結果を決める。「麺を入れてから水を入れる」では失敗する。結果が同じなら手順は複数ありうるが、順序を間違えると別の結果になる
- 人は「少々」を自分で解釈できるが、機械はできない。だから書く側が全部決める。量は数に(少々 → 小さじ 1/4)、時間は数に(しばらく → 3 分)、状態は条件に(やわらかくなるまで → 3 分、または箸で切れるまで)、回数は数に(何度か → 3 回)
- フローチャートの記号は、角丸=開始・終了、四角=処理、ひし形=判断、矢印=流れ。図にすると、曖昧なところがひし形の中の言葉として見える
- 手順は順次・分岐・反復の 3 つの組み合わせで表せる。プログラムは、アルゴリズムをプログラミング言語で書いたもの。曖昧な手順から正しいプログラムは書けない
「朝起きてから家を出るまで」を、1 行に 1 つの動作で 5 行の手順にする。「少し」「ちゃんと」「いい感じに」のような曖昧な言葉を使わず、数・回数・条件を入れる。
答えの例を見る
例: ① 6:30 に起きる ② 顔を洗い、歯を 3 分みがく ③ 制服に着替える ④ 朝食を食べる(7:00 までに食べ終える) ⑤ 7:15 になったら家を出る。「7:15 になったら」のように、判断が時刻の数になっている。
探究では、アンケートの取り方や実験の手順を、班の仲間や次の年の後輩に渡すことがある。「よく混ぜる」「いくつか聞く」で渡すと、人によって結果が変わり、比べられなくなる。手順を数・回数・条件で書いておくと、誰がやっても同じ結果になり、それが「この結果は信じられる」の根拠になる。ひし形を描いてみると、自分が無意識に判断している場所が見える。
- 自分の探究の「調べる手順」を 5 行で書いたとき、判断に迷う言葉はどこに残るか
- その手順の中に「もし〜なら」の分岐はあるか。あるなら条件を数にできるか
ここに書いたメモは 探究ノート に集まる。総合的な探究の時間のテーマ決めや、調べ方を考えるときに開く。まだテーマが決まっていなくても書ける。いま気になっていることを一つ思い浮かべて、そこに当てはめてみる
次回は「プログラムの基本構造 1」。今日は手順を人の言葉と図で書いた。次回から、コンピュータが読める言葉(Python)で書く。最初の 1 行は、画面に文字を出すこと。1 字違えば動かない世界に入る。キーボードのある端末があると書きやすい。
このページに書いたものは、いま使っているこの端末の、このブラウザの中にだけ残ります。サーバには送られません。次に同じ端末で開けば、書いたものはそのまま出ます。
別の端末で開くと見えません。学校の端末と家の端末は別ものとして扱われます。ブラウザの履歴やサイトデータを消したときも、一緒に消えます。残しておきたいものは、下の「書いたものをコピー」で自分のノートや提出先に貼ってください。