数理解析研究所講究録
第 1780 巻 2012 年 100-110

100

ミニ研究での数学教育と LOGO の活用について

福島工業高等専門学校．一般教科 馬場 蔵人 (Kurando Baba)
Department of General Education,
Fukushima National College of Technology

1

はじめに

本校には，各研究室の設定したテーマをもとに学生が研究活動を行う「ミニ研究」という科目を開設している．これまで数学科では，ルービックキューブ ([8]) や折り紙([6]) などをテーマにしたミニ研究が行われ，通常の数学の授業にはない数学が取り上げられてきた．本研究室では，今年度プログラミング言語の LOGO によるコンピュータグラフィックスをテーマにしたミニ研究を行った．このテーマでは三角形や円などの古典的な図形からフラクタル図形まで，様々な図形を描くプログラムを作成しながら，これらの図形の理解を深めていった．本稿では，その取り組み経過の様子およびこの研究活動を通じて得られた教育成果について報告する．

2

ミニ研究の概要
ミニ研究は「自分で調べ考える・文章にまとめ報告する人前で発表する」という過程を経験することで，創造性を育み，低学年のうちから高学年での学習に必要な資質を養うことを目的としている．各研究室ごとに研究テーマが設定され，学生はその概要をもとに学科に関係なく配属を希望する研究室を選ぶことができる．各研究室の定員は 5名程度であり，少人数での指導が可能である．このようにミニ研究では第 5 学年における卒業研究と異なる点がある．以下，ミニ研究と卒業研究の相違点を示す (表 1).

表 1: ミニ研究と卒業研究の相違点

例年，全学生の 7 割程度を一般教科 (専門学科以外の学科) が受け入れている．今年度における数学科のミニ研究のテーマ名は次の通りである:
1 学科ごとに異なる101$\bullet$$\bullet$$\bullet$$\bullet$$\bullet$

ルービックキューブ de 学ぼう

数式処理ソフト作成に挑戦してみよう
ゲーム理論
パズルで学ぼうタートル幾何学への招待 (本研究室のテーマ名)

前期期間中 (夏休みを含む) に研究活動を行い，報告書の作成および研究成果の発表会を経てミニ研究は終了となる．ミニ研究の評価は，研究活動への取り組み状況と発表会での発表内容によって決定され，前者を指導教員が，後者を指導教員を除く複数名の教員が評価する．

3

本研究室におけるミニ研究

LOGO とは，Seymour Papert([4]) によって開発された教育用のプログラミング言語である．その特徴にタートル (亀) によるグラフィックス機能がある．タートルとはパソ
コンの画面上に表示されたカーソルのことで，LOGO を用いてタートルを操作し，その軌跡によって様々な図形を描くことができる．この方法で描かれた図形は，タートルグラフィックスもしくはタートル幾何学として知られている．この幾何学では，タートルに図形の描き方を試行錯誤を繰り返しながら教えていくため，学生自身の図形に対する理解が深まるといった，通常の数学の授業とは異なる図形の理解の仕方が特徴的である．
タートル幾何学は LOGO 以外のプログラミング言語が用いられることもあるが，今回LOGO を用いることを決めた理由に次の 2 つが挙げられる:(1) プログラミング環境

LOGO の処理系は，Microsoft Windows Logo(以下 MSWLOGO と略す) を使用する．MSWLOGO はフリーソフトであり，インストールも容易である．ソフトの操作方法も直感的であり，TRACE 機能や STEP 機能などプログラムの作成を補助する機能も実装されている．
(2) 研究対象の調査時間の確保

ミニ研究は前期授業期間内という限られた授業時間数の中で研究対象の調査から報告書の作成および発表会の準備まで行う必要があるため，より良い成果を残すためには，いかに研究対象の調査に授業時間を多く割り当てるかが重要になってくる．
そのためにはタートル幾何学と LOGO の講義を簡潔に行い，学生が授業期間内の早い段階から LOGO を使って図形を自在に描けるようになることが求められる．この点で LOGO は本研究で扱う図形を描くのに必要な基本命令の数を少数で済ませられ，多くの例題プログラムの入力と実行に時間を費やしながらタートル幾何学について学習していくことができる．

102
LOGO の使い方と再帰的アルゴリズムの学習

3.1

ミニ研究が始まって最初の 1$\bullet$$\bullet$$\bullet$$P$

月間は次の 3 つの事項について講義を行った:

MSWLOGO のインストールと基本操作の説明
MSWLOGO の基本命令 (タートルの移動，タートルの情報取得等) の学習
再帰的アルゴリズムの学習

学生が自宅でもミニ研究の活動や演習課題に取り組めるようにするため，始めに MSWLOGO のインストールの説明から行った．LOGO の基本命令は文献 [5] の内容から必要な部分を抜き出して基本命令の機能を確認させた．学生はすでにテキスト編集に関する技能は習得していたので，例題プログラムの入力および実行に関しては支障なく進めることができた．次に文献 [3] を用いて再帰的アルゴリズムの講義を行った．この文献ではみかん LOGO という処理系でプログラムが作成されており，例題プログラムのいくつかは MSWLOGO では処理できない箇所がある．講義では学生に適宜例題プログラムに修正を加えてもらいながらこの文献の第 1 章を読み進めた．この文献の例題プログラム以外にもこれらに関連したフラクタル図形を描くプログラムを作成させる演習課題を提出させるなど，多くの再帰的アルゴリズムを使ったプログラムを作成することでタートル幾何学の概念や再帰的アルゴリズムのアイディアの理解に努めさせた．実際に行った指導の例としては，シェルピンスキーの三角形を描く例題プログラムを参考にして，シェルピンスキーのカーペットを描くプログラムを作成してもらうといった内容である．学生の解答には再帰を用いて正しく解答できたものがあれば，再帰ではなく繰り返しを用いて誤って解答したものもあった．これはプログラムを作成する以前にフラクタル図形そのものの理解が不足していたのに加えて，フラクタル図形の持っ自己相似性と再帰的アルゴリズムとがうまく関連させて理解することが難しかったためであった．解説の際は再帰性をどのようにプログラムの中に組み込んでいったらよいかなどを重点的に説明した．

3.2

制作課題の計画

LOGO の使い方と再帰的アルゴリズムの学習を終えた後の 2 $f$ 月間をかけて，学生には制作課題への取り組みをしてもらった．学生の制作課題のテーマを決めていくにあた
り次の事前アンケートを実施した:
問 1 これまで書いてきた図形で興味を持ったものは何ですか ?(複数回答可)
問 2 難しいプログラムはありましたか ?(複数回答可)
問 3 取り組んでみたい課題はありますか ?(複数回答可)

問 1 および問 2 の回答は，文献 [3] のプログラムおよび演習で作成したプログラムの中から選んでもらった．その回答結果を集計したものを表 2 に示す．ただし，問 1 および
問 2 がともに 0 票であったプログラムについては省略した．問 3 については，問 1 および問 2 での回答に関連させて答えてもらうよう指示した．以下，学生が取り組むことになった制作課題のテーマを示す:

103
テーマ 1:
テーマ 2:

マンデルブロ著「フラクタル幾何学」にある図形を描く (33.1 節)
Lindenmayer System を用いて樹木を描く (3.3.2 節)

テーマ 3:

マンデルブロ集合を描く (333 節)
テーマ 4: 錯視図形を描く (334 節)

これらのテーマは問 3 の回答をもとに設定したものである．テーマ 1 からテーマ 3 まで
は文献 [3] の例題プログラム以外にもこうした図形を描いてみたいという回答を受けて設定したものであったが，テーマ 4 については例題プログラムに錯視図形はなく LOGOを使って錯視図形を描けるかは制作課題のテーマを決定した段階では未知であった．

表 2: 事前アンケート

3.3

制作課題への取り組み

学生が個々の制作課題に取り組むにあたって，学生の取り組み状況を把握するため，毎回報告書を作成してもらった．報告書には次の点について書いてもらい，その内容によって次回の取り組む作業についての方針を定めた．
$\bullet$$\bullet$$\bullet$

取り組んだことの概要
できたことできなかったことわからないこと・困ったこと

報告内容に不明瞭な点があったときは，学生に口頭で説明してもらい取り組み状況を把握した．

33.1

マンデルブロ著『フラクタル幾何学』にある図形を描く

フラクタル図形は次に示す手順によって描くことができる:

104(STEPl) イニシエイターとジェネレーターとよばれる 2 つの基本となる図形を用意する．
(STEP2) イニシエイターの各辺をジェネレーターに置き換える．
(STEP3) (STEP2) で得られた図形の各辺をジェネレーターに置き換え，この操作を何度も繰り返す．
文献 [7] に描かれているフラクタル図形にはイニシエイターとジェネレーターの形が示されており，これらの形から学生はフラクタル図形を描くプログラムを作成していく．その際，(STEP3) の操作は LOGO の再帰呼び出しの技法を用いてプログラムを作成する．
図 1,2 に学生が制作した図形を示す．図 1 は，文献 [3] の 66 ページに示されているプログラムを MSWLOGO で処理できるようにしたもので描かれた図形である．図 2(左)は文献 [7] の 46 ページに描かれているフラクタル図形であり，図 2(右) は文献 [7] の 68ページに描かれているフラクタル図形のイニシエーターをジェネレーターに同じにしたもので描いたものである．これら以外にも文献 [7] に描かれているいくつかの図形を描くプログラムを作成することができた．

図 1: 猿の木

3.3.2

Lindenmayer System を用いて樹木を描く

文献 [1] をもとに樹木を描くプログラムを作成していく．学生にはあらかじめこの文
献 [1] に描かれている樹木の図形を外観してもらい，興味を持ったものを描くのに必要な部分を読んでくるよう指導した．Lindenmayer System(以下 L-System と略す) を用いた樹木を描く手順は，33.1 で示したフラクタル図形を描く手順と同様である．ただし，
文献 [1] にある樹木を描くときに用いるイニシエイターとジェネレーターはタートルの操作を表す文字列によって示されているので，各文字に対応するタートルを操作するプ

105

図 2:(左) ペアノ・ゴスパー曲線 (右) マンデルブロのペアノ曲線

ロシジャを作成してから，樹木を描くプログラムを作成する流れとなる．学生はこの文字列と対応するプロシジャを作成しながら樹木を描くプログラムの作成を目指した．の制作課題で描く図形には分岐を表現するためのアルゴリズムが必要であったため，文こ

献 [1] に従ってデータ構造のスタックを用いてタートルの位置と向きをデータとして保存し，これらを操作することで分岐を表現する方法をとった．しかし，学生はデータ構造にっいては未学習であったため個別に指導をした．学生には MSWLOGO でも処理できるようにこれらのデータを操作するプロシジャを PUSH 関数と POP 関数を用いて作成してもらった．学生が制作した樹木の図形を図 3 に示す．
333

マンデルブロ集合を描く

この制作課題ではマンデルブロ集合をはじめとするある複素数列から定まる複素数平面上のフラクタル図形を描くプログラムを作成する．マンデルブロ集合$(z_{n+1}=z_{n}^{2}+c)$の場合は，文献 [3] の 9 ページにみかん LOGO 用のプログラムが示されている．このプログラムは再帰的アルゴリズムの学習の際，MSWLOGO で処理できるように変更してあったので，学生はこの例題を参考にして $z_{n+1}=z_{n}^{k}+c(k\geq 3)$ の定めるフラクタル図形を描くプログラムを作成することに取り組んだ．図 4 は漸化式を $z_{n+1}=z_{n}^{3}+c$ のときの図形である．これ以外にも $z_{n+1}=z_{n}^{k}+c(k=4,5,6,7)$ までの図形を描くプログラムを作成することができた．

106

図 3: 木.

.

.

$\cdot$.

図 4: $z_{n+1}=z_{n}^{3}+c$

107
334

錯視図形を描くこの制作課題では北岡明佳のウェブサイト ([2]) に公開されている錯視図形を描くプログラムを作成することに取り組んだ．このウェブサイトに公開されている錯視図形の中で渦巻きの錯視 (図 5) と膨らみの錯視に関する図形を描くプログラムを作成することができた．学生の作業は，このウェブサイトに掲載されている完成図のみから錯視図形を描くプログラムを作成することであり，これら図形のもつ対称性を利用しながら効率の良いプログラムを作成することができた．なお，これらの図形がどのようなメカニズ
ムで錯視を起こさせるのかを調べるまで研究を進めることはできなかった．

図 5: 渦巻きの錯視

3.4

ミニ研究発表会

34.1

発表会の準備ミニ研究の成果を発表する機会としてミニ研究発表会が 11 月 3 日に行われた．この発表会はポスターセッション形式で 15 分間の口頭発表となっている．そのための準備として報告書とポスターの作成を発表会の 2 カ月前当たりから開始した．この期間は前期期末試験や後期授業期間と日程が重なっていたので，作業に十分な時間を当てることが難しかったが，放課後の時間を利用して集中的に発表会の準備に取り組んだ．

342

発表会の様子本研究室ではポスターを使った研究内容の説明以外にもパソコンを用いて制作課題を描画するデモンストレーションを行った．本年度のミニ研究発表会は本校のオープンキャ

108
ンパスと同時開催であったため，保護者や中学生をはじめとする外部にも公開された．
制作課題を描画させる様子をパソコンを使って見てもらうことで，フラクタル図形や錯視図形に馴染みのない方にも興味を持って観てもらうことができた．

343

アンケートの実施

今年度のミニ研究の活動を改善し来年度以降のミニ研究の活動の参考にするため，聴衆を対象に次のようなアンケートを実施した．なお，回答者数は 48 人 (内学生 40 人) で括弧内の数字は集計した得票数を表す．

質問 1: おもしろかった，詳しく知りたいと思う作品はありましたか ?(複数回答可)
口作品 4(20) 口作品 5(8)作品 3(13)
口作品 2(26)
口作品 1(20)$\square$鴎$\ovalbox{\tt\small REJECT}$

口作品 6(17)

口 作品 7(21)廓圓

口作品 11(10)$\mathfrak{H}$$\ovalbox{\tt\small REJECT}$$\square$

作品 12(19)

口作品 8(14)$w^{\#_{i}}\^{\aleph_{-}\succ}\#$$\square$

作品 9(7)$\square$

作品 10(6)魯

口特に無し (1)$*$
質問 2: 【学生のみ】パソコンを使ってやってみたいことはありますか ?(複数回答可)
ロシミュレーション (13)ロコンピュータグラフィックス (14)
口画像処理 (8)口人工知能 (18)
口音声処理 (8)口数式処理 (7)ロデータ処理 (10)口その他 (1)
口特に無し (2)
質問 3: 【学生のみ】質問 2 の回答に理由があればお書きください．
質問 3 の回答:$\bullet$$\bullet$

おもしろそう．興味がある．
プログラムを自分で組んだり，それに音声や画像をつけることができたらい
いと思ったから．

$\bullet$$\bullet$$\bullet$$\bullet$$\bullet$$\bullet$

コンピュータのの機能を使って，グラフィックスや人工知能がつくれることに関心を持ったから．
専門的なのでやってみたい．
「LOGO」というものにとても興味がもてたので自分もそういったプログラムを将来作ってみたいと思ったから．
様々な図形を自分でつくりたいから．
前々から興味をもっているから．
自分で組んだプログラムで機械が考え動き出せたとしたならば感動もの．人
工知能と音声処理の組み合わせで機械と会話など．

109$\bullet$$\bullet$$\bullet$$\bullet$$\bullet$$\bullet$

将来役に立ちそうだから !!

ミニ研を見てやってみたいと思ったので．
シミュレーションがあれば楽になる．数式処理があれば便利．
色んなことを想定してやってみたいから．
物を作るときに，先にコンピュータグラフィックスで完成図を作れば実際に作る時に便利だと思うので．
コンピュータで数学のくわしい計算をやってみたい．
他

質問 4: 気が付いたこと，感じたこと何でも結構ですのでご自由にお書きください．
質問 4 の回答:$\bullet$$\bullet$

今まで見たことないような形ばかりでおもしろかった．

機能を使っていろんな模様ができることに感心しました．とくに，タートル幾何学の模様がすごかった．

$\bullet$$\bullet$$\bullet$$\bullet$$\bullet$$\bullet$$\bullet$$\bullet$$\bullet$$\bullet$$\bullet$

錯視図形というのがおもしろかった．見てて一番「ああなるほど」と思った．やっぱり視覚的に情報が入ってくるので，とても分かりやすかった．
とても難しそうだと感じたが，同時におもしろそうだとも思った．
むずかしいけど不思議な図形にひかれた．
「Logo」 という言葉をはじめてきいたけど，理解できたので良かったです．
平面なのにふくらんで見えたり，全然違う感じに見えるのが面白いと思った．
とても分かりやすい発表だった．
フラクタル図形というものを初めて知った．

とてもおもしろくてやってみたくなりました．三角形が格好良かった．
1 つの図形でもたくさん使用することで全く違う図形をっくれることに驚いた．
複雑な図形をプログラミングすることで簡単に作成できるのがすごいと思いました．
「木」を描くプログラムで成長と同時にみきが大きくなっていくようにすればもっと木のように見えると思った．
他

4

教育成果

学生は制作課題に取り組んでいく過程で再帰的なアルゴリズムを使ったプログラミン
グ方法を習得していき，様々なフラクタル図形や錯視図形を描く LOGO 用のプログラムを作成することができるようになった．また，発表会でこれらの内容について説明する際に，自分で理解した内容を整理し，より深い理解をもって人に説明していた様子がみられた．学生によっては文献にあるフラクタル図形をもとに自分なりにアレンジを加えた新たなフラクタル図形を描くプログラムの作成に挑戦したり，ミニ研究の授業が終了した後も自らすすんで研究を進めていくことに意欲をもった学生が現れた．また，授業期間内の早い段階でこれら図形を描くのに必要な学習を終えることは，学生に十分な110研究時間を確保するために重要であったことを確認することができた．さらにそのためのプログラミング環境として LOGO を用いたことは有効であったと考えられる．

5

おわりに学生はものづくりのためのコンピュータグラフィックスの利用や，コンピュータの社会への有効活用に高い関心があることをアンケートを通じて知ることができた．来年度

以降のミニ研究では，こうした学生の関心を考慮に入れた教育内容にっいても検討をしていきたい．

参考文献[1] Przemyslaw Prusinkiewicz-Aristid Lindenmayer:Plants, Springer, 1990

The Algorithmic Beauty of[2] 北岡明佳: 北岡明佳の錯視のページ，http: $//www$ .ritsumei.ac.$jp/\sim akitaoka/$[3] 佐藤幸悦:LOGO で学ぶ CG と複素数の世界一タートル幾何，複素解析，カオス，フラクタルー，森北出版，1995.
[4] シーモアペパート: マインドストーム子供，コンピューター，そして強力なアイ
デア (新装版), 未來社，1995[5] 杉田公生:LOGO によるグラフィックス，Sugita’s Home Page, http://www.sm.utokai. ac.$jp/\sim sugita/$[6] 鈴木正樹，乙山克彦，箱崎裕紀，小泉亜未: 折り紙の数学 II, 福島工業高等専門学校研究紀要，第 51 号，pp. 135-140, 2010[7] ベンワーマンデルブロ: フラクタル幾何学，日経サイエンス，1984[8] 和賀宗仙: ミニ研究でのルービックキューブ 3D 表示プログラムのバージョンアップ，RIMS 研究集会「数式処理と教育」，2010