1、1.2.3基本算法语句循环语句温故而知新1、顺序结构常用的程序语言和格式2、条件结构常用的程序语言和格式输入语句输入语句 INPUT“提示文字提示文字”;变量列表;变量列表输出语句输出语句 PRINT“提示文字提示文字”;变量列表;变量列表赋值语句赋值语句 变量变量=表达式表达式(1)IF 条件成立条件成立 THEN 语句语句1ELSE 语句语句2END IF(2)IF 条件成立条件成立 THEN 语句语句END IF例例6 6 编写程序编写程序,使得任意输入使得任意输入3 3个整数按大到小的顺序输出。个整数按大到小的顺序输出。算法分析:算法分析:算法思想:算法思想:3 3个数两两比较,确定大
2、小。按个数两两比较,确定大小。按a a、b b、c c输入,要按输入,要按a a、b b、c c输出,关键要找到最大值,将它赋值给输出,关键要找到最大值,将它赋值给a a,中值赋给,中值赋给b b,最小值赋给,最小值赋给c c。第一步第一步 输入输入3 3个整数个整数a a、b b、c c第二步第二步 将将a a与与b b比较,并把小者赋给比较,并把小者赋给b b,大的赋给,大的赋给a a;第三步第三步 将将a a与与c c比较,并把小者赋给比较,并把小者赋给c c,大的赋给,大的赋给a a第四步第四步 将将b b与与c c比较,并把小者赋给比较,并把小者赋给c c,大的赋给,大的赋给b b第
3、五步第五步 按顺序输出按顺序输出a a,b b,c cINPUT“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?结束是是是是否否否否是是否否对应的流程图练习巩固开始开始输入输入a a,b b,c ca+ba+bc c,a+c a+c b b,b+c b+c a a是否同时成立?
4、是否同时成立?存在这样的存在这样的三角形三角形不存在这样不存在这样的三角形的三角形结束结束否否是是(1)该程序框图所表示的算法是作用是什么?并根据程序框图写出相应的程序。1.2.3 循环语句循环语句循环结构的定义:循环结构的定义:在一些算法中,从某处开始,按照一定条件,反复执行在一些算法中,从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构。某一处理步骤的情况,这就是循环结构。反复执行的处理步骤称为循环体。反复执行的处理步骤称为循环体。两种循环结构有什么差别?两种循环结构有什么差别?AP成立成立不成立不成立While(当型)循环(当型)循环 成立成立AP不成立不成立Until
5、(直到型)循环)循环 成立成立AP不成立不成立AP成立成立不成立不成立While(当型)循环)循环Until(直到型)循环)循环两种循环结构有什么差别?两种循环结构有什么差别?先执行循环体,然后再检查条先执行循环体,然后再检查条件是否成立,如果不成立就重件是否成立,如果不成立就重复执行循环体,直到条件成立复执行循环体,直到条件成立退出循环。退出循环。先判断指定的条件是否为真,先判断指定的条件是否为真,若条件为真,执行循环条件,若条件为真,执行循环条件,条件为假时退出循环。条件为假时退出循环。先执行先执行 后判断后判断先判断先判断 后执行后执行循环结构循环结构AP成立成立不成立不成立While(
6、当型)循环(当型)循环算法中的循环结构是由循环语句来实现的。算法中的循环结构是由循环语句来实现的。成立成立AP不成立不成立Until(直到型)循环)循环两种循环语句:两种循环语句:WHILE 条件条件 循环体循环体WEND(1)WHILE语句的一般格式:语句的一般格式:当计算机遇到当计算机遇到WHILE语句时,先判断条件的真假,如语句时,先判断条件的真假,如果条件符合,就执行果条件符合,就执行WHILE与与WEND之间的循环体;然之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止这个过程
7、反复进行,直到某一次条件不符合为止.这时,这时,计算机将不执行循环体,直接跳到计算机将不执行循环体,直接跳到WEND语句后,接着执语句后,接着执行行WEND之后的语句之后的语句.也叫也叫“前测试型前测试型”循环循环循环体循环体满足条件?满足条件?是是否否While(当型)循环(当型)循环Until(直到型)循环(直到型)循环DO 循环体循环体LOOP UNTIL 条件条件(2)UNTIL语句的一般格式:语句的一般格式:也叫也叫“后测试型后测试型”循环循环循环体循环体满足条件?满足条件?是是否否思考思考1 1:参照直到型循环结构,说说计算机是按怎样参照直到型循环结构,说说计算机是按怎样 的顺序执
8、行的顺序执行UNTIL语句的?语句的?思考思考2 2:用用UNTIL语句编写计算机程序,来计算语句编写计算机程序,来计算 1+2+100的值的值.练习、根据练习、根据1.1.2例例3中的程序框图,编写中的程序框图,编写 计算机程序来计算计算机程序来计算1+2+100的值的值i=100?i=1开始输出sum结束否是sum=0i=i+1sum=sum+ii=1sum=0WHILE i100PRINT sumENDi=1开始开始结束结束sum=0输出输出sumi=i+1sum=sum+ii100?否否是是程序框图:程序框图:程序:程序:思考思考3 3:图图1.1-2,用按照算法执行的顺序,把程序,用
9、按照算法执行的顺序,把程序框图中的内容转化为相应的程序语句。框图中的内容转化为相应的程序语句。开始输入nflag=1n2?d=2是d整除n?flag=0d2d=2输入nd2 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思考题:判断质数的思考题:判断质数的算法是否还有所改进?算法是否还有所改进?练习练习 P241.根据你画出的用二分法求方程根据你
10、画出的用二分法求方程x2-2=0的的 近似根的程序框图,写出相应的程序语句近似根的程序框图,写出相应的程序语句。2.编写程序,计算函数编写程序,计算函数f(x)=x2-3x+5当当x=1,2,3,,20时的函数值。时的函数值。3.编写一个程序,输入正整数编写一个程序,输入正整数n,计算它的,计算它的 阶乘阶乘n!(n!=n*(n-1)*3*2*1)练习练习 P241.根据你画出的用二分根据你画出的用二分 法求方程法求方程x2-2=0的的 近似根的程序框图,近似根的程序框图,写出相应的程序语句写出相应的程序语句。开始开始x1=1,x2=2c=0.005输出输出x122xxx211()2f xx2
11、()2f xxf(x1)f(x)0?否否是是x1=xx2=x|x1-x2|c?是是否否结束结束f(x)=0?否否是是练习练习 P24开始x1=1,x2=2c=0.005输出x122xxx211()2f xx2()2f xxf(x1)f(x)0?否是x1=xx2=x|x1-x2|c?是否结束f(x)=0?否是x1=1x2=2c=0.005DO 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 IFLOOP UN
12、TIL ABS(x1-x2)=cPRINT 方程的近似根为:方程的近似根为:;xEND练习练习 P242.编写程序,计算函数编写程序,计算函数f(x)=x2-3x+5当当x=1,2,3,,20时的函数值。时的函数值。x=1WHILE xnPRINT 这个数的阶乘为:这个数的阶乘为:;tEND练习巩固1 1、设计一个算法框图:逐个输出、设计一个算法框图:逐个输出1 12 2,2 22 2,3 32 2,n n2 2,并,并写出相应的写出相应的QBASICQBASIC程序。程序。INPUT ni=0WHILE i =nEND结束i=0开始i=i+1:t=i2i=n?否是PRINT tINPUT n