有关程序中流程图的问题
小弟我是新手(连新人都算不上),刚刚接触c#,听网上不少牛人说是流程图对于程序来说就相当于是一份指导书,我也认为流程图很重要,但是我自己画就画的乱七八糟。
例如有这么一道题:不断的输入一个数字,然后输出这个数字的2倍,当输入为q时,结束程序。我是新手,是在控制台的模式下编辑的,下面的是我的程序:
string input="";
int number = 0;
bool flag = true;
Console.WriteLine("请输入一个数字(q结束)");
input = Console.ReadLine();
if (input == "q")
{
flag = false;
}
while (flag)
{
try
{
number = Convert.ToInt32(input);
Console.WriteLine("{0}的2倍是{1}", number, number * 2);
Console.WriteLine("请输入一个数字(q结束)");
input = Console.ReadLine();
}
catch
{
if (input != "q")
{
Console.WriteLine("您输入了错误字符,请输入q结束");
input = Console.ReadLine();
flag = true;
}
else
{
flag = false;
}
}
}
Console.WriteLine("程序结束");
这个程序倒是能运行,但是我按照这个程序画流程图时却画的乱七八糟,希望坛子里的个位高手能够帮我画个标准的流程图,让我也学习一下。
--------------------编程问答--------------------
呵呵,你如果不是学编程的中学生的话,不要画流程图,多幼稚,会显得不专业,
--------------------编程问答--------------------
我在做小程序时,不画流程图也觉得没什么。但是稍微大一点的话,就会一会觉得少考虑了一个问题,一会觉得少考虑了一个问题,这应该就是没画流程图的缺点,或者还是说是其他什么原因?
--------------------编程问答--------------------
stonespace老大,可是做稍微大一点的程序的话,我就会觉得脑子有点乱啊
--------------------编程问答--------------------
stonespace老大,可是做稍微大一点的程序的话,我就会觉得脑子有点乱啊
--------------------编程问答--------------------
流程图无法理顺你的思路,流程图密度很低,几行代码就要画一页纸的图,你哪里有这么多版面画图,初学者可以用,但如果你要写程序的话,你还是需要找到不画图理清思路的方法,
--------------------编程问答--------------------
老大,介绍你一下你的经验吧,我现在急需有人来指导我点破那层窗户纸啊
--------------------编程问答--------------------
没那么复杂吧。
只有几个判断分支而已
理一理思路。。
这个理不出来怎么编程?
--------------------编程问答--------------------
倒是能理出来,可就怕遇到大型程序就理不出来了
--------------------编程问答--------------------
http://bbs.csdn.net/topics/390349762
--------------------编程问答--------------------
多谢,受教了
--------------------编程问答--------------------
没什么诀窍,你就这样不画流程图写程序,多写程序,到你能写出几千行程序的时候,你就发现流程图其实一点用都没有,
其实程序一开始逻辑不完善不要紧,先把主要部分写出来,然后再回头去把各个分支异常处理部分补充完整,然后测试,测试中你会发现原先思路不完善的地方,然后再修改程序,
--------------------编程问答--------------------
如我所说,流程图之所以没有用不在于你写程序多么熟练,你的程序很大还是很小。流程图也可以视为对程序的一种抽象描述,用流程图还是不用的关键就是你用的编程语言的抽象能力和结构化表现力如何,流程图被用作编程语言更高级的抽象过程,而如果你的程序本身都超过流程图的抽象过程了,那么哪怕你是新手,哪怕你只写几行代码,也用不到流程图。相反,如果让我用汇编(事实上现在的宏汇编也是结构化的了)或者抽象程度很低的语言,我还是会画流程图——只是这些语言早就过时了。
--------------------编程问答--------------------