欢迎来到天天文库
浏览记录
ID:44211465
大小:221.00 KB
页数:36页
时间:2019-10-19
《C语言经典课件第2章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、程序的灵魂——算法第二章什么是程序?沃思公式:数据结构+算法=程序:对数据的描述。要指定数据的类型、数据的组织形式。:对操作的描述,即操作步骤。具体化:程序=算法+数据结构+程序设计方法+语言工具算法算法解决的问题是做什么和怎么做2.1算法的概念做任何事都有一定的次序和步骤如:召开会议,购物等从广义的角度——算法是为解决一个问题而采取的方法和步骤。注意:解决同一个问题可以有不同的方法和步骤,方法有优劣之分.即同一个问题可以有多种不同的算法,可以对算法进行评价。通常采用算法复杂度来描述一个算法的优劣。算
2、法复杂度包括了时间复杂度和空间复杂度。通常时间复杂度和空间复杂度是相互矛盾的。优先选用简单的和运算步骤少的算法!计算机算法分两大类别1、数值运算算法2、非数值运算算法目的是求数值解,算法成熟种类繁多,要求各异,难以规范2.2简单算法举例例1求1×2×3×4×5原始方法:1×2,得2;2×3,得6;6×4,得24;24×5=120①②③④通用的方法:设两个变量(被乘数/乘积p,乘数i)S1:1=>pS2:2=>iS3:p×i=>pS4:i+1=>iS5:若i≤5,返回s3;否则结束S1:1=>pS2:3
3、=>iS3:p×i=>pS4:i+2=>iS5:若i≤11,返回S3;否则结束如果题目改为求1×3×5×7×9×11用这种方法表示的算法具有通用性、灵活性例2有50个学生,要求将他们之中成绩在80分以上者打印出来.用n表示学生学号,n1代表第一个学生学号,ni代表第i个学生的学号,g代表学生成绩,gi代表第i个学生成绩。算法如下:S1:1=>iS2:若gi≥80则打印ni和gi,否则不打印S3:i+1=>iS4:若i≤50返回s2,否则算法结束例3判断2000-2500年中的每一年是否闰年,将结果输出
4、闰年的条件:①能被4整除,但不能被100整除的年份都是闰年,如1996,2004年是闰年;②能被100整除,又能被400整除的年份是闰年,如1600,2000年是闰年。y不能被4整除①y能被4整除但不能被100整除②闰年非闰年③y能被100整除又能被400整除闰年④其他非闰年不符合这两个条件的年份不是闰年。算法如下:设y为被测的年份S1:2000=>yS2:若y不能被4整除,输出y“不是闰年”,然后转到S6S3:若y能被4整除,不能被100整除,则输出y“是闰年”,然后转到S6S4:若y能被100整除
5、,又能被400整除,则输出y“是闰年”,然后转到S6S5:输出y“不是闰年”S6:y+1=>yS7:当y≤2500时转S2,否则算法结束例2.4求1-1/2+1/3-1/4+…+1/99-1/100算法:S1:sign=1S2:sum=1S3:deno=2S4:sign=(-1)*signS5:term=sign×(1/deno)S6:sum=sum+termS7:deno=deno+1S8:若deno≤100返回S4,否则算法结束Sum表示累加和,deno表示分母,sign表示数值的符号,term表
6、示某一项例5对一个大于等于3的正整数,判断它是否为素数.素数:除了1和该数本身之外,不能被其他任何整数整除的数.如:13判断素数的方法:将一个大于等于3的正整数n作为被除数,将2到n-1各个数轮流作为除数,如果都不能被整除,则n为素数。S1:输入n的值S2:2=>iS3:n被i整除,得余数rS4:若r=0,表示n能被i整除,则n不是素数,算法结束;否则顺序执行到S5S5:i+1=>iS6:若i≤n-1,返回S3;否则n是素数,算法结束。注:S6中的“若i≤n-1”可改为“若i≤n/2”或“若i≤2.3
7、算法的特性一个算法应具有以下特点:1.有穷性2.确定性3.有零个或多个输入4.有一个或多个输出5.有效性2.4怎样表示一个算法1.用自然语言表示算法2.用流程图表示算法通俗易懂,但文字冗长,容易产生歧义。用一些图框表示各种操作,用图形表示算法。直观形象,容易理解。起止框输入输出框判断框处理框流程线连接点注释框例1求1×2×3×4×5S1:1=>pS2:2=>iS3:p×i=>pS4:i+1=>iS5:若i≤5,返回s3;否则结束循环体开始1=>p2=>ip×i=>pi+1=>ii≤5N结束Y例2有50
8、个学生,要求将他们之中成绩在80分以上者打印出来.S1:1=>iS2:若gi≥80则打印ni和gi,否则不打印,顺序执行S3:i+1=>iS4:若i≤50返回s2,否则算法结束开始1=>igi≥80Y打印ni和giNi+1=>ii≤50YN结束用三种基本结构ABab..顺序结构选择结构pAB成立不成立..ab循环结构当型(while)结构p成立A.ba.Ap不成立成立ab..直到型(until)结构共同特点P253.用N-S流程图表示算法AB顺序结构选择
此文档下载收益归作者所有