鱼C论坛

 找回密码
 立即注册
查看: 54152|回复: 139

[扩展阅读] 使用流程图来描述你的程序

    [复制链接]
发表于 2016-1-20 16:49:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
使用流程图来描述你的程序


前边小甲鱼一直用自然语言来描述程序。对于不存在分支和循环等复杂结构的程序来说,自然语言其实是够用的。就像记流水账一样,一条路走到黑……

比如一个程序你直接描述成“先 XX,再 OO,然后 XX,完了再 OO,没事你就继续 XX,还得再 OO,最后 XXXX”这样的形式。

虽然使用自然语言描述程序通俗易懂,但文字冗长,并且容易产生歧义!比如“这根香蕉不大好吃”,哎,妹子,你到底是说“这根香蕉不大,好吃!”,还是说“这根香蕉不好吃!”呢?

但自从我们接触了分支结构,整个程序就变得活泼起来了!

所以,我们今后统一使用流程图来描述程序。

流程图是用一些图框来表示各种操作,直观形象

test.png


举个栗子你就懂了,比如 S1E11 中的程序:
#include <stdio.h>

int main()
{
        int i;

        printf("您老贵庚啊:");
        scanf("%d", &i);

        if (i >= 18)
        {
                printf("进门左拐!\n");
        }
        else
        {
                printf("慢走不送!\n");
        }

        return 0;
}
画成流程图就是酱紫:

if (1).png
注:判断框左右的“Y”和“N”分别表示表达式的值为“真”和“假”的两种情况。

再比如这个程序:
#include <stdio.h>

int main()
{
        int i;

        printf("请输入成绩:");
        scanf("%d", &i);

        if (i >= 90)
        {
                printf("A\n");
        }
        else if (i >= 80 && i < 90)
        {
                printf("B\n");
        }
        else if (i >= 70 && i < 80)
        {
                printf("C\n");
        }
        else if (i >= 60 && i < 70)
        {
                printf("D\n");
        }
        else
        {
                printf("E\n");
        }

        return 0;
}
画成流程图就是酱紫:

if-else-if.png

很容易对吧,赶紧把这个新技能 get√ 起来


最后,有鱼油可能会问:那我用什么工具来画流程图呢?

微软有个神奇的法器:Visio

不过……

搜狗截图20160120223337.png

微软你真的是打算来中国卖软件的吗?

建议有购买意向的壕们先买个 U 盘支持下小甲鱼 -> 传送门


咱还是有免费优秀的工具推荐的。

Visio 小甲鱼是肯定不支持大家购买的,当然,特殊渠道获得除外……


这儿给大家推荐一个在线就能绘制流程图的网址:https://www.processon.com

非常专业,还是免费的!

搜狗截图20160120224326.jpg

点击“Sign Up”

搜狗截图20160120224634.jpg

支持企鹅和微博同步登陆,非常方便,连账号都不用注册了~


下边教大家如何简单的创建一个流程图:

搜狗截图20160120232101.jpg

登陆后,依次点击“Diagrams”->“My Diagrams”->“New Diagram”

搜狗截图20160120233157.jpg

这儿提供了许多模板供你选择,点击“Blank”-> 在 File Name 处给你的流程图命名 -> 点击“Create”创建一个空白的模板:

搜狗截图20160120233610.jpg

左侧是代表各种功能的图框,直接用鼠标拖拽过来即可!


噢,对了,最重要的一点:

搜狗截图20160120233846.png

有中文……

话说好像我最开始的时候忘了说了……


评分

参与人数 6荣誉 +22 鱼币 +17 贡献 +9 收起 理由
孤独枫 + 5 + 5 + 1 Processon真好用
shatanzongcai + 5 + 5 + 3
段软w + 3 + 3 + 3 感谢楼主无私奉献!
imecco + 5 + 5 + 3
.别嘞我. -1 -1 -1 叫你皮,有中文不早说 (╬ ̄皿 ̄)=○
流泪的小鳄鱼 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-21 15:26:03 From FishC Mobile | 显示全部楼层
辛苦啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 4 反对 0

使用道具 举报

发表于 2016-1-22 18:23:47 | 显示全部楼层
小甲鱼老师之前有一个统计打了多少行代码的程序,我找不到在哪了?
能发个链接吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 12 反对 0

使用道具 举报

 楼主| 发表于 2016-1-23 00:36:44 | 显示全部楼层
Axel-F 发表于 2016-1-22 18:23
小甲鱼老师之前有一个统计打了多少行代码的程序,我找不到在哪了?
能发个链接吗?

这一节课后作业:http://bbs.fishc.com/thread-66283-1-1.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 3 反对 0

使用道具 举报

发表于 2016-1-23 20:30:36 | 显示全部楼层
小甲鱼 发表于 2016-1-23 00:36
这一节课后作业:http://bbs.fishc.com/thread-66283-1-1.html

谢谢!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-23 22:06:37 | 显示全部楼层
收藏了,挺好的,不太会用,条件分支中横折的不太会画,画出来的箭头容易是横的,不太容易弄成竖的箭头。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-24 05:04:06 | 显示全部楼层
tigermali 发表于 2016-1-23 22:06
收藏了,挺好的,不太会用,条件分支中横折的不太会画,画出来的箭头容易是横的,不太容易弄成竖的箭头。


用最后边介绍的在线软件即可,通过拖拽圆点可以直接连接两个框框~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-24 12:26:13 | 显示全部楼层
小甲鱼 发表于 2016-1-24 05:04
用最后边介绍的在线软件即可,通过拖拽圆点可以直接连接两个框框~

OK,会了,先画框再拖线,不用先画线。谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-24 14:03:00 | 显示全部楼层
新技能get
原来一直用Word内置的流程图.....后来接触了Xmind.....现在才发现这网站才是我需要的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-26 08:42:59 | 显示全部楼层
流程图很少用。。。。
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-26 18:50:34 | 显示全部楼层
为什么我打开是中文的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-27 20:40:34 | 显示全部楼层
大爱这个教程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-2-16 10:13:13 | 显示全部楼层
可以的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-6-2 12:33:20 | 显示全部楼层
写的随堂代码   只能输出 :请输入分数     输入分数后没反应     不知道原因   ,呼叫小甲鱼老师
#include <stdio.h>
int  main()
{
        int i ;
        printf("请输入分数:");
        scanf("%d\n",&i);
         
         if (i >= 90)
        {
                       printf("A\n");
        }
        else if (i>=80 && i<90)
        {
                       printf("B\n");
        }
        else if (i>=70&&i<80)
        {
                        printf("C\n");
         }
        else if (i>=60&&i<70)
        {
                    printf("D\n");
         }
        else
        {
                    printf("E\n");
         }
        return  0 ;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2016-9-22 20:18:50 | 显示全部楼层
长渊 发表于 2016-6-2 12:33
写的随堂代码   只能输出 :请输入分数     输入分数后没反应     不知道原因   ,呼叫小甲鱼老师
#includ ...

是不是这里的问题 我才学到这 嘿嘿  空格的事么
else if (i >= 70 && i < 80)
else if (i >= 60 && i < 70)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-10-4 10:08:26 | 显示全部楼层
谢谢小甲鱼,你太棒了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-24 19:14:36 | 显示全部楼层
。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-1 23:02:27 | 显示全部楼层
长渊 发表于 2016-6-2 12:33
写的随堂代码   只能输出 :请输入分数     输入分数后没反应     不知道原因   ,呼叫小甲鱼老师
#includ ...

scanf("%d\n", & i );
把\n去掉就可以了,如果不去掉的话,输入分数后还要输入\n才会显示结果的,我刚才试过的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-2 07:27:19 | 显示全部楼层
a89361461 发表于 2017-6-1 23:02
把\n去掉就可以了,如果不去掉的话,输入分数后还要输入\n才会显示结果的,我刚才试过的

嗯嗯  是这样子    刚好一整年前的问题了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-7-11 17:24:28 | 显示全部楼层
行行好,送点鱼币吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 19:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表