《数学:1.2.3《基本算法语句 循环语句》PPT课件.ppt》由会员分享,可在线阅读,更多相关《数学:1.2.3《基本算法语句 循环语句》PPT课件.ppt(24页珍藏版)》请在三一办公上搜索。
1、1.2.3基本算法语句循环语句,温故而知新,1、顺序结构常用的程序语言和格式,2、条件结构常用的程序语言和格式,输入语句 INPUT “提示文字”;变量列表,输出语句 PRINT “提示文字”;变量列表,赋值语句 变量=表达式,(1),IF 条件成立 THEN 语句1ELSE 语句2END IF,(2),IF 条件成立 THEN 语句END IF,例6 编写程序,使得任意输入3个整数按大到小的顺序输出。,算法分析:,算法思想:3个数两两比较,确定大小。按a、b、c输入,要按a、b、c输出,关键要找到最大值,将它赋值给a,中值赋给b,最小值赋给c。,第一步 输入3个整数a、b、c,第二步 将a与
2、b比较,并把小者赋给b,大的赋给a;,第三步 将a与c比较,并把小者赋给c,大的赋给a,第四步 将b与c比较,并把小者赋给c,大的赋给b,第五步 按顺序输出a,b,c,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=t,t=a,a=c,c=t,t=b,b=c,c=t,输入a,b,c,输入a,b,c,ba?,ca?,
3、cb?,结束,是,是,否,否,是,否,对应的流程图,练习巩固,开始,输入a,b,c,a+bc,a+c b,b+c a是否同时成立?,存在这样的三角形,不存在这样的三角形,结束,否,是,(1),该程序框图所表示的算法是作用是什么?并根据程序框图写出相应的程序。,1.2.3 循环语句,循环结构的定义:,在一些算法中,从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构。 反复执行的处理步骤称为循环体。,两种循环结构有什么差别?,While(当型)循环,Until(直到型)循环,两种循环结构有什么差别?,先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件成立退
4、出循环。,先判断指定的条件是否为真,若条件为真,执行循环条件,条件为假时退出循环。,先执行 后判断,先判断 后执行,循环结构,算法中的循环结构是由循环语句来实现的。,两种循环语句:,WHILE 条件 循环体WEND,(1)WHILE语句的一般格式:,当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.,Until(直到型)循环,DO 循环体LOOP UNTIL 条件,(2
5、)UNTIL语句的一般格式:,思考1:参照直到型循环结构,说说计算机是按怎样 的顺序执行UNTIL语句的?,思考2:用UNTIL语句编写计算机程序,来计算 1+2+100的值.,练习、根据1.1.2例3中的程序框图,编写 计算机程序来计算1+2+100的值,i=1sum=0WHILE i=100 sum=sum+i i=i+1WENDPRINT sumEND,程序:,思考2:用UNTIL语句编写计算机程序,来计算 1+2+100的值.,i=1sum=0DO sum=sum+i i=i+1LOOP UNTIL i100PRINT sumEND,结束,程序框图:,程序:,思考3:图1.1-2,用按
6、照算法执行的顺序,把程序框图中的内容转化为相应的程序语句。,开始,输入n,flag=1,n2?,d=2,是,d整除n?,flag=0,d=n-1且flag=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
7、 n MOD d=0 THEN flag=0 ELSE d=d+1 END IF WEND END IF IF flag=1 THEN PRINT n;是质数. ELSE PRINT n;不是质数. END IF END,思考题:判断质数的算法是否还有所改进?,练习 P24,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),练习 P24,1.根据你画出的用二分 法求方程x2-2=0的 近
8、似根的程序框图, 写出相应的程序语句。,练习 P24,结束,练习 P24,2.编写程序,计算函数f(x)=x2-3x+5当x=1,2, 3,,20时的函数值。,练习 P24,3.编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*3*2*1),练习巩固,1、设计一个算法框图:逐个输出12,22,32,n2,并写出相应的QBASIC程序。,INPUT ni = 0WHILE i n i = i + 1 t = i 2 PRINT tWENDEND,INPUT ni = 0DO i = i + 1 t = i 2 PRINT tLOOP UNTIL i = nEND,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 条件,