1、这就是这一节所要研究的主要内容这就是这一节所要研究的主要内容基本算法基本算法语句。语句。程序设计语言有很多种。如程序设计语言有很多种。如BASICBASIC,FoxbaseFoxbase,C C语言,语言,C+C+,J+J+,VBVB等。为了实现算法中的等。为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的环结构,各种程序设计语言中都包含下列基本的算法语句:算法语句:输 入 语 句输 入 语 句 输 出 语 句输 出 语 句 赋 值 语 句赋 值 语 句 条件条件 语句语句 循环循环 语句语句我们知道,
2、顺序结构是任何一个算法我们知道,顺序结构是任何一个算法都离不开的基本结构。都离不开的基本结构。语句语句n+1语句语句n 输入、输出语句和输入、输出语句和赋值语句基本上对应于算法中的顺序结构赋值语句基本上对应于算法中的顺序结构.计算机从上而下按照语计算机从上而下按照语句排列的顺序执行这些语句句排列的顺序执行这些语句.输入语句和输出语句分输入语句和输出语句分别用来实现算法的输入信息别用来实现算法的输入信息,输出结果的功能输出结果的功能.(如右图如右图)输入语句和输出语句分别用来实现算法的输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能。输入信息,输出结果的功能。例例1 1 用描点法作函
3、数用描点法作函数y yx x3 33x3x2 224x24x3030的图象的图象时时,需要求出自变量和函数的一组对应值需要求出自变量和函数的一组对应值.编写程序编写程序,分别计算当分别计算当x x5 5,4 4,3 3,2 2,1 1,0 0,1 1,2 2,3 3,4 4,5 5时的函数值时的函数值.INPUT “x=”;x y=x3+3*x2-24*x+30PRINT xPRINT yEND程序程序:-输入语句输入语句 -赋值语句赋值语句-打印语句打印语句-打印语句打印语句-表示结束表示结束输出语句输出语句输出语句输出语句一一.输入语句输入语句 INPUT INPUT“提示内容提示内容”;
4、变量;变量输入语句的一般格式输入语句的一般格式 说明说明:(1)(1)输入语句的作用是实现算法的输入信息功能;输入语句的作用是实现算法的输入信息功能;(2)(2)“提示内容提示内容”提示用户输入什么样的信息,提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;变量是指程序在运行时其值是可以变化的量;(3)(3)输入语句要求输入的值输入语句要求输入的值只能是具体的常数只能是具体的常数,不能是函数、变量或表达式;不能是函数、变量或表达式;(4)(4)提示内容与变量之间用分号提示内容与变量之间用分号“;”隔开,隔开,若输入多个变量,变量与变量之间用逗号若输入多个变量,变量与变量之间用逗
5、号“,”隔开隔开.例如例如,输入一个学生数学输入一个学生数学,语文语文,英语三门课的成绩英语三门课的成绩,可以写成:可以写成:INPUT“数学,语文,英语数学,语文,英语”;a,b,c注意注意:INPUTINPUT语句不但可以给单个变量赋值语句不但可以给单个变量赋值,还可以还可以给多个变量赋值给多个变量赋值,其格式为:其格式为:INPUT INPUT“提示内容提示内容1 1,提示内容,提示内容2 2,提示内容,提示内容3 3,”;变量;变量1 1,变量,变量2 2,变量,变量3 3,二二.输出语句输出语句 PRINT “提示内容提示内容”;表达式;表达式说明说明:(1)(1)“提示内容提示内容
6、”提示用户输出什么样的信息提示用户输出什么样的信息,表表达式是指程序要输出的数据;达式是指程序要输出的数据;输出常量,变量的值和字符串等系统信息。输出常量,变量的值和字符串等系统信息。输出数值计算的结果。输出数值计算的结果。(2)(2)输出语句的用途:输出语句的用途:输出语句的一般格式输出语句的一般格式(3)同输入语句一样,表达式前也可以有同输入语句一样,表达式前也可以有“提示内提示内容容”.如的输出框如的输出框 可以转化为输出语可以转化为输出语句句:输出输出SPRINT“S=”;S 三三.赋值语句赋值语句(1)赋值语句的一般格式赋值语句的一般格式:变量表达式变量表达式(2)(2)赋值语句的作
7、用赋值语句的作用是是:先计算出赋值号右边表达先计算出赋值号右边表达式的值式的值,然后把这个值赋给左边的变量然后把这个值赋给左边的变量,使该变量的使该变量的值等于表达式的值。值等于表达式的值。(3)(3)赋值语句中的赋值语句中的“”称作赋值号称作赋值号,与数学中的等与数学中的等号的意义是不同的号的意义是不同的.赋值号的左右两边不能对换赋值号的左右两边不能对换.(4)(4)赋值语句左边只能是变量名字而不是表达式赋值语句左边只能是变量名字而不是表达式,如如:2=x:2=x是错误的是错误的;右边表达式可以是一个数据、右边表达式可以是一个数据、常量或算式;不能利用赋值语句进行代数式的常量或算式;不能利用
8、赋值语句进行代数式的演算。(如化简、因式分解、解方程等)演算。(如化简、因式分解、解方程等)(5 5)对于一个变量可以多次赋值。)对于一个变量可以多次赋值。【例题解析例题解析】例例2 2:编写程序,计算一个学生数学、语文、:编写程序,计算一个学生数学、语文、英语三门课的平均成绩。英语三门课的平均成绩。分析分析:先写出算法,画出程序框图,再进行编程。:先写出算法,画出程序框图,再进行编程。结束结束开始开始输入输入a,b,c输出输出y3 3abcy 程序框图程序框图INPUT“Maths,Chinese,English”;a,b,cy=(a+b+c)/3PRINT “y=”;y END程序程序:例
9、例3 3:给一个变量重复赋值。:给一个变量重复赋值。程序程序:A=10A=A+15PRINT AENDA的输出的输出值是多少值是多少?分析分析:此程序给变量此程序给变量A赋了两次值赋了两次值.A的初值为的初值为10,第二次赋值后第二次赋值后,初值被初值被“覆覆盖盖”,A的值变为的值变为25,因此输出值是因此输出值是25.变式引申变式引申:在此程序的基础上,设计一个程序,在此程序的基础上,设计一个程序,要求最后要求最后A A的输出值是的输出值是30.30.A=10A=A+15PRINT AA=A+5PRINT AEND程序程序:例例3 3:给一个变量重复赋值。:给一个变量重复赋值。程序程序:A=
10、10A=A+15PRINT AEND例例4 4交换两个变量交换两个变量A A和和B B的值的值,并输出交换前后并输出交换前后 的值。的值。分析:分析:引入一个引入一个中间变量中间变量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程序程序:问题问题:能否用下列赋值能否用下列赋值语句交换语句
11、交换A,B的值的值?A=BB=A不能不能!练习练习1 1:编写一个程序编写一个程序,要求输入一个圆的半径要求输入一个圆的半径,便能输出该圆的周长和面积便能输出该圆的周长和面积.(取取3.143.14)分析分析:设圆的半径为设圆的半径为R,R,则圆的周长则圆的周长C=2R,C=2R,面积面积S=RS=R2 2,可以利用顺序结构中的可以利用顺序结构中的INPUTINPUT语句语句,PRINT,PRINT语句和赋值语句设计程序。语句和赋值语句设计程序。INPUT“R=”;RC=2*3.14*RS=3.14*R2PRINT “C=”;CPRINT “S=S=”;S END练习练习3 3.INPUT“a
12、,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的绝对值等的绝对值等.程序程序:p=(2+3+4)/2p=(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 PRINT“S=S=”;S S END END*练习练习4 4:(),SQR xx即ABS(x)=|x|.INPUT
13、“a,b,h=”;a,b,hp=a+bs=ph/2PRINT“s=”;sEND程序:程序:作业作业2 2算法中的条件结构是由条件语句来表达的算法中的条件结构是由条件语句来表达的,条件语句是处理条件分支逻辑结构的算法语句条件语句是处理条件分支逻辑结构的算法语句 .条件语句的一般格式条件语句的一般格式 满足条件?满足条件?语句语句是是否否只含一个只含一个“分支分支”的条件结构的条件结构写成条件语句为写成条件语句为IFIF 条件条件 THENTHEN 语句体语句体END IFEND IF当计算机执行这种形式的条件语句时,首先对当计算机执行这种形式的条件语句时,首先对IFIF后的条件进行判断,如果条件
14、符合,就执行后的条件进行判断,如果条件符合,就执行THENTHEN后的语句体,否则执行后的语句体,否则执行END IFEND IF之后的语句之后的语句.满足条件?满足条件?语句语句1 1语句语句2 2是是否否含两个含两个“分支分支”的条件结构的条件结构写成条件语句为写成条件语句为IFIF 条件条件 THENTHEN 语句体语句体1 1ELSEELSE 语句体语句体2 2END IFEND IF当计算机执行上述语句时,首先对当计算机执行上述语句时,首先对IFIF后的后的条件进行判断,如果条件符合,就执行条件进行判断,如果条件符合,就执行THENTHEN后后的语句体的语句体1 1,否则执行,否则执
15、行ELSEELSE后的语句体后的语句体2.2.条件语句的作用条件语句的作用 在程序执行过程中,根据判断在程序执行过程中,根据判断是否满足约定的条件而决定是否需是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。断后的不同情况进行不同的处理。【例题解析例题解析】例例1 1:编写程序,输入一元二次方程:编写程序,输入一元二次方程axax2 2+bx+c=0+bx+c=0的系的系数,输出它的实数根。数,输出它的实数根。算法分析算法分析:一元二次方程的根有三种不同情况一元二次
16、方程的根有三种不同情况:设判别式设判别式=b=b2 2-4ac-4ac(1)当当0时时,一元二次方程有两个不等的实数根一元二次方程有两个不等的实数根.(2)当当=0时时,一元二次方程有两个相等的实数根一元二次方程有两个相等的实数根.122bxxa(3)当当=0 THENIF d=0 THEN p=-b/(2*a)q=SQR(d)/(2*a)IF d=0 THEN PRINT“One real root:”;pELSE x1=p+q x2=p-q PRINT“Two real roots:“;x1,x2 END IFELSEELSE PRINT “No real root!”END IFENDE
17、ND例例2 2:编写程序,使得任意输入的:编写程序,使得任意输入的3 3个整个整数按从大到小的顺序输出。数按从大到小的顺序输出。算法分析:算法分析:用用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比较比较.
18、并把小者赋给并把小者赋给c c,大者,大者赋给赋给a a,此时,此时a a已是三者中最大的。已是三者中最大的。第四步:将第四步:将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,c
19、IF ba THEN t=a a=b b=tEND IFIF ca THEN t=a a=c c=tEND IFIF cb THEN t=b b=c c=tEND IF END IF PRINT a,b,cENDEND读程序读程序,说明程序的运行过程说明程序的运行过程.INPUT“x=:”;xIF 9x AND xc AND a+cb AND b+ca THEN PRINT“Yes.”ELSE PRINT“No.”END IFENDINPUT“a=”;aIF a MOD 2=0 THEN PRINT“Even.”ELSE PRINT“Odd.”END IFEND算法中的循环结构是由循环语句来实
20、现的算法中的循环结构是由循环语句来实现的 .循环结构有两种循环结构有两种-当型与直到型当型与直到型.满足条件?满足条件?循环体循环体是是否否当型循环结构当型循环结构(当条件满当条件满足时反复执行循环体足时反复执行循环体)直到型循环结构直到型循环结构(反复执反复执行循环体直到条件满足行循环体直到条件满足)循环体循环体是是否否满足条件?满足条件?对应于程序框图中的两种循环结构,一般对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(程序设计语言中也有当型(WHILEWHILE型)和直到型型)和直到型(UNTILUNTIL型)两种语句结构。型)两种语句结构。即即WHILEWHILE语句和语句
21、和UNTILUNTIL语句。语句。(1)WHILE(1)WHILE语句的一般格式是语句的一般格式是:WHILE WHILE 条件条件 循环体循环体WENDWEND其中循环体是由计算机反复执行的一组语句其中循环体是由计算机反复执行的一组语句构成的。构成的。WHLIEWHLIE后面的后面的“条件条件”是用于控制计算机是用于控制计算机执行循环体或跳出循环体的。执行循环体或跳出循环体的。WHILEWHILE当当 时候时候WENDWEND朝朝方向方向 行走行走(1)WHILE(1)WHILE语句的一般格式是语句的一般格式是 WHILE 条件条件 循环体循环体WEND 当计算机遇到当计算机遇到WHILEW
22、HILE语句时语句时,先判断条件的真假先判断条件的真假,如果条件如果条件符合符合,就执行就执行WHILEWHILE与与WENDWEND之间之间的循环体的循环体;然后再检查上述条然后再检查上述条件件,如果条件仍符合如果条件仍符合,再次执行再次执行循环体循环体,这个过程反复进行这个过程反复进行,直直到某一次条件不符合为止到某一次条件不符合为止.这这时时,计算机将不执行循环体计算机将不执行循环体,直直接跳到接跳到WENDWEND语句后语句后,接着执行接着执行WENDWEND之后的语句之后的语句.满足条件?满足条件?循环体循环体是是否否当型循环结构当型循环结构(2)UNTIL(2)UNTIL语句的一般
23、格式是语句的一般格式是:DODO 循环体循环体LOOP UNTIL LOOP UNTIL 条件条件循环体循环体是是否否满足条件?满足条件?直到型循环结构直到型循环结构DODO做什么做什么LOOP UNTILLOOP UNTIL绕环回线走绕环回线走,直到达到某种直到达到某种 条件为止条件为止思考思考:参照其直到型循环结构对应的程序框图参照其直到型循环结构对应的程序框图,说说说说计算机是按怎样的顺序执行计算机是按怎样的顺序执行UNTILUNTIL语句的?语句的?(2)UNTIL(2)UNTIL语句的一般格式是语句的一般格式是:DODO 循环体循环体LOOP UNTIL LOOP UNTIL 条件条
24、件循环体循环体是是否否满足条件?满足条件?直到型循环结构直到型循环结构从从UNTILUNTIL型循环结构分析型循环结构分析,计算机执行该语句时计算机执行该语句时,先先执行一次循环体执行一次循环体,然后进行条件的判断然后进行条件的判断,如果条件不如果条件不满足满足,继续返回执行循环体继续返回执行循环体,然后再进行条件的判断然后再进行条件的判断,这个过程反复进行这个过程反复进行,直到某一次条件满足时直到某一次条件满足时,不再执不再执行循环体行循环体,跳到跳到LOOP UNTILLOOP UNTIL语句后执行其他语句语句后执行其他语句,是先执行循环体后进行条件判断的循环语句是先执行循环体后进行条件判
25、断的循环语句.提问提问:通过对照通过对照,大家觉得大家觉得WHILEWHILE型语句与型语句与UNTILUNTIL型型语句之间有什么区别呢?语句之间有什么区别呢?区别区别:在:在WHILEWHILE语句中语句中,是当条件是当条件满足满足时执行循环时执行循环体体,而在而在UNTILUNTIL语句中语句中,是当条件是当条件不满足不满足时执行循环时执行循环体。体。WHILEWHILE语句的一般格式语句的一般格式WHILE WHILE 条件条件 循环体循环体WENDWENDUNTILUNTIL语句的一般格式语句的一般格式DODO 循环体循环体LOOP UNTIL LOOP UNTIL 条件条件例例1.
26、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+ii=i+1否否输出输出S结束结束当型
27、循环当型循环结构结构变式训练变式训练(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?开始开始结束结束是是f(a)f(m)0?a=mb=m否否|a-b|d或或f(m)=0?输出输出m是是否否f(x)=x2-2输入精确度输入精确度d和初始值和初始值a,b2abm+=回顾例回顾例2 2:用:用“二分法二分法”求方程求方程 的近似解的算法是如何设的近似解的算法是如何设计的?计的?220(0)xxENDENDINPUT INPUT“a a,b b,d=d=”;a a,b b,d dDODOm=(a+b)/2m=(a+b)/2g=ag=a2-22-2f=mf=m2-22-2IF gIF g*f0 THENf0 THENb=mb=mELSEELSEa=ma=mEND IFEND IFLOOP UNTIL ABS(a-b)d OR f=0LOOP UNTIL ABS(a-b)d OR f=0PRINT mPRINT m
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。