资源描述:
《自考计算机基础与程序设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、算法及结构化程序设计第五章算法及结构化程序设计第一节算法及算法的表示方法第二节顺序结构第三节选择结构第四节循环结构2共26页第3页§5-1算法及算法的表示方法程序=数据结构+算法数据结构:对数据的描述;确定程序需要使用的数据,数据的类型和数据的组织形式。算法:用计算机解决一个实际问题的方法和步骤。举例:输入圆的半径,输出圆的面积数学模型:数据结构:使用2个数据,半径和面积半径和面积都是实型数据算法:1)输入半径2)求面积3)输出面积main(){floatR,S;scanf(“%f”,&R);S=3.1415926*R*R;printf(“S=%
2、f”,S);}程序设计的过程(实际问题-->程序):1)从实际问题抽象出数学模型2)确定数据结构3)设计出解决问题的步骤(即算法)4)编写程序:将数据结构和算法用具体的程序设计语言(c语言)编写出来5)调试、运行程序共26页第4页§5-1算法及算法的表示方法同一问题,可以有多种算法问题:求1×2×3×4×5算法1:步骤1:使N=1×2;步骤2:使N=N×3;步骤3:使N=N×4;步骤4:使N=N×5;步骤5:输出N算法2:步骤1:使N=1;步骤2:使P=2;步骤3:使N=N×P;步骤4:使P的值加1,即P=P+1;步骤5:如果P大于5,则转步骤6
3、执行,否则转步骤3步骤6:输出N1)N=1,P=2;N=1*2,P=33不大于5,转步骤32)N=1*2,P=3;N=1*2*3,P=44不大于5,转步骤33)N=1*2*3,P=4;N=1*2*3*4,P=55不大于5,转步骤34)N=1*2*3*4,P=5;N=1*2*3*4*5,P=66大于5,转步骤6通用性、灵活性更好算法不同,编写出来的程序就不同,所以算法是程序的灵魂§5-1算法及算法的表示方法算法的特性1)有穷性:算法应在有限步骤内结束,不能是无限的2)确定性:算法中的每个步骤含义明确,无二义性。3)可行性:算法中的每个步骤应该能有效
4、执行,并得到确定的结果举例:intb=0;c=2/b;4)输入:一个算法应具有零个或多个输入。5)输出:一个算法应具有一个或多个输出。§5-1算法及算法的表示方法算法的特性1)对于使用程序的用户而言,程序是一个黑匣子,仅关心程序功能,知道输入和输出,不关心具体如何实现2)对于程序设计人员而言,必须知道程序的具体实现.能根据问题,设计算法,并根据算法来编写程序程序求圆面积半径r面积s§5-1算法及算法的表示方法算法的表示方法1)自然语言用汉语、英语或其他语言来描述解决问题的步骤容易出现歧义性例如:张先生对李先生说他的孩子考上了大学算法1:步骤1:使
5、N=1×2;步骤2:使N=N×3;步骤3:使N=N×4;步骤4:使N=N×5;步骤5:输出N§5-1算法及算法的表示方法算法的表示方法2)传统流程图用各种框图来表示各种操作判断框处理框输入/输出框流程线n=1;a>b输入Rn=1;m=2;箭头指出程序执行的流向例:起止框注释框连接点§5-1算法及算法的表示方法用传统流程图表示算法算法1:步骤1:使N=1×2;步骤2:使N=N×3;步骤3:使N=N×4;步骤4:使N=N×5;步骤5:输出NN=1×2输出NN=N×3N=N×4N=N×5开始结束处理框输入/输出框流程线起止框用流程线指出程序执行的顺序§
6、5-1算法及算法的表示方法用传统流程图表示算法算法2:步骤1:使N=1;步骤2:使P=2;步骤3:使N=N×P;步骤4:使P的值加1,即P=P+1;步骤5:如果P大于5,则转步骤6执行,否则转步骤3步骤6:输出NN=1输出NP=2N=N×PP=P+1开始结束P>5yN处理框输入/输出框流程线判断框起止框§5-1算法及算法的表示方法用传统流程图表示算法数据结构?算法?数据结构:三个变量a,b,max,整型步骤1:输入两个数,存放到变量a,b中步骤2:如果a>b,则转步骤3执行,否则转步骤4步骤3:使max=a,转步骤5步骤4:使max=b步骤5:输
7、出max输出maxMax=aMax=b开始结束a>byN处理框输入/输出框流程线判断框起止框举例:输入两个数,输出较大的数输入两个数§5-1算法及算法的表示方法步骤1:输入两个数,存放到变量a,b中步骤2:如果a>b,则转步骤3执行,否则转步骤4步骤3:使max=a,转步骤5步骤4:使max=b步骤5:输出max举例:输入两个数,输出较大的数输出maxMax=aMax=b开始结束a>byN输入两个数输出maxMax=aMax=b开始结束a>byN输入两个数§5-1算法及算法的表示方法程序的执行流程N=1×2输出NN=N×3N=N×4N=N×5开始
8、结束N=1输出NP=2N=N×PP=P+1开始结束P>5yN输出maxMax=aMax=b开始结束a>byN输入两个数§5-1算法及算法