资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
算法初步复习课算法的基本特点1、有穷性一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束。2、确定性算法的计算规则及相应的计算步骤必须是唯一确定的,既不能含糊其词,也不能有二义性。3、可行性算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果 。一、算法的概念一、算法的概念1广义地讲广义地讲 算法是为完成一项任务所应当遵照的一步一步的规则的、精算法是为完成一项任务所应当遵照的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。确的、无歧义的描述,它的总步数是有限的。2 狭义地讲狭义地讲 算法是解决一个问题采取的方法和步骤的描述算法是解决一个问题采取的方法和步骤的描述一、用自然语言表示算法一、用自然语言表示算法二、传统流程图二、传统流程图处理框处理框起止框起止框输入输出框输入输出框判断框判断框流程线流程线1、传统流程图中的基本符号、传统流程图中的基本符号开始输入系数a,b,c求X1、X2输出X1、X2结束求一元二次方程ax2+bx+c=0(a0)的根 任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图. 开始输入a,b,ca+bc,a+c b,b+c a是否同时成立?存在这样的三角形不存在这样的三角形结束否否是是条件结构例3 设计一算法,求和:1+2+3+100结束i = i + 1Sum=Sum + ii=100?否是循环结构直到型结构当型结构语句语句一般格式一般格式主要功能主要功能是否有计是否有计算功能算功能输入语句输入语句输出语句输出语句赋值语句赋值语句INPUT “提示文字提示文字”;变量变量PRINT “提示内容提示内容”;变量变量变量表达式变量表达式可对程序中的可对程序中的变量赋值变量赋值可输出表达式可输出表达式的值,计算的值,计算可对程序中的变量可对程序中的变量赋值,计算赋值,计算无无有有有有INPUT INPUT “A,B=A,B=”;A,B;A,Bt=At=AA=BA=BB=tB=tPRINT PRINT “A,B=A,B=”;A,B;A,BENDEND( (运行时从键盘输入运行时从键盘输入3,7)3,7)A=-1000A=-1000A=A+100A=A+100PRINT PRINT “A=A=”;A;AENDEND 将一个变量的值赋给另一个变量,前一个变量的值保将一个变量的值赋给另一个变量,前一个变量的值保持不变;可先后给一个变量赋多个不同的值,但变量的取持不变;可先后给一个变量赋多个不同的值,但变量的取值总是最近被赋予的值值总是最近被赋予的值 。A=900A,B =7 3p=(2+3+4)/2s=SQR(p*(p2)*(p 3)*(p-4)输出s结束开始p=(2+3+4)/2s=SQR(p*(p2)*(p 3)*(p-4)PRINT “三角形的面积等于”;END条件语句IF 条件条件 THEN 语句语句1ELSE 语句语句2END IFIF 条件条件 THEN 语句语句END IF或INPUT a,b,cIF a+bc AND a+cb AND b+ca THENPRINT “存在这样的三角形”ELSEPRINT “不存在这样的三角形”END IFEND:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.写出这个算法的程序语句. INPUT “a,b,c=”;a,b,cIF b a THEN t = a a = b b = tEND IFIF c a THEN t = a a = c c = tEND IFIF c b THEN t = b b = c c = tEND IFPRINT a,b,cEND相应的QBASIC程序:开始t=a,a=b,b=tt=a,a=c,c=tt=b,b=c,c=t输入a,b,c输入a,b,cba?ca?cb?结束是是是是否否否否是是否否对应的流程图循环结构的程序框图条件成立?循环体否是条件成立?循环体否是程序语句表示WHILE 条件条件 循环体循环体WENDDO 循环体循环体LOOP UNTIL 条件条件根据下面的程序框图写出相应的QBASIC程序结束i = i + 1Sum=Sum + ii100?输出Sum否是i=0,Sum=0开始i = 0sum = 0WHILE i=100?否是 根据下面的程序框图写出相应的QBASIC程序i = 0sum = 0DOi = i + 1sum = sum + iLOOP UNTIL i=100PRINT sumEND直到型语句一、逻辑运算符(个)、”AND”表示条件同时成立时才符合条件、“”表示至少要有一个条件成立时才符合条件、“”表示与条件相反时才符合条件例:“”表示前后的两个条件必须同时成立可以执行后语句“”表示前后的两个条件只需有一个成立可以执行后语句“”表示当时符合条件可以执行后语句在编写程序中值得注意的几个问题?二、关系运算符,有如下运算符:、(小于)、(大于)、(等于)、(大于或等于)、(小于或等于)三、算术运算符、在编写程序中值得注意的几个问题?i = 1f = 1WHILE ini = i + 1f= f *iWENDPRINT fENDINPUT ni = 1sum= oWHILE ini = i + 1sum= sum+(i+1)/iWENDPRINT sumENDINPUT nP24练习第题5习题1.2组第题INPUT xIF x=1 AND x=10 THEN y=3*X-11END IFPRINT yEND5习题1.2组第题6习题1.2组第3题INPUT a,nt=0s=0i=IWHILE i=nt= t+as=s+ta=a*10i=i+1WENDPRINT sEND温馨提示期中考试快到了!你准备好了吗?复习参考题P.40P.40复习参考题复习参考题复习参考题复习参考题A A组第组第组第组第1 1题题题题QBQB源程序源程序源程序源程序INPUT please input a letter; x$IF x$ = C THENPRINT GEND IFIF x$ = h THENPRINT lEND IFIF x$ = i THENPRINT mEND IFIF x$ = n THENPRINT rEND IFIF x$ = a THENPRINT eEND IFIF x$ C OR x$ h OR x$ i OR x$ a OR x$ n THENPRINT ?END IFEND开始输出提出:“输入第一个方程的系数”“x的系数是”:a1“y的系数是”:b1“常数项是”:c1输出“x=”;x“y=”;y方程有无数多组解a1*b2a2*b10x=(c2*b1 c1*b2)/(a1*b2 a2*b1)y=(c2*b1 c1*b2)/(a1*b2 a2*b1)结束输出提出:“输入第二个方程的系数”“x的系数是”:a2“y的系数是”:b2“常数项是”:c2NYc1=c2方程无解P.40复习参考题复习参考题A组第组第2题框图题框图P.40复习参考题复习参考题A组组第第2题题QB源程序源程序 INPUT 请输入第一个方程的系数a1,b1,c1:; a1, b1, c1 INPUT 请输入第二个方程的系数a2,b2,c2:; a2, b2, c2 IF a1 * b2 - a2 * b1 0 THEN x = (c2 * b1 - c1 * b2) / (a1 * b2 - a2 * b1) y = (c1 * a2 - c2 * a1) / (a1 * b2 - a2 * b1) PRINT x=; x PRINT y=; yELSE IF c1=c2 THEN PRINT 方程组有无数多组解ELSE PRINT 方程组无解 END IF END IFEND开始输入一个正整数n输入S的值结束S=0i=1S=S+1/ii=i+1inYNINPUT INPUT 输入一个正整数输入一个正整数n:n:“;n nI = 1I = 1s = 0s = 0While I = nWhile I = 3.21 AND x = 4.2 AND x = 5.21 AND x = 6.22 AND x = 7.23 AND x = 8.23 AND x = 9.23 AND x = 10.23 AND x = 11.22 AND x = 12.22 AND x = 1.2 AND x = 2.19 AND x 6 THEN x = x MOD 7 END IF IF x = 0 THEN p$ = Sunday END IF IF x = 1 THEN p$ = Monday END IF IF x = 2 THEN p$ = Tuesday END IF IF x = 3 THEN p$ = Wednesday END IF IF x = 4 THEN p$ = Thursday END IF IF x = 5 THEN p$ = Friday END IF IF x = 6 THEN p$ = Saturday END IF PRINT p$ ENDP.40复习参考题复习参考题B组第组第1题源程序题源程序开始x1=20x2=21f(x)=1.3x3-26.013x2+0.975x-19.50975x1=mx2=mm=(x1+x2)/2x1=mx2=mf(m)=0f(x1)f(m)0|x1-x2|0.005结束结束输出所求的近似根输出所求的近似根mm=(x1+x2)/2ynnynyP.40复习参考题复习参考题B组第组第2题框图题框图P.41复习参考题复习参考题B组第组第3题题QB源程序源程序INPUT n=; nINPUT n=; ns1 = 0s1 = 0s2 = 0s2 = 0s = 0s = 0i = 1i = 1DODOs1 = s1 + ns1 = s1 + nn = n / 2n = n / 2s2 = s2 + ns2 = s2 + ns = s + s1 + s2s = s + s1 + s2i = i + 1i = i + 1LOOP UNTIL i 10LOOP UNTIL i 10PRINT s1=; s1PRINT s1=; s1PRINT n10=; nPRINT n10=; nPRINT s=; sPRINT s=; sENDEND程序说明:程序说明:S1为向下运动经过的路程;为向下运动经过的路程;S2为向上运动经过的路程;为向上运动经过的路程;n10为第为第10次着地后反弹次着地后反弹的高度;的高度;S为全程经过的路程。为全程经过的路程。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号