プレゼンテーション [Nis 04] [Tak 99] や思考法 [Mur 06] でつかわれる図解のおおくは,プログラムの制御構造やデータ構造と対応していることがわかる. しかし,日本における図解の解説本ではこういう論理構造がかならずしも明確にされず,図解が論理をあらわさずに,みばえをよくするだけになってしまっているようにみえる. プログラムと対応づけることによって論理を明確化することができるだろう.
一方,図解において重要なポイントとされているがプログラムにおいては重視されていない点 (たとえば要素数を 7 くらいにおさえるべきだという点) が多々ある. これは,プログラムが読み手の立場で書かれていないことをあらわしているとかんがえられる. よみやすいプログラムを書くためには図解からまなぶべき点がいろいろあるだろう.
基本的な制御構造
基本的な制御構造としてどのようなものがあるかということに関しては,プレゼンテーション側がプログラミング側からまなぶべきであろう. プログラムにおける基本的な制御構造としてつぎのものがある.
- 逐次構造
- 要素 A, B, C があるときに,これらを順にならべてつくられる制御構造: “A; B; C”.
- 選択構造
- 要素 A の値の真偽にもとづいて B, C のうちいずれかを選択し実行する制御構造: “if A then B else C”.
- 反復構造
- 要素 A の値が偽になるまで B をくりかえす選択構造: “while A do B”.
- 再帰構造
- 反復構造をより一般化したものである. 要素 A のなかに A があらわれる.
これらは逐次実行に関する制御構造だが,並列実行もふくめると,つぎのような構造も必要になる.
- 並列構造
- 要素 A, B が並列にならぶ (順序がつけられない) 構造: “A, B”.
一方,プレゼンテーションにおいてはつぎのような構造がある.
- 並列構造 (箇条書き)
- PowerPoint などにおいて,もっともひろくつかわれている構造である. 図解としても表現できるが,基本的には PowerPoint にくみこまれた箇条書き機能をつかって表現される.
- 逐次構造
- 矢印またはそれに準じる記号や図形によって項目間の順序を表現する.
- 反復構造
- 3 つまたはそれ以上の数の要素のあいだを循環する矢印でつなぐ.
プレゼンテーション図解に関する本にはあまり書かれていないが,選択構造が必要になることもある.
基本的なデータ構造
基本的なデータ構造に関しても,プレゼンテーション側がプログラミング側からまなぶべきであろう. プログラムにおける基本的なデータ構造として,つぎの項目がある.
- 連接構造 (レコード構造)
- ユニオン
- 階層構造 (木,DAG)
- 再帰構造
連接構造は制御構造における逐次構造と対応し,ユニオンは選択構造,再帰構造は再帰構造と対応しているので,あらためて書く必要はないだろう. 階層構造は基本的な制御構造とは対応していない. しかし,意思決定などにおいてつかわれる決定木はデータ構造ではなく制御構造だが,階層構造 (木) と対応している.
図解をわかりやすくするための原則
一方,図解をわかりやすくするための原則に関しては,プログラミング側がプレゼンテーション側からまなぶべきだろう. 原則としてとりあげられるのは,つぎのようなことである.
- 列挙する要素は 7 個程度におさえる
- 多数の項目を列挙すると理解が困難になる. したがって,図解にかぎらず,スライド等に列挙する要素はおおくても 7 個程度にとどめるべきだとされている. プログラムにおいては逐次構造にせよ並列構造にせよ要素を列挙することになるので,このようなばあいには要素数を限定することがプログラムを理解するうえではのぞましい. 多数の文が列挙されているプログラムにおいては,おおくのばあいにそれらをもっとすくない単位にまとめることができる. そして,まとめてできた手続きなどの単位にしかるべきなまえをつければ,そうしたほうがわかりやすい.
- ...
- TBD
参考文献
- [Nis 04] 西村 克己 著,「PowerPoint の図解が 3 分間で書ける本」, インプレスネットビジネスカンパニー, 2004.
- [Tak 99] 竹島 慎一郎 著 「PowerPoint 企画プレゼン 図解の極意」, アスキー, 1999.
- [Mur 06] 村山 涼一 著 「論理的に考える技術 ― 図形化すれば考えはこんなにまとまる」, ソフトバンククリエイティブ, 2006.