欢迎来到天天文库
浏览记录
ID:48027229
大小:583.50 KB
页数:22页
时间:2020-01-10
《C语言-算法与流程图.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、目录第一章绪论第二章算法与流程图第三章数据类型、运算符和表达式第四章程序的控制结构第五章函数第六章数组第七章指针第八章结构体第九章文件操作第二章算法与流程图1、程序=数据结构+算法2、简单算法举例3、算法特性4、算法的自然语言表示5、算法的流程图表示6、算法的伪代码表示1、程序=数据结构+算法NiklausWirth,designerofPascalWirth,Niklaus(1976)(inEnglish).Algorithms+DataStructures=Program.PrenticeHall.0130224189.ISBN978-013022418
2、7程序:为计算机解题编制的一组指令集算法:处理问题的策略数据结构:处理信息的表示TuringAward,19842、简单算法举例求和:1+1/2+1/3+1/4+1/5+…+1/100蛮力法:S1:先计算1/2=0.5,再与1相加得1.5S2:计算1/3=0.33333,与1.5相加得1.83333S3:计算1/4=0.25,与1.83333相加得2.08333…S99:计算1/100=0.01,与5.177378相加得5.187378。2、简单算法举例求和:1+1/2+1/3+1/4+1/5+…+1/100改进的算法:S1:初始化sum=0,i=1S2:如
3、果i≤100,执行S3;否则执行S5S3:sum=sum+1/iS4:i=i+1,跳转到S2S5:输出sum,算法结束2、简单算法举例从3个数A、B、C中找出最大的数。算法1:S1:如果A>B,执行S2;否则执行S3S2:如果A>C,执行S4;否则执行S6S3:如果B>C,执行S5;否则执行S6S4:输出AS5:输出BS6:输出C2、简单算法举例从3个数A、B、C中找出最大的数。算法2:S1:初始化max=AS2:如果A>B,执行S3;否则max=B,执行S3S3:如果max>C,执行S4;否则max=C,执行S4S4:输出max算法的五个特点:有输入(In
4、put):零个或多个输入。有输出(Output):一个或多个输出。有穷性(Finiteness):对于任意一组合法的输入值,在执行有穷步骤之后一定能结束。可行性(Effectiveness):所有操作都可通过已经实现的基本操作运算有限次来实现。确定性(Definiteness):算法中每一步的描述都无二义性,只要输入相同,初始状态相同,无论执行多少遍,结果都应该相同。TuringAward,19743、算法的特性“好”算法的特点:正确性(Correctness):满足问题的需求。易读性(Readability):便于理解、测试和修改。健壮性(Robustne
5、ss):输入非法数据时,算法能做出适当处理,不会产生难以预料的结果。时空效率(Efficiency):执行时间短,低存储。3、算法的特性4、算法的自然语言表示优点通俗易懂缺点文字冗长、不直观不适合描述分支循环结构从3个数A、B、C中找出最大的数。S1:如果A>B,执行S2;否则执行S3S2:如果A>C,执行S4;否则执行S6S3:如果B>C,执行S5;否则执行S6S4:输出AS5:输出BS6:输出C5、算法的流程图表示从3个数A、B、C中找出最大的数。开始结束输入A,B,CA>BA>CC>B输出B输出C输出A是是是否否否5.1流程图基本单元起止框输入/输出框
6、处理框判断框连结点流程线5.2流程图绘制例输入50个学生的姓名和成绩,输出不及格学生的名单。开始结束i=1输入ni,sii>50是i=1si<60输出nii=i+1i>50是i=i+1否是否否5.2流程图绘制例输入50个学生的姓名和成绩,输出不及格学生的名单。开始结束i=1输入ni,sii>50是i=1si<60输出nii=i+1i>50是i=i+1否是否否115.3三种基本结构对应流程图(1)顺序结构AB5.3三种基本结构对应流程图(2)选择结构ABp是否5.3三种基本结构对应流程图(3)循环结构:当型while(p){B;}Bp是否5.3三种基本结构对应
7、流程图(3)循环结构:直到型do{B;}while(p);Bp是否5.4作业(1)用流程图表示判断闰年的算法。(2)用流程图表示判断一个正整数是否是素数的算法。5.5用伪代码表示算法用介于自然语言和计算机语言之间的文字和符号表示算法无固定严格的语法规则begin…endif…else…do…whilewhile…=,==input,print例如:求和算法的伪代码1+1/2+1/3+1/4+1/5+…+1/100beginsum=0i=1while(i≤100)beginsum=sum+1/ii=i+1endprintsumend本章小结“好”算法的特点算法
8、的流程图表示
此文档下载收益归作者所有