一个农民带着一只狼一只羊一筐白菜,一个农民的儿子

  

  通过一个简单的C程序让大家认识了昨天的C语言。回头看看C语言程序的格式是   

  

  1.有一个头文件。   

  

  2.有一个主函数main。   

  

  3.其中一些组成了函数体。   

  

  4.每个执行语句后面都跟有“;”   

  

  5.英文字符一般不能大写。   

  

  其实这些都是数据结构。计算机科学家尼克劳斯沃斯说,数据结构算法=程序。那么数据结构和算法是什么关系呢?   

  

  把数据结构比作一个人的身体,那么算法就是人的灵魂。   

  

  该算法应具有以下特征:   

  

  1.贫穷   

  

  所有的算法都要在有限的步骤执行完之后才算完成,每一步都要在有限的时间内完成,不能无限执行。   

  

  你得给他一个在线算法。比如你做一个从小到大累加整数的程序,那么你一定要注意设置一个上限,否则程序会无限运行,进入无限循环。   

  

  2、确定性   

  

  算法的每一步都必须精确定义。比如昨天提到的完整C程序,每一步只能定义一次,不能有第二次定义。你还得对将要出现的每一个动作做一个严格清晰的定义。   

  

  3.可行性   

  

  你的算法的每一步你都要能够让它有效运行,也就是说,算法是可以执行的,你需要在最后的结果中得到正确的答案。   

  

  看下图。下图的代码肯定是无效的。z=x/y,这是无效的,因为0不可能是分母。   

  

  4.有投入。   

  

  一个算法可以有一个或多个输入,也可以没有输入。   

  

  5.有输出。   

  

  一个算法可以有一个或多个输出,就像HELLO,WORD Word最后在控制台上输出一样。如果你的程序运行没有任何意义,那么这个程序就失去了意义。   

  

     

  

  那么我们如何描述算法呢?   

  

  常用的算法,有自然语言,流程图,N-S流程图。让我们一个一个地学习它们。   

  

  什么是自然语言?我们的日常对话是自然语言。   

  

  案例1:   

  

  举个例子,有个农民想把一只羊、一只狼和一袋白菜运到河对岸,但是他的船太小了,一次只能装下自己和另一个。他不能把狼和羊放在一起,也不能把羊和白菜放在一起。那么农民应该怎么做呢?   

  

  1.先运羊。   

  

  2.回来运狼。   

  

  3.把狼晕过去后,把羊运回来。   

  

  4.把羊放到出发位置,运白菜。   

  

  5.回来运羊   

  

  这一系列的描述就是自然语言的描述。先说流程图。在讲流程图之前,我先给大家看一下流程图的符号:   

  

     

  

  一般来说,流程图只有三种结构:   

  

  1序列结构   

  

  这是一个从上到下的简单结构。   

  

     

  

  2.选择结构   

  

  选择结构也叫分支结构,选择结构中必须有一个判断框。   

  

     

  

  3.圆形结构   

  

  重复执行一系列操作,直到条件不成立,可分为时循环和知循环两种。   

  

     

  

     

  

  N-S流程图不是由b .内德曼提出的。他只是去掉了流水线,把所有的算法都写在一个矩形框里。   

  

  1序列结构   

  

     

  

  2.选择结构   

  

     

  

  3.圆形结构   

  

     

  

  我们今天所学的是基础。接下来,我们将进入c的世界,你准备好了吗?   

  

  给想要软件VS2017的人留下你的评论。   

相关文章