演算の仕組みとコンピュータの限界
授業の後に 15 分。要点を読み、5 問で確かめ、一つ書く。最後に自分の探究へつなぐ
15分 | ひとりで、端末で授業で確かめた答えと比べる
- 基本の論理回路は 3 つ。ANDは両方 1 のときだけ 1、ORはどちらか 1 なら 1、NOTは反転。真理値表で入出力を表す。どんなに複雑な処理も、この 3 つの組み合わせで作れる
- 半加算器は 1 桁の 2 進数の足し算。答えの桁 S は「A と B が違うとき 1」(XOR)、桁上がり C は「両方 1 のとき 1」(AND)。1 + 1 = 10
- 半加算器を組み合わせて何桁でも足せる。掛け算は足し算の繰り返し、引き算は補数を足す、割り算は 0 になるまで引く。足し算の回路だけで四則演算ができる。回路が単純だから速い
- コンピュータは決まったビット数で数を扱う。0.1 は 2 進数にすると無限に続くので途中で打ち切られ、0.1 + 0.2 は 0.30000000000000004 になる。整数は正確に表せるのでずれない
- 対策は、ビット数を増やす(精度は上がるがデータが増える)、整数で扱う(お金は円単位)、そして「誤差はある」と知っておくこと。ビット数を超えた数は表せない(オーバーフロー)
「コンピュータの計算回路は足し算しかないのに、引き算と掛け算ができる」を、補数と繰り返しという言葉を使って 2 文で説明する。
答えの例を見る
例: 掛け算は、同じ数を回数分だけ足す繰り返しでできる(2 × 4 は 2 を 4 回足す)。引き算は、引く数の補数(足すと桁が上がる最小の数)を足して桁上がりを無視すれば、足し算だけでできる。
探究では、アンケートの割合や実験の測定値など、小数の計算がたくさん出てくる。表計算やプログラムが出した数字を「機械が出したから正しい」と思うと、誤差や桁の打ち切りに気づけない。「この数は整数か小数か」「合計が 100% にならないのは誤差か入力ミスか」と一度疑うことが、結果を信じてもらえる根拠になる。
- 自分の探究で扱う数字のうち、小数になるものは何か。何桁まで意味があるか
- 計算結果が「おかしい」と気づくために、手で確かめられる小さな例を 1 つ用意できるか
ここに書いたメモは 探究ノート に集まる。総合的な探究の時間のテーマ決めや、調べ方を考えるときに開く。まだテーマが決まっていなくても書ける。いま気になっていることを一つ思い浮かべて、そこに当てはめてみる
次回は「アルゴリズムの表現」。今日、コンピュータは単純な計算を高速に繰り返す機械だと分かった。だから、やらせたいことを単純な手順に分けて、曖昧さなく書く必要がある。その手順の書き方を、インスタントラーメンの作り方から始める。
このページに書いたものは、いま使っているこの端末の、このブラウザの中にだけ残ります。サーバには送られません。次に同じ端末で開けば、書いたものはそのまま出ます。
別の端末で開くと見えません。学校の端末と家の端末は別ものとして扱われます。ブラウザの履歴やサイトデータを消したときも、一緒に消えます。残しておきたいものは、下の「書いたものをコピー」で自分のノートや提出先に貼ってください。