事例261
論理回路シミュレータで理解するコンピュータの演算の仕組み
神奈川県立横浜国際高校 鎌田高徳先生

私は、今年度の4月から、茅ケ崎西浜高等学校から横浜国際高等学校に異動となりました。
また、4月21日には、かんき出版より『高校の情報Iが1冊でしっかりわかる本』を出版させていただきました。こちらの本は鹿野先生の監修が入っています。そして、全て「問題解決」に特化した内容となっていますので、よければご参考にされてください。

コンピュータを活用して試行錯誤する
この4月から「情報I」が始まり、私はコンピュータを活用して、生徒たちにとって身近な事象を題材に試行錯誤をさせる授業を意識して取り組んできました。
共通テストの情報Ⅰ試作問題を解いてみても、教科書などの知識をそのまま覚えただけでは解けない問題になっていると思っています。問題文の中に、知識やデータなどが書かれているんですよね。なので、知識やデータを活用して試行錯誤しながら解くこと。さらに、学校の授業は一人で勉強するのではなく、周りの人と学びながら、関わり合いながら試行錯誤すること、そういった授業実践が、これからの授業では重要だと思っています。

情報Ⅰの試作問題、第1問~第3問を見ても、旅客機のトイレの満室ランプ、文化祭のクレープ屋の待ち行列、そして釣り銭の「最小交換硬貨枚数」など、全て生徒たちにとって身近な事象に関する問題ですよね。それを、ICTやコンピュータを使って生徒たちが自ら試行錯誤していく事例が求められていると考えています。

なので、授業の中でも論理回路シミュレータを使って試行錯誤したり、表計算ソフトで待ち行列のシミュレーションをしたり、そして釣り銭問題もプログラミングで試行錯誤するという活動が、やはり「情報I」の中では重視されていくのではないかなと思っています。つまり、「知識を活用する」、「技能を活用する」といった授業デザインを行っていく必要があると感じています。

論理回路シミュレータでの実践 ~授業の導入~
その上で、今回の発表では、こちらの論理回路シミュレータを紹介いたします。

論理回路シミュレータの授業では、いきなりシミュレータを使ってAND回路、OR回路、NOT回路を行ってみても、生徒たちはなかなか関連が付きません。やはり実技の前に、講義でしっかり実技のきっかけ作りや意味付けをしないといけないのです。
そもそも、われわれ人類は、昔は手計算で数字の計算をしていました。そのあとに、歯車式計算機による計算をするようになりました。歯車の歯の枚数分、計算をできるようになったのです。その後に、電気信号による計算が実現しました。2進法と論理回路を組み合わせ、電気信号で計算を行えるようになりました。それがコンピュータの発明でもあり、その中に論理回路というものが使われているということを説明するのです。コンピュータでは論理回路のAND回路、OR回路、NOT回路が出てくるよ。そして、この3つの回路を組み合わせて、2進法の計算を皆さんの手で実現してみようといった流れで、授業の導入を行っています。

論理回路シミュレータでの実践 ~シミュレータで実際に手を動かす重要性~
では、今回のシミュレータです。今回のシミュレータはSimcirJSを使っています(※)。本当によくできているシミュレータですので、ぜひご活用ください。
※https://lecture.ecc.u-tokyo.ac.jp/johzu/joho/Y2016/LogicSimulator/LogicSimulator/01.html
※クリックすると拡大します
共通テスト試作問題の第1問の問3(1)を見たときに、論理回路の計算は紙面上でもいいのではないか、という人いるかもしれません。
私の学校の生徒たちにも、シミュレータを使って「問3(1)コンピュータの演算の仕組みを3つの論理回路で作る授業」を行っていますが、「LEDのライトがシミュレータでついたり消えたりすることで、信号が届いている、届いてないとか、1とか0とか切り替わるので、イメージが付きやすい」というコメントが多かったです。
回路というと難しそうですけど、簡単なところから入るのがポイントです。それと、AND回路、OR回路、NOT回路を生徒自らの手で試行錯誤して計算を実現する回路を組み立てることで、生徒が「本当に演算が行われている」、「コンピュータでは回路が組み立てられている」、ということを発見できる授業になるということが、このシミュレータのいいところです。
もちろん、紙面上でやってもいいのですが、紙だと簡単に書き換えたり、入れ替えたりできないですよね。それが簡単にできるのが、シミュレータのいいところです。
※クリックすると拡大します
また、実際の入試問題や試作問題の回路も、このように自分たちで実際に作ってみると良いと思います。そうやって実際に検証させることがとても重要です。
※クリックすると拡大します
論理回路シミュレータでの実践 ~論理回路を組む~
授業では、まず消灯と点灯から入っています。
DC、Toggle、LEDの3つをつなげて、Toggleのスイッチが入ったら、表にあるように「1」で、LEDも「1」だよ。Toggleがスイッチオフだったら、出力も「0」だよと確認させます。その上で、AND回路は教員と一緒に取り組みます。


そしてOR回路、NOT回路は、自分たちでどんな実行結果になるかを真理値表に書かせて、検証させる活動を行います。


その上で、半加算回路、そして全加算回路を組ませています。この二つをどのように行ったのかは、また後ほど動画で説明します。


大切なのは「回路を使って、加算で全てのコンピュータの計算が行われているよ」ということを発見させることです。その上で考察を書かせることがとても重要だと授業を行っていて感じています。


では、実際にシミュレータを使ってみます。ここからは動画でご覧ください。
皆さんもぜひやってみてください。
神奈川県情報部会実践事例報告会 2022 オンライン オンデマンド発表より