プログラミングが拓く「美しい数学」の世界
~数IIの学習内容をプログラムに応用する試み

山口県立岩国高校 山下裕司先生

2012年の数学の学習指導要領の改定で数学Bからプログラミングが消え、数学の単元内容としてコンピュータに触れる機会はなくなりました。しかし、実社会での数学的な処理のほとんどがコンピュータで行われており、学んだ内容が実際にどのように活かされるのかをコンピュータで体験することは、より深い理解につなぐとともに、学ぶことの意義や重要性を実感するためにもとても重要な経験です。

さらに、コンピュータは「紙と鉛筆」だけでは実現不可能な計算や処理を可能にします。高校の数学では、より抽象的な概念や原理・法則を理解し、問題解決を行いますが、単に与えられた問題に正解を出すだけでなく、その概念を具体的なイメージに結びつけるために、コンピュータは最適のツールといってよいでしょう。

プログラミングを積極的に情報の授業に取り入れ、他の教科との横断的な学習にも活用している山口県立岩国高校の山下裕司先生の授業を見学しました。

「アルゴリズムとプログラム」と数IIの学習内容でフラクタルの図形を描く

今回の授業は、再帰プログラムを使ってフラクタル(自己相似図形)を描く活動で、情報の単元では「アルゴリズムとプログラム」に該当します。数学の単元では数IIの「図形と方程式」「三角関数」に関連し、数列の漸化式の内容も含まれます。同じ内容の授業を理数科のクラスと普通科のクラスで行いました。岩国高校では、2年生で情報の授業を行います。他教科と連携したり、理解を深めたりするためには、特に理数系の学習が進む2年生で行う方がおもしろい活動ができる、と山下先生はおっしゃいます。

[理数科クラス~二分木を作る式の変形を中心に]
二分木とは

VBA のFor~Nextステートメントを使って二分木を描く、山下先生の自作のプログラムです。線分の先端が任意の角および比率に分かれた時の2点の位置を表すプログラムを作り、それを繰り返せば、線分の先の分割が繰り返されることになります。理数科の生徒は、まずこの図形を描くための準備問題として、「図形と方程式」「三角関数」を踏まえた数式の変形の復習を行います。

この数式の変形の説明は、生徒の手元のPCにパワーポイント(PPT)のスライドを映して行います。

PPTは板書よりも表示に手間がかからず、生徒の反応を確認しながら進めることができるため、複雑な数式の説明にも十分時間をかけることができることがわかりました。このPPTのデータは、生徒のPCに「配布」しておき、途中でメモが取れなくなった人も、後で該当箇所を自分で探して見直すことができるようにします。

※山下先生の作成したPPTアニメーション (ぜひご覧ください)
h27_2.ppsx
Microsoft Power Point プレゼンテーション [453.5 KB]
ダウンロード
【三角関数を使って点の座標を表す】

図1

図2

図3

関係のある項同士を同じ色で表示してあるため、変形した際に何が・どのように変わったか、関係づけられているのかが一目瞭然です。さらに、アニメーション機能を使うことで、移項や式の変形の過程が非常にわかりやすく、生徒も集中してプロセスを追っていました。

【式の変形の過程 その1】

図4

図5

図6
【式の変形の過程 その2】

図7

図8

図9

図10
【二分木を作るプログラムのための式の変形のまとめ】

図11

図12

図13

図14

プログラムの入力画面

一通り説明を聞いた後で、各自エクセルのVBAに入力して、二分木のプログラムを完成させていきます。入力でわからないところが出てくると、自然に近くの生徒同士で教え合ったり、説明のPPTを見直したりしていました。

プログラムを実行すると様々な二分木が現われ、教室のあちこちから思わず歓声が上がります。早速条件を変えて違うものを試したり、分岐した部分の色を変えたりする生徒が現われ、できたものを見せ合いながらいろいろなパターンを作って楽しんでいました。

[普通科~いろいろなフラクタルの図形を描いてみる]

普通科のクラスでは同じ教材を使いますが、式の変形の説明にはあまり時間をかけず、フラクタルの図形を描く作業が中心になりました。

VBAを使って、数列の漸化式を応用した「縮小していく円の群れ」、内分点の式を使った「バラの花」を描きます。プログラムの角度や比率、最初に描く図形を変えて作ると全く違った形が現われます。どの生徒も、何度も工夫して美しい形を描いていました。


「縮小していく円の群れ」

「バラの花」の基本形

「バラの花」の作図条件を変えてみる(1)

「バラの花」の作図条件を変えてみる(2)
fractal.xls
Microsoft Excelシート [223.3 KB]
ダウンロード
[山下先生に聞きました]

--今回の授業で、プログラム以外で工夫された点はどんなところですか。


山下裕司先生

今回、二分木を描くための直線の方程式の説明で、初めてPPTを使いました。これまではプリントだけで説明していましたが、今年は画面上で数式を変形する時の動きを含めて見せたいと思い、色分けとアニメーション機能を使ってみました。結果的に大成功でしたね。

PPTを使おうと思ったそもそものきっかけは、自分の大学時代の授業を思い出したことです。当時の先生は、立派な学者であっても説明が下手で板書も見にくいのに「自分で学べ」みたいなところがありましたが、ある先生が色チョークを使って、関連性のあるところを囲んで見せてくださったのです。ただそれだけで、今までもやもやしていたものがすっきりとつながりました。

PPTを使えば色を自由に使えるので、これと同じことができるかもしれない、数式の代入もアニメ ーションを使ったら、チョークで書くよりわかりやすいかもしれないと思ってやってみたのですが、 生徒もよく集中して見ていましたね。

初学者は、どうしても一つひとつの要素がぶつ切りで、どこからどこまでが一つのまとまりかをイメージすることができません。コンピュータを使うことで、この部分をサポートすることは効果があることを今回実感しました。

--情報の授業で、他にどのような数学の内容を取り入れられましたか。

「素数判定プログラム」(2年生10月)、「数列を2通りのアルゴリズムで表す」(同)などです。もともと自分が数学科だったので、学力の向上に役立つと思うところを中心に取り上げています。

例えば、今回のフラクタルの作図には、数列の漸化式の内容も入っています。常々、「次の漸化式を一般項にせよ」という紋切型の問題では、生徒は上手に解くことはできますが、では「漸化式とは何か」という本質的なところはわかっていない、と感じることがあります。こういった部分を、コンピュータを使うことで理解させたいと思っています。

本校は進学校なので、やはり学力の向上が大きな目的になりますが、その点で言えば、夏期の課外授業で、エクセルを使って二次関数の平方完成(二次関数のグラフの書き方・放物線の頂点を求める・頂点を決めて移動させる)を教えたら、明らかにそのクラスの生徒の成績が上がった、ということはありました。ただ、これはピンポイントでこの単元を行ったというもの珍しさもあったかもしれません。

今は、これだけPCやタブレットがあふれ返っているので、生徒もPCを使えば何でも興味を持つ、というわけではないと思います。ICTと学力向上の報告を見ても、低学力層を伸ばすことには効果がありますが、上位層を伸ばすという決定的なものは出ていないように思います。今後、学力の高い子どもをさらに伸ばす教材も必要だと思います。

--数学以外には、どのような科目の内容を取り入れていらっしゃいますか。また、そこで留意されていることは何ですか。

毎年試行錯誤的にいろいろなことを試していますが、主だったものとして。

文系のクラスでは、データベースを使った英単語の意味を当てるクイズを作りました。プログラムを書く際に直接英単語を打ち込むとプログラムが動かなくなることがありますが、データベースを使えば異常が発生しないことを、作業を通して理解させることができました。

物理では、ボールの斜方投射のシミュレーションをしました。「ボールの軌跡は二次関数の曲線になる」ことはわかっていても、実際はどうしても誤差が出ます。しかし、逆にシミュレーションで時間間隔を短くしていくと二次関数に限りなく近づくということが操作しながらわかります。これは、そのまま数式を覚え込むのでなく、現象をとらえて本質に迫るという科学的な姿勢にもつながるものだと思います。

4年ほど前には、3Dの図形を描くMetasequoia(メタセコイア)というソフトを使って、中国地方5県の人口分布の立体グラフを作ったことがあります。それまでは3Dと言えばドーナツやピラミッドなど好きな形を作らせていたのですが、社会と組み合わせてみようと思ったのです。

立体グラフを作るためには、スケールにとても繊細な処理が必要になり、「適当に好きなものを作っておもしろい」活動から、まさに「情報処理」を実体験する活動になりました。天気予報で出てくる降水量の立体グラフが、実は膨大な情報量からできていることを理解できたと思います。

それとともに、自分達が住んでいる地方の人口密度の地域差が思ったより大きいことにショックを受けた、という感想も出ました。さらに、1800年代から50年ごとのそれぞれの地域の人口をネットで調べてグラフ化し、5枚のグラフでパラパラマンガを作ることもやってみました。こうすることで、二次元の地図をグラフで三次元に、さらに時間軸を入れて動態も考える、という充実した活動になりました。

情報の授業で身につけたスキルを他の教科の理解を深めることに活かす、という点にも留意しています。例えば、1学期にはPPTを使ってプレゼンテーションを行います。この活動では、自分の好きな科目のポイントをPPTにまとめて発表しますが、学期末の考査に向けて勉強したことを自分なりに説明することで、理解を深めることが期待できます。この活動では、情報の内容としてPPTの基本的な機能やプレゼン技法、さらに引用元を明記するなどモラルに関することも学びます。

2学期の情報ではプログラミングを学びます。そして、2学期末はこれを使って今度はクリックすると反応したり、クイズができたりするインタラクティブな「学習サイト」(※)を作ります。この学習サイトは、学校のホームページに置いて、皆が見られるようにしています。生徒同士で見せあうことで、学んだことを共有することにつながります。

手作業でもできることをわざわざコンピュータでするのでなく、コンピュータにしかできない学びを経験していくことが大事だと思って、活動を作っていくようにしています。

※「生徒がつくった「学習サイト」作品例
【古文】源氏物語 光源氏誕生~前篇
【数学】平均変化率
【生物】DNAの複製・転写
【世界史】イギリスの秘密外交
【地理】ケッペンの気候区分
【英語】イディオムを覚えろ!

[取材を終えて]

二分木や「バラの花」が画面に現れた時に、教室のあちこちから起こった「わあっ」という歓声と、その後一心にプログラムを組み換える生徒達の表情がとても印象的でした。山下先生も、「数学を担当していた時は、なかなか生徒の反応が手応えが得られなかったが、情報ではわかったときのどよめきが感じられるのが嬉しい」とおっしゃっていました。

今回の課題の内容は決して平易なものではありません。特に、線分の先端が分岐する先の点の座標を求めるための式の変形は、一度数学で学習した内容ではあってもかなり手ごわいものでした。しかし、PPTのアニメーションを使った説明は、同じ項目同士が同色で表示されているためたいへんわかりやすく、生徒達が納得しながら聞いていることがわかりました。また、先生も生徒の反応に合わせて繰り返して提示できるので、丁寧な説明が可能であることがうかがわれ、「紙と鉛筆」が中心の数学にもこのような形でコンピュータを取り入れること、特にPPTによる説明は、生徒の理解向上に非常に役立つと感じました。

今回の内容は、数学では、数IIの山場とも言うべき「三角関数」「図形と方程式」「漸化式」の応用でした。受験勉強でもさんざん問題を解かされる単元の内容が、このような美しい図形の作図につながっていることは、教科書と問題集に向き合っているだけではうかがい知ることはできないでしょう。筆者の高校時代の数学の先生が、「数学はエレガントな学問だ」と言われていたことがようやく理解できました。

さらに、フラクタルは株価の動向などにも表れます。今回の活動は、社会現象を数学的に分析することの入り口ともなるもので、まさに山下先生がおっしゃった「コンピュータを使わなければできないこと」であることがわかりました。

 

「キミのミライ発見」へ戻る