单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1.2.3,基本算法语句循环语句,温故而知新,1,、顺序结构常用的程序语言和格式,2,、条件结构常用的程序语言和格式,输入语句,INPUT,“,提示文字”;变量列表,输出语句,PRINT,“,提示文字”;变量列表,赋值语句 变量,=,表达式,(,1,),IF,条件成立,THEN,语句,1,ELSE,语句,2,END IF,(,2,),IF,条件成立,THEN,语句,END IF,例,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 THEN,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,b,a?,c,a?,c,b?,结束,是,是,否,否,是,否,对应的流程图,练习巩固,开始,输入,a,,,b,,,c,a+b,c,,,a+c,b,,,b+c,a,是否同时成立?,存在这样的,三角形,不存在这样,的三角形,结束,否,是,(,1,),该程序框图所表示的算法是作用是什么?并根据程序框图写出相应的程序。
1.2.3,循环语句,循环结构的定义:,在一些算法中,从某处开始,按照一定条件,反复执行,某一处理步骤的情况,这就是循环结构反复执行的处理步骤称为循环体两种循环结构有什么差别?,A,P,成立,不成立,While,(当型)循环,成立,A,P,不成立,Until,(,直到型,)循环,成立,A,P,不成立,A,P,成立,不成立,While,(,当型,)循环,Until,(,直到型,)循环,两种循环结构有什么差别?,先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件成立退出循环先判断指定的条件是否为真,若条件为真,执行循环条件,条件为假时退出循环先执行 后判断,先判断 后执行,循环结构,A,P,成立,不成立,While,(当型)循环,算法中的循环结构是由循环语句来实现的成立,A,P,不成立,Until,(,直到型,)循环,两种循环语句:,WHILE,条件,循环体,WEND,(,1,),WHILE,语句的一般格式:,当计算机遇到,WHILE,语句时,先判断条件的真假,如,果条件符合,就执行,WHILE,与,WEND,之间的循环体;然,后再检查上述条件,如果条件仍符合,再次执行循环体,,这个过程反复进行,直到某一次条件不符合为止,.,这时,,计算机将不执行循环体,直接跳到,WEND,语句后,接着执,行,WEND,之后的语句,.,也叫“前测试型”循环,循环体,满足条件?,是,否,While,(当型)循环,Until,(直到型)循环,DO,循环体,LOOP UNTIL,条件,(,2,),UNTIL,语句的一般格式:,也叫“后测试型”循环,循环体,满足条件?,是,否,思考,1,:,参照直到型循环结构,说说计算机是按怎样,的顺序执行,UNTIL,语句的?,思考,2,:,用,UNTIL,语句编写计算机程序,来计算,1+2+100,的值,.,练习、根据,1.1.2,例,3,中的程序框图,编写,计算机程序来计算,1+2+100,的值,i=100?,i=1,开始,输出,sum,结束,否,是,sum=0,i=i+1,sum=sum+i,i=1,sum=0,WHILE i100,PRINT sum,END,i=1,开始,结束,sum=0,输出,sum,i=i+1,sum=sum+i,i100?,否,是,程序框图:,程序:,思考,3,:,图,1.1-2,,用按照算法执行的顺序,把程序,框图中的内容转化为相应的程序语句。
开始,输入,n,flag=1,n2?,d=2,是,d,整除,n?,flag=0,d2,d=2,输入,n,d2 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;,是质数,.,ELSE,PRINT n;,不是质数,.,END IF,END,思考题:判断质数的,算法是否还有所改进?,练习,P24,1.,根据你画出的用二分法求方程,x,2,-2=0,的,近似根的程序框图,写出相应的程序语句,2.,编写程序,计算函数,f(x)=x,2,-3x+5,当,x=1,2,3,,,20,时的函数值3.,编写一个程序,输入正整数,n,,计算它的,阶乘,n!(n!=n*(n-1)*3*2*1),练习,P24,1.,根据你画出的用二分,法求方程,x,2,-2=0,的,近似根的程序框图,,写出相应的程序语句,开始,x1=1,x2=2,c=0.005,输出,x,f(x1)f(x)0?,否,是,x1=x,x2=x,|x1-x2|c,?,是,否,结束,f,(x)=0?,否,是,练习,P24,开始,x,1,=1,x,2,=2,c=0.005,输出,x,f(x,1,)f(x)0?,否,是,x,1,=x,x,2,=x,|x,1,-x,2,|c,?,是,否,结束,f(x)=0?,否,是,x1=1,x2=2,c=0.005,DO,X=(X1+X2)/2,f(x1)=x12-2,f(x)=x2-2,IF f(x)=0 THEN,PRINT ,方程根为:,;,x,ELSE,IF f(x1)*f(x)0 THEN,x2=x,ELSE,x1=x,END IF,END IF,LOOP UNTIL ABS(x1-x2)=c,PRINT,方程的近似根为:,;,x,END,练习,P24,2.,编写程序,计算函数,f(x)=x,2,-3x+5,当,x=1,2,3,,,20,时的函数值。
x=1,WHILE xn,PRINT,这个数的阶乘为:,;,t,END,练习巩固,1,、设计一个算法框图:逐个输出,1,2,,,2,2,,,3,2,,,,,n,2,,并写出相应的,QBASIC,程序INPUT n,i=0,WHILE i =n,END,结束,i=0,开始,i=i+1:t=i2,i=n?,否,是,PRINT t,INPUT n,2,、设计一个算法框图:求满足,1,2,3,n,10000,的最小正整数,n,,并写出相应的,QBASIC,程序结束,输出,i,i=0,,,Sum=1,开始,i=i+1,Sum=Sum*i,Sum10000?,否,是,i=0,sum=0,DO,i=i+1,sum=sum+i,LOOP UNTIL sum10000,PRINT i,END,小 结,WHILE,条件,循环体,WEND,DO,循环体,LOOP UNTIL,条件,两种循环语句:,循环体,满足条件?,是,否,(,1,),While,(当型)循环,(,2,),Until,(直到型)循环,循环体,满足条件?,是,否,。