&amp#167;1.2.3算法基本语句算法初步

上传人:xinsh****encai 文档编号:148193805 上传时间:2020-10-17 格式:PPT 页数:26 大小:417KB
返回 下载 相关 举报
&amp#167;1.2.3算法基本语句算法初步_第1页
第1页 / 共26页
&amp#167;1.2.3算法基本语句算法初步_第2页
第2页 / 共26页
&amp#167;1.2.3算法基本语句算法初步_第3页
第3页 / 共26页
&amp#167;1.2.3算法基本语句算法初步_第4页
第4页 / 共26页
&amp#167;1.2.3算法基本语句算法初步_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《&amp#167;1.2.3算法基本语句算法初步》由会员分享,可在线阅读,更多相关《&amp#167;1.2.3算法基本语句算法初步(26页珍藏版)》请在金锄头文库上搜索。

1、1.2.3 算法基本语句,算法初步,温故而知新,1、顺序结构常用的程序语言和格式,2、条件结构常用的程序语言和格式,输入语句 INPUT “提示文字”;变量列表,输出语句 PRINT “提示文字”;变量列表,赋值语句 变量=表达式,(1),IF 条件成立 THEN 语句1 ELSE 语句2 END IF,(2),IF 条件成立 THEN 语句 END IF,例5 编写程序,输入一元二次方程,算法描述:,S1:输入a,b,c,S2:计算判别式,S3:如果0有两不同实根, =0有两个相同实根, 0否则没实数根。根据情况输出结果。,开 始,输入a,b,c,=b24ac,p= b/2a,q=SQR(A

2、BS ()/(2a),x1=p+q x2=p-q,0?,x1=x2?,原方程有两个不等 的实数根x1,x2,原方程有两个相等 的实数根x1,x2,原方程无实数根,结 束,是,否,是,否,的系数,输出它的实数根。,QBASIC程序:,INPUT “请输入一元二次方程的系数a,b,c:”;a,b,c,d = b * b - 4 * a * c,p = -b / (2 * a),q = SQR(ABS(d) / (2 * a),IF d = 0 THEN,x1 = p + q,x2 = p - q,IF x1 = x2 THEN,PRINT “只有一个实根:”;x1=x1,ELSE,PRINT “有

3、两个实根:”;“x1=”;x1,”x2=”;x2,END IF,ELSE,PRINT “没有实根”,END IF,END,例6 编写程序,使得任意输入3个整数按大到小的顺序输出。,算法分析:,算法思想:3个数两两比较,确定大小。按a、b、c输入,要按a、b、c输出,关键要找到最大值,将它赋值给a,中值赋给b,最小值赋给c。,第一步 输入3个整数a、b、c,第二步 将a与b比较,并把小者赋给b,大的赋给a;,第三步 将a与c比较,并把小者赋给c,大的赋给a,第四步 将b与c比较,并把小者赋给c,大的赋给b,第五步 按顺序输出a,b,c,INPUT “a,b,c=”;a,b,c IF b a TH

4、EN t = a a = b b = t END IF IF c a THEN t = a a = c c = t END IF IF c b THEN t = b b = c c = t END IF PRINT a,b,c END,相应的QBASIC程序:,开始,t=a,a=b,b=t,t=a,a=c,c=t,t=b,b=c,c=t,输入a,b,c,输入a,b,c,ba?,ca?,cb?,结束,是,是,否,否,是,否,对应的流程图,练习巩固,开始,输入a,b,c,a+bc,a+c b, b+c a是否同时成立?,存在这样的 三角形,不存在这样 的三角形,结束,否,是,(1),该程序框图所表

5、示的算法是作用是什么?并根据程序框图写出相应的程序。,1.2.3 循环语句,三中天地,循环结构的定义:,在一些算法中,从某处开始,按照一定条件,反复执行 某一处理步骤的情况,这就是循环结构。 反复执行的处理步骤称为循环体。,两种循环结构有什么差别?,While(当型)循环,Until(直到型)循环,两种循环结构有什么差别?,先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件成立退出循环。,先判断指定的条件是否为真,若条件为真,执行循环条件,条件为假时退出循环。,先执行 后判断,先判断 后执行,循环结构,算法中的循环结构是由循环语句来实现的。,两种循环语句:,WHILE

6、条件 循环体 WEND,(1)WHILE语句的一般格式:,当计算机遇到WHILE语句时,先判断条件的真假,如 果条件符合,就执行WHILE与WEND之间的循环体;然 后再检查上述条件,如果条件仍符合,再次执行循环体, 这个过程反复进行,直到某一次条件不符合为止.这时, 计算机将不执行循环体,直接跳到WEND语句后,接着执 行WEND之后的语句.,练习、根据1.1.2例3中的程序框图,编写 计算机程序来计算1+2+100的值,i=1 sum=0 WHILE i=100 sum=sum+i i=i+1 WEND PRINT sum END,程序:,Until(直到型)循环,DO 循环体 LOOP

7、UNTIL 条件,(2)UNTIL语句的一般格式:,思考1:参照直到型循环结构,说说计算机是按怎样 的顺序执行UNTIL语句的?,思考2:用UNTIL语句编写计算机程序,来计算 1+2+100的值.,思考2:用UNTIL语句编写计算机程序,来计算 1+2+100的值.,i=1 sum=0 DO sum=sum+i i=i+1 LOOP UNTIL i100 PRINT sum END,结束,程序框图:,程序:,思考3:图1.1-2,用按照算法执行的顺序,把程序 框图中的内容转化为相应的程序语句。,开始,输入n,flag=1,n2?,d=2,是,d整除n?,flag=0,d=n-1且 flag=

8、1?,flag=1?,n是质数,结束,是,d=d+1,否,否,n不是质数,否,是,否,是,(1) n=5,开始,Flag=1,n2,d=2,输入n,d=n-1且 flag=1?,N不是质数,n是质数,d整除n?,Flag=0,Flag=1?,结束,d=d+1,是,是,是,否,否,是,否,(1),(2),(2)n=4,8,否,INPUT “n=”;n flag=1 IF n2 THEN d=2 WHILE d=n-1 AND flag=1 IF n MOD d=0 THEN flag=0 ELSE d=d+1 END IF WEND END IF IF flag=1 THEN PRINT n;是

9、质数. ELSE PRINT n;不是质数. END IF END,思考题:判断质数的 算法是否还有所改进?,练习 P23,1.根据你画出的用二分法求方程x2-2=0的 近似根的程序框图,写出相应的程序语句。,2.编写程序,计算函数f(x)=x2-3x+5当x=1,2, 3,,20时的函数值。,3.编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*3*2*1),练习 P23,1.根据你画出的用二分 法求方程x2-2=0的 近似根的程序框图, 写出相应的程序语句。,练习 P23,结束,练习 P23,2.编写程序,计算函数f(x)=x2-3x+5当x=1,2, 3,,20时的函

10、数值。,练习 P23,3.编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*3*2*1),练习巩固,1、设计一个算法框图:逐个输出12,22,32,n2,并写出相应的QBASIC程序。,INPUT n i = 0 WHILE i n i = i + 1 t = i 2 PRINT t WEND END,INPUT n i = 0 DO i = i + 1 t = i 2 PRINT t LOOP UNTIL i = n END,2、设计一个算法框图:求满足12 3 n10000的最小正整数n,并写出相应的QBASIC程序。,i = 0,sum = 0,DO,i = i + 1,sum = sum + i,LOOP UNTIL sum10000,PRINT i,END,小 结,WHILE 条件 循环体 WEND,DO 循环体 LOOP UNTIL 条件,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号