第5講 第4講のプログラムエラー原因探索各アイテムの解説
第4話 全体リスト構造解析Total方式の解説その2
次のコードについて解説しましょう。
For i = 0 To n_1
For j = 0 To n_1
If p(i, j) = 0 Then
For k = 0 To n_1
If p(i, k) > 0 Then
kh(i, j, p(i, k) - 1) = 0
End If
Next
End If
Next
Next
について解説しましょう。
ここでは、
等の9色(問題によっては8色以下のときもあります)の色塗りを行っています。
コードの動きについて
セル(5,5)の場合、すなわちi = 5,j = 6すなわちp(5, 6)
の場合で見てみることにしましょう。
まず、最初のコードから
For k = 0 To n_1
If p(5, k) > 0 Then
kh(5, 6, p(5, k) - 1) = 0
End If
Next
数字を入れると何をしているか分かります。
同じ行に数字の入っているセルがあるかを調べ、
数字が入っている場合に、
それぞれの数字に対応するに色を塗っています。
は色が赤という意味ではなく、
今このセルにスポットライトを当てている=このセルに注目しているという意味です。
ですから、今色が塗られる対象は注目している1つのセルのみです。
行には、2と4と8がありますので、
セルにはそれぞれの数字に対応する色が塗られます。
同じ場所にいろいろな色を塗ったのでは、色が混ざってしまうのでは?
ということが心配ですか。
ですがその心配はありません。
のような紙が9枚あって、それぞれの紙に塗っているので、
色が混ざる心配はありません。
Dim kh(8, 8, 8) As Byteは3次元配列なのです。
ですから、セルは数字ごとに対応する9枚があって、
それがトランプのように重ねられているとイメージすれば良いのです。
For i = 0 To n_1
For j = 0 To n_1
If p(i, j) = 0 Then
For k = 0 To n_1
If p(i, k) > 0 Then
kh(i, j, p(i, k) - 1) = 0
End If
Next
End If
Next
Next
は,3次元For文です。うっかりすると頭が混乱しますが、
客をもてなす側であるセルともてなされるお客さんである
のセルの
2つの役割を区別しないと訳が分からなくなります。
自分と自分に相対している
といった方がわかりやすいでしょうか。
自分に塗る色はから決定されるのです。
哲学者のフォイエルバッハは、
自分の本質はいくら自分の中を見ても分からず、
自分の住んでいる世界を見たときにはじめて分かるといっています。
外界が自分の本質を映す鏡であるという意味ではなく、
自分の外側が自分の本質を決定するのだという意味です。
蓑虫の本質は、蓑虫の住んでいる狭い葉っぱや短い時間が決定しているのだということです。
の本質は自分が決定するのではなく、
外界であるが決定しているのです。
哲学者の言葉は深淵で、理解が難しいのですが、
この数独の事例から、フォイエルバッハのいいたいことが分かります。
ヘーゲルは外が内を決定することを対他反照規定という難しい言葉で言っていますが、
意味は「自分の本質は、自分の外界が決定する」ということです。
今ルソーの社会契約論について行っている超超訳によって、
難解な社会契約論を哲学や社会科学を学んだことのない普通の人でも、
理解できるようにするという試みを、
ヘーゲルについても行うつもりでいます。
超超訳とは、
対他反照規定→自分の本質は、自分の外界が決定する
とわかりやすい言葉で言い換え、
それがどういう意味かを
具体例(の本質は自分が決定するのではなく、
外界であるが決定している・・・というような)
を挙げて解説することです。
eclipse c++ 入門
魔方陣 数独(ナンプレ)で学ぶ VBA 入門
数独(ナンプレ)のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ
小学生からエンジニアまでのRuby入門へ
本サイトトップへ