Markdownの高度な使用のフローチャート
3129 ワード
フローチャートのMarkdownでの表現形式はコードブロックであり、コードブロック言語はmermaidと表記されている.主な内容は大きく分けて方向、ノード、ノード間の接続関係で、以下はこの3つの点をめぐって整理します.
mermaidはフローチャート、ガントチャート、タイミングチャートをサポートしていますが、今回の試みでは、図面を描くには専門の図面ツールを使うと結論し、これは簡単な選択肢として簡単なシーンでしか使えません.だからここではフローチャートの使用をまとめるだけで、他の2つは必要ありません.あまり使いにくいわけではありません.
フローチャートの方向
フローチャートは全体的に横方向と縦方向の2種類に分けられる.全部で4つの方向:T-上、BD-下;L-左、R-右.使用方法は横方向の2つの結合、縦方向の2つの結合です.例えば左からLR、上から下へTBまたはTDである.
上から下へ:
上から下への表示:
A
B
左から右へ:
効果を左から右に表示:
A
B
フローチャートノード
以下に示すフローチャートノードには,矩形'[]',円角矩形'()',非対称矩形'>]',菱形'{}',円形'()'がある.各ノードの前には、そのノードIDを一意に識別する必要がある.次の例を示します.
その展示効果は以下の通りである.
テキスト付き長方形
テキスト付き角丸長方形
テキスト付き非対称長方形
テキスト付き菱形
テキスト付き円形
ノード間の接続関係ノード間の接続線は、実線'---'、太字実線'==='、破線'-.-'に分けられる. 矢印付き接続線は、矢印付き実線'-->'、矢印付き太字実線'=>'、矢印付き破線'-.--->'に分けられます. 接続ラインにコメントを付ける場合は、上記の2つのコメントを付ける方法は次のとおりです. 実線備考'--yes-',太字実線備考'yes=',破線備考'-.yes.-'. 矢印付き実線コメント'--yes->>>'、矢印付き太字実線コメント'yes>'、矢印付き破線コメント'-.yes.->'
ここで、各接続シンボルの左側は開始ノード、右側は終了ノードであり、同じノードによって異なるノードを指すこともできるし、異なるノードによって同じノードを指すこともでき、様々な指向方式がノードIDによって表記されることを実現する.
例は次のとおりです.
その展示効果は以下の通りである.
yes
yes
yes
A10
A11
A20
A21
A30
A31
B10
B11
B20
B21
B30
B31
C10
C11
C20
C21
C30
C31
同じノードから始まり、以下のように使用され、後から同じノードを使用する場合は、IDのみを指定すればよい.
開始ノード
エンドノード1
エンドノード2
バブルソートフローチャート
ここでは、上のいくつかの点を簡単にバブルソートで練習し、まずバブルソートのダミーコードを貼り付けます.
デモコードは次のとおりです.
mermaidはフローチャート、ガントチャート、タイミングチャートをサポートしていますが、今回の試みでは、図面を描くには専門の図面ツールを使うと結論し、これは簡単な選択肢として簡単なシーンでしか使えません.だからここではフローチャートの使用をまとめるだけで、他の2つは必要ありません.あまり使いにくいわけではありません.
フローチャートの方向
フローチャートは全体的に横方向と縦方向の2種類に分けられる.全部で4つの方向:T-上、BD-下;L-左、R-右.使用方法は横方向の2つの結合、縦方向の2つの結合です.例えば左からLR、上から下へTBまたはTDである.
上から下へ:
~~~mermaid
graph TD
A --> B
~~~
上から下への表示:
A
B
左から右へ:
~~~mermaid
graph LR
A --> B
~~~
効果を左から右に表示:
A
B
フローチャートノード
以下に示すフローチャートノードには,矩形'[]',円角矩形'()',非対称矩形'>]',菱形'{}',円形'()'がある.各ノードの前には、そのノードIDを一意に識別する必要がある.次の例を示します.
~~~mermaid
graph TD
a1[ ]
a2( )
a3> ]
b1{ }
c1(( ))
~~~
その展示効果は以下の通りである.
テキスト付き長方形
テキスト付き角丸長方形
テキスト付き非対称長方形
テキスト付き菱形
テキスト付き円形
ノード間の接続関係
ここで、各接続シンボルの左側は開始ノード、右側は終了ノードであり、同じノードによって異なるノードを指すこともできるし、異なるノードによって同じノードを指すこともでき、様々な指向方式がノードIDによって表記されることを実現する.
例は次のとおりです.
~~~mermaid
graph LR
A10[A10] --- A11[A11]
A20[A20] === A21[A21]
A30[A30] -.- A31[A31]
B10[B10] --> B11[B11]
B20[B20] ==> B21[B21]
B30[B30] -.-> B31[B31]
C10[C10] --yes--> C11[C11]
C20[C20] ==yes==> C21[C21]
C30[C30] -.yes.-> C31[C31]
~~~
その展示効果は以下の通りである.
yes
yes
yes
A10
A11
A20
A21
A30
A31
B10
B11
B20
B21
B30
B31
C10
C11
C20
C21
C30
C31
同じノードから始まり、以下のように使用され、後から同じノードを使用する場合は、IDのみを指定すればよい.
~~~mermaid
graph LR
A[ ] --> B[ 1]
A --> C[ 2]
~~~
開始ノード
エンドノード1
エンドノード2
バブルソートフローチャート
ここでは、上のいくつかの点を簡単にバブルソートで練習し、まずバブルソートのダミーコードを貼り付けます.
BUBBLESORT(A)
for i = 1 to A.length-1
for j = A.length downto i + 1
if A[j] < A[j - 1]
exchange A[j] with A[j - 1]
デモコードは次のとおりです.
~~~mermaid
graph TD
start([ ]) --> arr[ arr]
arr --> len[len = arr.length]
len --> i[i = 0]
i --> {i < len}
--yes--> j[j = 1]
j --> {"j < len - i ?"}
--yes--> {"arr[j - 1] < arr[j] ?"}
--yes--> ["int temp = arr[j - 1]"]
--> aj["arr[j - 1] = arr[j]"]
aj --> aj-1["arr[j] = temp"]
aj-1 --> j ["j++"]
j -->
--no--> j