1、问题提出问题提出 1.1.算法的的基本逻辑结构有哪几种?算法的的基本逻辑结构有哪几种?2.2.设计一个算法的程序框图的基本思设计一个算法的程序框图的基本思路如何?路如何?第二步,确定每个算法步骤所包含的逻第二步,确定每个算法步骤所包含的逻 辑结构,并用相应的程序框图表示辑结构,并用相应的程序框图表示.第一步,用自然语言表述算法步骤第一步,用自然语言表述算法步骤.第三步,将所有步骤的程序框图用流程第三步,将所有步骤的程序框图用流程 线连接起来,并加上两个终端框线连接起来,并加上两个终端框.计算机完成任何一项任务都需要算法计算机完成任何一项任务都需要算法,但但是是,我们用自然语言或程序框图描述的算
2、法,我们用自然语言或程序框图描述的算法,计算机是无法计算机是无法“看得懂,听得见看得懂,听得见”的。因此还的。因此还需要将算法用计算机能够理解的程序设计语言需要将算法用计算机能够理解的程序设计语言(programming languageprogramming language)翻译成计算机程序。)翻译成计算机程序。【创设情境】【创设情境】在现代社会里在现代社会里,计算机已经成为人们日常计算机已经成为人们日常生活和工作不可缺少的工具生活和工作不可缺少的工具,如如:听听MP3,MP3,看电影看电影,玩游戏玩游戏,打字排版打字排版,画卡通画画卡通画,处理数据等等处理数据等等,那那么么,计算机是怎样
3、工作的呢?计算机是怎样工作的呢?这些就是这一节所要研究的主要内容这些就是这一节所要研究的主要内容基本算法语句。今天,我们先一起来学习基本算法语句。今天,我们先一起来学习输入、输入、输出语句和赋值语句。输出语句和赋值语句。程序设计语言有很多种。如程序设计语言有很多种。如BASICBASIC,FoxbaseFoxbase,C C,PascalPascal等。为了实现算法中的三种基本的等。为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循环结构,逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法各种程序设计语言中都包含下列基本的算法语句:语句:输入语句输入语句 输
4、出语句输出语句 赋值语句赋值语句条件语句条件语句 循环语句循环语句输入语句和输出语句分别用来实现算法的输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能。赋值语句与程序输入信息,输出结果的功能。赋值语句与程序框图中表示赋值的处理框对应。框图中表示赋值的处理框对应。算法:算法:开始开始输入输入x3232430yxxx输出输出x,y结束结束框图:框图:例例1.用描点法作函数用描点法作函数 的图象时,需要求出的图象时,需要求出 自变量和函数的一组对应值,编写程序,分别计算当自变量和函数的一组对应值,编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值。时的
5、函数值。3232430yxxx第二步:计算第二步:计算 的值;的值;3232430yxxx第一步:输入第一步:输入x的值;的值;第三步:输出第三步:输出x,y的值。的值。程序:程序:INPUT“x=”;xy=x3+3 x2-24 x+30PRINT xPRINT yEND*INPUT “x=”;x y=x3+3*x2-24*x+30PRINT yEND程序程序:-输入语句输入语句 -赋值语句赋值语句-输出语句输出语句-表示结束表示结束INPUT “提示内容”;变量输入语句:输入语句:输出语句:输出语句:PRINT “提示内容”;表达式赋值语句:赋值语句:变量变量=表达式 一一.输入语句输入语句
6、 INPUT INPUT“提示内容提示内容”;变量;变量输入语句的一般格式输入语句的一般格式 说明说明:(1)(1)输入语句的作用是实现算法的输入信息功能;输入语句的作用是实现算法的输入信息功能;(2)“(2)“提示内容提示内容”提示用户输入什么样的信息,提示用户输入什么样的信息,变量是指在程序运行时其值是可以变化的量;变量是指在程序运行时其值是可以变化的量;(3)(3)输入语句要求输入的值输入语句要求输入的值只能是具体的常数只能是具体的常数,不能是函数、变量或表达式;不能是函数、变量或表达式;(4)(4)提示内容与变量之间用分号提示内容与变量之间用分号“;”隔开,隔开,若输入多个变量,变量与
7、变量之间用逗号若输入多个变量,变量与变量之间用逗号“,”隔开隔开.例如例如,输入一个学生数学输入一个学生数学,语文语文,英语三门课的成绩英语三门课的成绩,可以写成:可以写成:INPUT“数学,语文,英语数学,语文,英语”;a,b,c注意注意:INPUTINPUT语句不但可以给单个变量赋值语句不但可以给单个变量赋值,还可以还可以给多个变量赋值给多个变量赋值,其格式为:其格式为:INPUTINPUT“提示内容提示内容1 1,提示内容,提示内容2 2,提示内容,提示内容3 3,”;变量;变量1 1,变量,变量2 2,变量,变量3 3,练一练练一练:请你用输入语句表达课本请你用输入语句表达课本P7和和
8、P9页程序框图中输入框中的内容。页程序框图中输入框中的内容。P7页页:INPUT“n=”;n P9页页:INPUT a,b,c 二二.输出语句输出语句 PRINT “提示内容提示内容”;表达式;表达式说明说明:(1)“(1)“提示内容提示内容”提示用户输出什么样的信息,提示用户输出什么样的信息,表达式是指程序要输出的数据;表达式是指程序要输出的数据;输出常量,变量的值和字符串等系统信息。输出常量,变量的值和字符串等系统信息。输出数值计算的结果。输出数值计算的结果。(2)(2)输出语句的用途:输出语句的用途:输出语句的一般格式输出语句的一般格式(3)同输入语句一样,表达式前也可以有同输入语句一样
9、,表达式前也可以有“提示内提示内容容”.思考思考:在课本在课本P7P7页图页图1.1-21.1-2程序框图中的输程序框图中的输出框的内容怎样用输出语句来表达?出框的内容怎样用输出语句来表达?参考答案:参考答案:PRINT “nPRINT “n是质数是质数.”.”PRINT “nPRINT “n不是质数不是质数.”.”如如P9页的输出框页的输出框 可以转化为输出语句可以转化为输出语句:输出输出SPRINT“S=”;S 三三.赋值语句赋值语句(1)赋值语句的一般格式赋值语句的一般格式:变量表达式变量表达式(2)(2)赋值语句的作用赋值语句的作用是是:先计算出赋值号右边表达先计算出赋值号右边表达式的
10、值式的值,然后把这个值赋给左边的变量然后把这个值赋给左边的变量,使该变量的使该变量的值等于表达式的值。值等于表达式的值。(3)(3)赋值语句中的赋值语句中的“”称作赋值号称作赋值号,与数学中的等与数学中的等号的意义是不同的号的意义是不同的.赋值号的左右两边不能对换赋值号的左右两边不能对换.(4)(4)赋值语句左边只能是变量名字而不是表达式赋值语句左边只能是变量名字而不是表达式,如如:2=x:2=x是错误的是错误的;右边表达式可以是一个数据、右边表达式可以是一个数据、常量或算式;不能利用赋值语句进行代数式的常量或算式;不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等)演算。(如化简
11、、因式分解、解方程等)(5)(5)对于一个变量可以多次赋值。对于一个变量可以多次赋值。例例2.编写程序,计算一个学生数学、语文、英语三门课的平均成绩。编写程序,计算一个学生数学、语文、英语三门课的平均成绩。算法:算法:第一步:分别输入三科的成绩第一步:分别输入三科的成绩a,b,c;第二步:计算第二步:计算average=(a+b+c)/3;第三步:输出三科平均分。第三步:输出三科平均分。框图:框图:开始开始输入输入a,b,c输出输出average结束结束average=(a+b+c)/3程序:程序:INPUT“Maths=”;aINPUT“Chinese=”;bINPUT“English=”;
12、caverage=(a+b+c)/3PRINT“The average=”;averageENDINPUT“Maths,Chinese,English=”;a,b,c程序程序2:PRINT“The average=”;(a+b+c)/3END练习练习课本课本P24P24页练习页练习T1.T1.已知华氏温度与摄氏温度的转换公式是:已知华氏温度与摄氏温度的转换公式是:(华氏温度(华氏温度-32)-32)5 59=9=摄氏温度摄氏温度编写一个程序,输入一个华氏温度,输出编写一个程序,输入一个华氏温度,输出其相应的摄氏温度。其相应的摄氏温度。程序程序:INPUT“F=”;F C=(F-32)5/9 P
13、RINT“C=”;C END*例例3 3:“运行运行”以下程序,写出输出的结果。以下程序,写出输出的结果。程序程序:A=10A=A+15PRINT AEND 分析:此程序给变量分析:此程序给变量A赋了两次值。赋了两次值。A的初值为的初值为10,第二次赋值后,初值被,第二次赋值后,初值被“覆盖覆盖”,A的值变为的值变为25,因此输出值,因此输出值是是25。变式引申变式引申:以下程序的输出值是多少以下程序的输出值是多少?A=10B=AA=2*BPRINT A,BEND答案答案:20,10:20,10例例4.4.交换变量交换变量A A和和B B的值的值,并输出交换前后的值。并输出交换前后的值。分析:
14、分析:类比类比“交换装满水交换装满水的两个水桶里的水需要的两个水桶里的水需要再找一个空桶再找一个空桶”,所以,所以引引入一个入一个临时变量临时变量X X,将,将A A的值赋予的值赋予X,X,又将又将B B的值赋的值赋予予A A,再将,再将X X的值赋予的值赋予B B,从而达到交换从而达到交换A A,B B的值的的值的目的。目的。INPUT AINPUT BPRINT A,BX=AA=BB=XPRINT A,BEND问题问题:能否用下列赋值语句交换能否用下列赋值语句交换A,B的值的值?A=15B=20A=BB=A不能不能!最后最后A与与B的值均为的值均为20。取余数MOD取商=幂运算除法运算/乘
15、法运算功能功能运算符运算符*Inx|x|功能功能LOG(x)SQR(x)ABS(x)注意事项注意事项函数名函数名xx x0 0 x x0 0BASIC语言中的常用运算符号语言中的常用运算符号练习练习1 1:编写一个程序编写一个程序,要求输入一个圆的半径要求输入一个圆的半径,便能输出该圆的周长和面积便能输出该圆的周长和面积.(取取3.143.14)分析分析:设圆的半径为设圆的半径为R,R,则圆的周长则圆的周长C=2R,C=2R,面积面积S=RS=R2 2,可以利用顺序结构中的可以利用顺序结构中的INPUTINPUT语句语句,PRINT,PRINT语句和赋值语句设计程序。语句和赋值语句设计程序。I
16、NPUT“R=”;RC=2*3.14*RS=3.14*R2PRINT “C=”;CPRINT “S=S=”;S END练习练习2 2课本课本P24P24页练习页练习T2T2。编写一个程序,计算两个非编写一个程序,计算两个非0 0实数的加、实数的加、减、乘、除运算的结果。减、乘、除运算的结果。INPUT“a,b(a,b0)=”;a,bX=a+bY=a-bZ=a bQ=a/bPRINT X,Y,Z,QEND*程序:程序:注:注:BASICBASIC语言中的标准函数语言中的标准函数SQR(x)SQR(x)表示数表示数x x的算术平方根,的算术平方根,ABS(x)ABS(x)表示表示x x的绝对值。的
17、绝对值。程序:程序:p=(2+3+4)/2 p=(2+3+4)/2 t=p t=p (p-2)(p-2)(p-3)(p-3)(p-4)(p-4)S=SQR(t)S=SQR(t)PRINT“S=”PRINT“S=”;S S END END*练习练习3 3编写一个程序,利用海伦公式编写一个程序,利用海伦公式计算三边长分别为计算三边长分别为2,3,42,3,4的三角形的面积。的三角形的面积。:(),SQR xx即ABS(x)=|x|.INPUT语句语句PRINT语句语句赋值语句赋值语句格式格式INPUT“提示内容”;变量PRINT“提示内容”;表达式变量变量=表达式说明说明1.“提示内容提示内容”和
18、它后面的和它后面的 “;”可以省略;可以省略;2.一个语句可以给多个变一个语句可以给多个变 量赋值,中间用量赋值,中间用“,”隔隔 开;开;3.无计算功能,不能输入无计算功能,不能输入 表达式;表达式;4.输入多个数据时用输入多个数据时用“,”分隔,且个数要与变量分隔,且个数要与变量 的个数相同。的个数相同。1.“提示内容提示内容”和它后面的和它后面的 “;”可以省略;可以省略;2.一个语句可以输出多个表一个语句可以输出多个表 达式,不同的表达式之间达式,不同的表达式之间 用用“,”隔开;隔开;3.表达式可以是变量,也可表达式可以是变量,也可 以是计算公式;以是计算公式;4.有计算功能,能直接
19、输出有计算功能,能直接输出 计算公式的值。计算公式的值。1.“=”左侧必须是变左侧必须是变 量,右侧可以是数量,右侧可以是数 字、变量或者是计字、变量或者是计 算公式;算公式;2.一个语句只能有一一个语句只能有一 个个“=”,并且只能,并且只能给给 一一 个变量赋值;个变量赋值;3.有计算功能,可以有计算功能,可以 把表达式的值赋给把表达式的值赋给 一个变量。一个变量。【课堂小结】【课堂小结】(1)(1)本节课介绍了输入语句、输出语本节课介绍了输入语句、输出语句和赋值语句的结构特点及联系句和赋值语句的结构特点及联系.(2)(2)要掌握并能应用输入语句要掌握并能应用输入语句,输出输出语句语句,赋
20、值语句编写一些简单的程序解赋值语句编写一些简单的程序解决数学问题决数学问题,特别是掌握赋值语句中特别是掌握赋值语句中“=”=”的作用及应用的作用及应用.(3)(3)编写程序的一般步骤:先写出算编写程序的一般步骤:先写出算法,画出程序框图,再进行编程。法,画出程序框图,再进行编程。有良好习惯的编程高手大都有很强有良好习惯的编程高手大都有很强的分析问题的能力,逻辑思维很严谨。的分析问题的能力,逻辑思维很严谨。作业作业:课本课本P24P24页练习页练习T4T4课本课本P33P33页习题页习题1.2A1.2A组组T2T2INPUT“a,b,c=”;a,b,cX=10.4aY=15.6bZ=25.2cs
21、um=X+Y+ZPRINT“sum=”;sumEND程序:程序:作业作业1 1P24P24页页T4.T4.INPUT“a,b,h=”;a,b,hp=a+bs=ph/2PRINT“s=”;sEND程序:程序:作业作业2 2P33P33页页A A组组T2.T2.学习目标:学习目标:1 1能读懂条件语句,知道在什么条件下会执行能读懂条件语句,知道在什么条件下会执行哪部分语句;哪部分语句;2 2理解条件语句中蕴含的分类讨论思想;理解条件语句中蕴含的分类讨论思想;3 3通过实例学习,培养严谨细致的数学素养。通过实例学习,培养严谨细致的数学素养。学习重点:学习重点:条件语句的书写格式与功能条件语句的书写格
22、式与功能学习难点:学习难点:1 1条件语句中条件表达式的书写;条件语句中条件表达式的书写;2 2多个条件语句相互配合完成更细致的分类讨多个条件语句相互配合完成更细致的分类讨论。论。1.2.2基本算法语句基本算法语句 条件语句条件语句算法中的条件结构是由条件语句来表达的算法中的条件结构是由条件语句来表达的,条件语句是处理条件分支逻辑结构的算法语句条件语句是处理条件分支逻辑结构的算法语句.条件语句的一般格式条件语句的一般格式 满足条件?满足条件?语句语句是是否否只含一个只含一个“分支分支”的条件结构的条件结构写成条件语句为写成条件语句为IFIF 条件条件 THENTHEN 语句体语句体END IF
23、END IF当计算机执行这种形式的条件语句时,首先对当计算机执行这种形式的条件语句时,首先对IFIF后的条件进行判断,如果条件符合,就执行后的条件进行判断,如果条件符合,就执行THENTHEN后的语句体,否则执行后的语句体,否则执行END IFEND IF之后的语句之后的语句.满足条件?满足条件?语句语句1 1语句语句2 2是是否否含两个含两个“分支分支”的条件结构的条件结构写成条件语句为写成条件语句为IFIF 条件条件 THENTHEN 语句语句1 1ELSEELSE 语句语句2 2END IFEND IF当计算机执行上述语句时,首先对当计算机执行上述语句时,首先对IFIF后的后的条件进行判
24、断,如果条件符合,就执行条件进行判断,如果条件符合,就执行THENTHEN后后的语句的语句1 1,否则执行,否则执行ELSEELSE后的语句后的语句2.2.【例题解析】【例题解析】例例1(1(课本课本P27P27例例6)6)编写程序,输入一元二次方程编写程序,输入一元二次方程axax2 2+bx+c=0+bx+c=0的系数,输出它的实数根。的系数,输出它的实数根。(参考课本(参考课本P11P11例例5 5的程序框图的程序框图)算法分析算法分析:一元二次方程的根有三种不同情况一元二次方程的根有三种不同情况:设判别式设判别式=b=b2 2-4ac-4ac(1)当当0时时,一元二次方程有两个不等的实
25、数根一元二次方程有两个不等的实数根.(2)当当=0时时,一元二次方程有两个相等的实数根一元二次方程有两个相等的实数根.122bxxa(3)当当IF d=0 THEN0 THEN p=-b/(2*a)q=SQR(d)/(2*a)IF d=0 THEN PRINT“一个实数根一个实数根”;p ELSE x1=p+q x2=p-q PRINT“两个实数根两个实数根”;x1,x2 END IFELSEELSE PRINT “无实数根无实数根”END IFENDEND例例2(2(课本课本P27P27例例7)7):编写程序,使得任意输:编写程序,使得任意输入的入的3 3个整数按从大到小的顺序输出。个整数按
26、从大到小的顺序输出。算法分析:算法分析:用用a a,b b,c c表示输入的表示输入的3 3个整数;为个整数;为了节约变量,把它们重新排列后,仍用了节约变量,把它们重新排列后,仍用a a,b b,c c表表示,并使示,并使abc.abc.具体操作步骤如下。具体操作步骤如下。第一步:输入第一步:输入3 3个整数个整数a a,b b,c.c.第二步:将第二步:将a a与与b b比较,并把小者赋给比较,并把小者赋给b b,大者,大者赋给赋给a.a.第三步:将第三步:将a a与与c c比较比较.并把小者赋给并把小者赋给c c,大者,大者赋给赋给a a,此时,此时a a已是三者中最大的。已是三者中最大的
27、。第四步:将第四步:将b b与与c c比较,并把小者赋给比较,并把小者赋给c c,大者,大者赋给赋给b b,此时,此时a a,b b,c c已按从大到小的顺序排列好。已按从大到小的顺序排列好。第五步:按顺序输出第五步:按顺序输出a a,b b,c.c.c=bb=tb=tc=ta=c【程序框图】【程序框图】开始开始输入输入a,b,cba?是是t=aa=b否否ca?是是t=a否否cb?t=c是是否否输出输出a,b,c交换交换a,ba,b的值的值【程序】【程序】INPUT “a,b,c=”;a,b,cIF ba THEN t=a a=b b=tEND IFIF ca THEN t=a a=c c=t
28、END IFIF cb THEN t=b b=c c=tEND IF END IF PRINT a,b,cENDEND1.1.课本课本P29P29页页T1.T1.INPUT“a,b,c=”;a,b,cIF a+bc AND a+cb AND b+ca THEN PRINT“Yes.”ELSE PRINT“No.”END IFEND参考答案:参考答案:如果有两个或是两个以上的如果有两个或是两个以上的并列条件时,用并列条件时,用“AND”AND”把把它们连接起来。它们连接起来。【课堂练习】【课堂练习】2.2.课本课本P29P29页页T2.T2.读程序读程序,说明此程序的作用说明此程序的作用.INP
29、UT“x=:”;xIF 9x AND x100 THEN a=x10 b=x MOD 10 x=10b+a PRINT xEND IFEND “”“”用来取商用来取商.此处表示此处表示 x x除以除以1010的商的商.“MOD”“MOD”用来取余数用来取余数.此处表此处表示示x x除以除以1010所得余数为所得余数为b.b.问题问题如输入的数如输入的数x=86,则输出则输出的结果是什么的结果是什么?68此程序用于交换一个两位数的此程序用于交换一个两位数的个位和十位数字个位和十位数字.3.3.课本课本P29P29页页T3.T3.编写求一个数是偶数还是奇数的编写求一个数是偶数还是奇数的程序程序,从
30、键盘输入一个整数从键盘输入一个整数,输出该数的奇偶性输出该数的奇偶性.INPUT“a=”;aIF a MOD 2=0 THEN PRINT“偶数偶数”ELSE PRINT“奇数奇数”END IFEND参考答案:参考答案:4.4.课本课本P22P22页页T4.T4.闰年指年闰年指年份能被份能被4 4整除整除但不能被但不能被100100整除整除,或者能或者能被被400400整除的整除的年份年份.编写一编写一个程序个程序,判断判断输入的年份输入的年份是否为闰年是否为闰年.INPUT y b=y MOD 4c=y MOD 100d=y MOD 400IF b=0 AND c0 THEN PRINT“闰
31、年闰年”ELSE IF d=0 THEN PRINT“闰年闰年”ELSE PRINT“不是闰年不是闰年”END IFEND IFEND参考答案:参考答案:表示表示c0c05.编写一个程序,输入两个整数编写一个程序,输入两个整数a,b,判断,判断a是否能被是否能被b整除。整除。INPUT“a,b=”;a,bIF a MOD b=0 THEN PRINT“b divides a.”ELSE PRINT“b does not divide a.”END IFEND参考答案:参考答案:【课堂小结】【课堂小结】本节课主要学习了条件语句的结构、特点、本节课主要学习了条件语句的结构、特点、作用以及用法,并懂
32、得利用它解决一些简单问作用以及用法,并懂得利用它解决一些简单问题。条件语句使程序执行产生分支,根据不同题。条件语句使程序执行产生分支,根据不同的条件执行不同的路线,其本质就是的条件执行不同的路线,其本质就是利用分类利用分类讨论思想使复杂问题简单化讨论思想使复杂问题简单化。条件语句一般用在需要对条件进行判断的条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句往往要用条件语句,有时甚至要用到条件语句的嵌套。的嵌
33、套。作业作业:课本课本P33P33页习题页习题1.2 A1.2 A组组T1T1,B B组组T3T3(P33页页B组组T3)INPUT“x=”;xIF x1 THEN y=xELSE IF x10 THEN y=2x-1 ELSE y=3x-11 END IFEND IFPRINT“y=”;yEND参考答案:参考答案:学习目标:学习目标:1 1、知识与技能、知识与技能(1 1)正确理解循环语句的概念)正确理解循环语句的概念;(2 2)会应用循环语句编写程序。)会应用循环语句编写程序。2 2、过程与方法、过程与方法经历对现实生活情境的探究,认识到应经历对现实生活情境的探究,认识到应用计算机解决数学
34、问题方便简捷,促进发展用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力学生逻辑思维能力 1.2.3基本算法语句基本算法语句 循环语句循环语句3 3、情感态度与价值观、情感态度与价值观了解循环语句在程序中起判断转折作用,了解循环语句在程序中起判断转折作用,在解决实际问题中起决定作用。通过本小节内在解决实际问题中起决定作用。通过本小节内容的学习,有益于我们养成严谨的数学思维以容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。及正确处理问题的能力。重点与难点重点与难点:重点重点:循环语句的步骤、结构及功能循环语句的步骤、结构及功能.难点难点:会编写程序中的循环语句会编写程序中的循环
35、语句.算法中的循环结构是由循环语句来实现的算法中的循环结构是由循环语句来实现的 .循环结构有两种循环结构有两种-当型与直到型当型与直到型.满足条件?满足条件?循环体循环体是是否否当型循环结构当型循环结构(当条件满当条件满足时反复执行循环体足时反复执行循环体)直到型循环结构直到型循环结构(反复执反复执行循环体直到条件满足行循环体直到条件满足)循环体循环体是是否否满足条件?满足条件?对应于程序框图中的两种循环结构,一般对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(程序设计语言中也有当型(WHILEWHILE型)和直到型型)和直到型(UNTILUNTIL型)两种语句结构。型)两种语句结
36、构。即即WHILEWHILE语句和语句和UNTILUNTIL语句。语句。(1)WHILE(1)WHILE语句的一般格式是语句的一般格式是:WHILE WHILE 条件条件 循环体循环体WENDWEND其中循环体是由计算机反复执行的一组语句其中循环体是由计算机反复执行的一组语句构成的。构成的。WHLIEWHLIE后面的后面的“条件条件”是用于控制计算机是用于控制计算机执行循环体或跳出循环体的。执行循环体或跳出循环体的。WHILEWHILE当当 时候时候WENDWEND朝朝方向方向 行走行走(1)WHILE(1)WHILE语句的一般格式是语句的一般格式是 WHILE 条件条件 循环体循环体WEND
37、 当计算机遇到当计算机遇到WHILEWHILE语句时语句时,先判断条件的真假先判断条件的真假,如果条件如果条件符合符合,就执行就执行WHILEWHILE与与WENDWEND之间之间的循环体的循环体;然后再检查上述条然后再检查上述条件件,如果条件仍符合如果条件仍符合,再次执行再次执行循环体循环体,这个过程反复进行这个过程反复进行,直直到某一次条件不符合为止到某一次条件不符合为止.这这时时,计算机将不执行循环体计算机将不执行循环体,直直接跳到接跳到WENDWEND语句后语句后,接着执行接着执行WENDWEND之后的语句之后的语句.满足条件?满足条件?循环体循环体是是否否当型循环结构当型循环结构(2
38、)UNTIL(2)UNTIL语句的一般格式是语句的一般格式是:DODO 循环体循环体LOOP UNTIL LOOP UNTIL 条件条件循环体循环体是是否否满足条件?满足条件?直到型循环结构直到型循环结构DODO做什么做什么LOOP UNTILLOOP UNTIL绕环回线走绕环回线走,直到达到某种直到达到某种 条件为止条件为止思考思考:参照其直到型循环结构对应的程序框图参照其直到型循环结构对应的程序框图,说说说说计算机是按怎样的顺序执行计算机是按怎样的顺序执行UNTILUNTIL语句的?语句的?(2)UNTIL(2)UNTIL语句的一般格式是语句的一般格式是:DODO 循环体循环体LOOP U
39、NTIL LOOP UNTIL 条件条件循环体循环体是是否否满足条件?满足条件?直到型循环结构直到型循环结构从从UNTILUNTIL型循环结构分析型循环结构分析,计算机执行该语句时计算机执行该语句时,先先执行一次循环体执行一次循环体,然后进行条件的判断然后进行条件的判断,如果条件不如果条件不满足满足,继续返回执行循环体继续返回执行循环体,然后再进行条件的判断然后再进行条件的判断,这个过程反复进行这个过程反复进行,直到某一次条件满足时直到某一次条件满足时,不再执不再执行循环体行循环体,跳到跳到LOOP UNTILLOOP UNTIL语句后执行其他语句语句后执行其他语句,是先执行循环体后进行条件判
40、断的循环语句是先执行循环体后进行条件判断的循环语句.提问提问:通过对照通过对照,大家觉得大家觉得WHILEWHILE型语句与型语句与UNTILUNTIL型型语句之间有什么区别呢?语句之间有什么区别呢?区别区别:在:在WHILEWHILE语句中语句中,是当条件是当条件满足满足时执行循环时执行循环体体,而在而在UNTILUNTIL语句中语句中,是当条件是当条件不满足不满足时执行循环时执行循环体。体。WHILEWHILE语句的一般格式语句的一般格式WHILE WHILE 条件条件 循环体循环体WENDWENDUNTILUNTIL语句的一般格式语句的一般格式DODO 循环体循环体LOOP UNTIL
41、LOOP UNTIL 条件条件例例1.1.编写程序编写程序,计算自然数计算自然数1+2+3+1+2+3+99+100+99+100的和的和.分析分析:这是一个累加问题这是一个累加问题.我们可我们可以用以用WHILEWHILE型语句型语句,也可以用也可以用UNTILUNTIL型语型语句。句。WHILEWHILE语句语句开始开始结束结束i=1S=0i=i+1S=S+i输出输出Si100?是是否否当型循环结构当型循环结构i=1S=0WHLIE i100?否否是是直到型直到型i=1S=0DOS=S+ii=i+1LOOP UNTIL i100PRINT SEND开始开始i=1S=0i100?是是S=S+
42、ii=i+1否否输出输出S结束结束当型循环当型循环结构结构变式训练变式训练(1):(1):编写程序求编写程序求:n!=1:n!=12 23 34 45 5n n的值的值.如何修改如何修改?输入输入nWHILEWHILE语句语句i=1S=0WHLIE i100PRINT SENDS=1101S=Sii=i+2是是开始开始结束结束i=1S=0i=i+1S=S+i输出输出Si100?否否直到型直到型S=1S=Si i=i+2i101?例例2:2:根据根据P7P7页图页图1.1-2,1.1-2,将程序框图转化为程序语句将程序框图转化为程序语句.分析分析:仔细观察仔细观察,该程序框图中既有条件结该程序框
43、图中既有条件结构构,又有循环结构。又有循环结构。INPUT “n=”;ni=2DO r=n MOD i i=i+1LOOP UNTIL i=n OR r=0IF r=0 THEN PRINT“n is not a prime number.”ELSE PRINT“n is a prime number.”END IFEND程序程序布置作业布置作业课本课本P33 A3,B4P33 A3,B41 3 550000n 的最小正整数的算法基本语句3.P33页页A组组T3.程序程序INPUT“n=”;ni=1S=0WHILE i=nS=S+(i+1)/ii=i+1WENDPRINT“S=”;SEND习题解答习题解答7.P33页页B组组T4.程序程序INPUT“a=”;aINPUT“n=”;ntn=0sn=0i=1WHILE i=ntn=tn+asn=sn+tna=a10i=i+1WENDPRINT snEND习题解答习题解答