用自然语言与流程图描述算法ppt课件.ppt
算法和程序设计,第2课 算法和算法描述的方法,第2课 算法和算法描述的方法,一个实例,求:s=1+2+3+4+5 的问题,两种解题方法的区别,1、理解和分析面临的问题,2、寻找解题方法,3、用纸、笔、计算器进行计算,4、验证计算结果,人工解题:,计算机解题:,1、理解和分析求解的问题,2、寻找解题方法,3、生成解题算法,4、选择语言并根据 算法骗写程序,5、编辑、编译、连接产生计算机能识别的指令,6、执行指令,求:s=1+2+3+4+5,规律:ss+i,ii+1,求:s=1+2+3+4+5 的问题,解一:,(1+5)5/2=15,解二:,S=0,S=1,S=1+2,S=1+2+3,(等差),ss+i,ii+1,第2课 算法和算法描述的方法,另一个实例,1、农夫带狼、山羊、蔬菜过河的问题,一个农夫带着一条狼、一头山羊和一篮蔬菜过河,但只有一条小船。每次只能让农夫带一样东西过河,而且农夫在场的情况下三样东西将相安无事。一旦农夫不在,狼会吃羊,羊会吃蔬菜。问农夫如何能安全地带这三样东西过河?,过河步骤:,1、农夫带羊过河,2、农夫回来,3、把狼带过河,4、把羊带回来,5、带蔬菜过河,6、农夫回来,7、把羊带过河,解一:,解二:,1、农夫带羊过河,2、农夫回来,3、带蔬菜过河,4、把羊带回来,5、把狼带过河,6、农夫回来,7、把羊带过河,过河步骤区别:,1、农夫带羊过河,2、农夫回来,3、把狼带过河,4、把羊带回来,5、带蔬菜过河,6、农夫回来,7、把羊带过河,3、带蔬菜过河,5、把狼带过河,什么是算法 ALGORITHM,(求解某一问题,所执行的一系列操作步骤的规则。),(特点:有限的、可行的、确定的),算法:是在有限步骤内求解某一问题所使用的一组定义明确的规则,算法的表示方法,自然语言描述算法=日常语言+数学符号,自然语言 流程图 伪代码,过河步骤:,1、农夫带羊过河,2、农夫回来,3、把狼带过河,4、把羊带回来,5、带蔬菜过河,6、农夫回来,7、把羊带过河,解一:,解二:,1、农夫带羊过河,2、农夫回来,3、带蔬菜过河,4、把羊带回来,5、把狼带过河,6、农夫回来,7、把羊带过河,用自然语言描述算法:,2、s0,3、i1,4、如果i=n,做5,5、ss+i,6、ii+1,7、执行4,否则输出s,结束,1、输入n的值,求:s=1+2+3+4+5 的问题,用流程图来描述算法,起始,输入n,i1,s0,i=n,ss+i,ii+1,输出 s,结束,y,n,用伪代码(类C)来描述算法,算法开始,输入n的值;,i1;,s0;,While(i=n),ss+i;,ii+1;,输出 s 的值;,算法结束,可以加注解,/*为 i 赋初值*/,/*为s 赋初值*/,/*循环语句*/,/*循环开始*/,/*把 i 累加到 s*/,/*记数*/,/*循环结束*/,两个基本要素:,A、变化规律,B、初始状态,s=1+2+3+4+5,1、用自然语言描述算法:,s=1+2+3+4+5,S=0,S=0+1,S=1+2(s=3),S=1+2+3(s=6),S=1+2+3+4(s=10),S=1+2+3+4+5(s=15),i,规律:,ss+i,请用自然语言描述下题的算法:,S=1+2+3+4+5+6(s=21),S=1+2+3+4+5+6+7(s=28),S=1+2+3+4+5+6+7+8(s=36),+6+7+8,ii+1,i=1,i=2,i=3,i=4,i=5,i=6,i=7,i=8,s=1+2+3+4+5,S=0,S=0+1,S=1+2,S=1+2+3,S=1+2+3+4,S=1+2+3+4+5,用自然语言描述算法:,规律:ss+i,ii+1,1、s0,2、i1,3、ss+i,4、ii+1,5、执行3,1、s0,2、i1,3、如果i=5,做4,4、ss+i,5、ii+1,6、执行3,否则输出s,结束,+6+7+8,S=1+2+3+4+5+6,S=1+2+3+4+5+6+7,S=1+2+3+4+5+6+7+8,8,+n,n,输入n的值,初值?,2、用流程图来描述算法,流程图符号说明:,开始、结束,处理框,判断框,流程线,y,n,1、用自然语言描述算法:,2、s0,3、i1,4、如果i=n,做5,5、ss+i,6、ii+1,7、执行4,否则输出s,结束,1、输入n的值,2、用流程图来描述算法,流程图符号说明:,输入n,s0,i1,i=n,ss+i,ii+1,输出 s,y,n,用流程图来描述算法,用自然语言描述算法:,2、s0,3、i1,4、如果i=n,做5,5、ss+i,6、ii+1,7、执行4,否则输出s,结束,1、输入n的值,起始,结束,用流程图来描述算法,输入n,s0,i1,i=n,ss+i,ii+1,输出 s,y,n,算法的执行过程:,n:s:i:条件 i=n:,6,1,0,真,+1,+1,真,+2,+1,真,+3,+1,真,+4,+1,真,+5,+1,真,+6,+1,假,输出 s 的值为:21,起始,结束,用流程图表示:s=12345 n,修改此流程图,S=1,S=12,S=123,S=1234,S=12345,规律:,ii+1,用流程图表示:s=12345 n,初值:,ssi,s1,i1,1,用流程图表示:s=12345 n,1,输入n,s1,i1,i=n,ss i,ii+1,输出 s,y,n,起始,结束,总结:一、算法的基本概念与特点,求解某一问题,所执行的一系列操作步骤的定义规则。,特点:有限的、可行的、确定的,二、用自然语言与流程图描述算法,(1)初始值(2)变化规律,