CSDN创建流程图的方法——Markdown笔记

如何使用CSDN创建流程图

因为CSDN文章使用的是Markdown 语言,创建流程图需要用特定的语句,以下是一些创建时的方法及注意点。

如何创建

因为在Markdown中Flowchart流程图和我们用到的流程图一样,所以使用Flowchart流程图

Created with Raphaël 2.3.0 开始 输入a a++ a>100? 结束 yes no

代码

```mermaid
flowchat /*开始标识*/
st=>start: 开始 /*定义st为start类型的节点,上面写“开始”*/
e=>end: 结束
in=>inputoutput: 输入a
op=>operation: a++
cond=>condition: a>100?

st->in->op->cond /*连接节点的顺序*/
cond(yes)->e	
cond(no)->op /*判断语句*/
```/*结束标识*/

节点类型

  1. start 程序开始节点
  2. end 程序结束节点
  3. operation 矩形框,普通语句
  4. condition 菱形框,判断语句
  5. inputoutput 平行四边形框,输入输出语句

注意点

1.冒号和名称之间需要有一个空格
2.condition型需要增加判断语句

cond(yes)->e
cond(no)->op 

3.在连接顺序时condition类型的节点后面一般不再添加节点,后面的节点通过判断语句连接

```mermaid
flowchat
st=>start: 开始
end=>end: 退出
op1=>operation: 主程序
cond=>condition: 菜单
op2=>operation: 进行运算
op3=>operation: 输出结果

st->op1->cond
cond(yes)->op2->op3
cond(no)->end
```/*结束*/

4.在节点名称后加上left、right、bottom可以控制从哪个方向伸出箭头与下一节点连接

```mermaid
flowchat
st=>start: 开始
e=>end: 结束
in=>inputoutput: 输入a
op=>operation: a++
st->in(right)->op
```/*结束*/
Created with Raphaël 2.3.0 开始 输入a a++

问题解决

当流程图比较复杂时,容易出现重叠的现象,可以要通过以上第四点来解决这一问题

修改前

Created with Raphaël 2.3.0 开始 主程序 菜单 退出 输入表达式 判断优先级 进行运算 输出结果 yes no

修改后

```mermaid
flowchat
st=>start: 开始
end=>end: 退出
op1=>operation: 主程序
cond=>condition: 菜单
op3=>operation: 输入表达式
op4=>operation: 判断优先级
op5=>operation: 进行运算
op6=>operation: 输出结果

st->op1->cond
cond(no)->op3->op4->op5->op6(right)->cond
cond(yes)->end
```/*结束*/
Created with Raphaël 2.3.0 开始 主程序 菜单 退出 输入表达式 判断优先级 进行运算 输出结果 yes no

可以进行优化

```mermaid
flowchat
st=>start: 开始
end=>end: 退出
op1=>operation: 主程序
cond=>condition: 菜单
op3=>operation: 输入表达式
op4=>operation: 判断优先级
op5=>operation: 进行运算
op6=>operation: 输出结果

st->op1->cond
cond(no)->op3->op4->op5->op6(left)->cond
cond(yes,right)->end
```/*结束*/
Created with Raphaël 2.3.0 开始 主程序 菜单 退出 输入表达式 判断优先级 进行运算 输出结果 yes no

附录:如何解决插入图片有水印的问题

删去链接中自动添加的watermark/…及其之后的内容

上一篇:大话设计-工厂模式


下一篇:Java设计模式学习笔记三