1、 1.2.1基本算法语句基本算法语句输入语句、输出语句和赋值语句输入语句、输出语句和赋值语句复习回顾复习回顾 1.1.算法的的基本逻辑结构有哪几种?算法的的基本逻辑结构有哪几种?2.2.设计一个算法的程序框图的基本思设计一个算法的程序框图的基本思路如何?路如何?第二步,确定每个算法步骤所包含的逻第二步,确定每个算法步骤所包含的逻 辑结构,并用相应的程序框图表示辑结构,并用相应的程序框图表示.第一步,用自然语言表述算法步骤第一步,用自然语言表述算法步骤.第三步,将所有步骤的程序框图用流程第三步,将所有步骤的程序框图用流程 线连接起来,并加上两个终端框线连接起来,并加上两个终端框.3.3.计算机完
2、成任何一项任务都需要计算机完成任何一项任务都需要算法,但是,用自然语言或程序框图表算法,但是,用自然语言或程序框图表示的算法,计算机是无法示的算法,计算机是无法“理解理解”的的.因此我们还需要将算法用计算机能够理因此我们还需要将算法用计算机能够理解的程序设计语言来表示解的程序设计语言来表示.这这就是这一节所要研究的主要内容就是这一节所要研究的主要内容基本算法基本算法语句。今天,我们先一起来学习语句。今天,我们先一起来学习输入语句、输出输入语句、输出语句和赋值语句。语句和赋值语句。程序设计语言有很多种。如程序设计语言有很多种。如BASICBASIC,FoxbaseFoxbase,C C语言,语言
3、,C+C+,J+J+,VBVB等。为了实现算法中的等。为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的环结构,各种程序设计语言中都包含下列基本的算法语句:算法语句:输 入 语 句输 入 语 句 输 出 语 句输 出 语 句 赋 值 语 句赋 值 语 句 条件条件 语句语句 循环循环 语句语句已知函数已知函数y=x3 3+3+3x2 2-24-24x+30+30,求自变量,求自变量x对应的函数值的算法步骤如何设计?对应的函数值的算法步骤如何设计?第一步,输入一个自变量第一步,输入一个自变量x的值的值.第
4、三步,输出第三步,输出y.第二步,计算第二步,计算y=x3 3+3+3x2 2-24-24x+30+30.该算法是什么逻辑结构?其程序框图如该算法是什么逻辑结构?其程序框图如何?何?开始开始输入输入x结束结束输出输出yy=y=x3 3+3+3x2 2-24-24x+30+30 这个程序由这个程序由4 4个语句行组成,计算机个语句行组成,计算机按语句行排列的顺序依次执行程序中的按语句行排列的顺序依次执行程序中的语句,最后一行的语句,最后一行的ENDEND语句表示程序到此语句表示程序到此结束结束.INPUTINPUT “x=”=”;x PRINTPRINT “y=”=”;yENDEND30*242
5、*33xxxy-输入语句输入语句-赋值语句赋值语句-输出语句输出语句-表示结束表示结束一一.输入语句输入语句 INPUT INPUT“提示内容提示内容”;变量;变量输入语句的一般格式输入语句的一般格式 说明说明:(1)(1)输入语句的作用是实现算法的输入信息功能;输入语句的作用是实现算法的输入信息功能;(2)(2)“提示内容提示内容”提示用户输入什么样的信息,提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;变量是指程序在运行时其值是可以变化的量;(3)(3)输入语句要求输入的值输入语句要求输入的值只能是具体的常数只能是具体的常数,不能是函数、变量或表达式;不能是函数、变量或表
6、达式;(4)(4)提示内容与变量之间用分号提示内容与变量之间用分号“;”隔开,隔开,(5)“提示内容提示内容”和它后面的和它后面的 “;”可以省略;可以省略;如如INPUT“x=”;x 或或INPUT x例如例如,输入一个学生数学输入一个学生数学,语文语文,英语三门课的成绩英语三门课的成绩,可以写成:可以写成:INPUT“数学,语文,英语数学,语文,英语=”;a,b,c注意注意:INPUTINPUT语句还可以给多个变量赋值语句还可以给多个变量赋值,变量与变变量与变量之间用逗号量之间用逗号“,”隔开隔开.其格式为:其格式为:INPUT INPUT“提示内容提示内容1 1,提示内容,提示内容2 2
7、,”;变量;变量1 1,变量,变量2 2,练一练练一练:1、给定一个任意正整数、给定一个任意正整数n。2、给定三角形的三条边长、给定三角形的三条边长1INPUT“n=”;n 2INPUT a,b,c 二二.输出语句输出语句 PRINT “提示内容提示内容”;表达式;表达式输出常量,变量的值和字符串等系统信息。输出常量,变量的值和字符串等系统信息。输出数值计算的结果。输出数值计算的结果。(1)(1)输出语句的用途:输出语句的用途:输出语句的一般格式输出语句的一般格式(3)同输入语句一样,表达式前也可以有同输入语句一样,表达式前也可以有“提提示内容示内容”.思考思考:在课本在课本P7P7页图页图1
8、.1-21.1-2程序框图中的输程序框图中的输出框的内容怎样用输出语句来表达?出框的内容怎样用输出语句来表达?参考答案:参考答案:输出框:输出框:PRINT PRINT “n n是质数是质数.”PRINT PRINT “n n不是质数不是质数.”如如P9页的输出框页的输出框 可以转化为输出可以转化为输出语句语句:输出输出SPRINT“S=”;S【例题解析例题解析】例例2 2:编写程序,计算一个学生数学、语文、:编写程序,计算一个学生数学、语文、英语三门课的平均成绩。英语三门课的平均成绩。分析分析:先写出算法,画出程序框图,再进行编程。:先写出算法,画出程序框图,再进行编程。结束结束开始开始输入
9、输入a,b,c输出输出y3 3abcy 程序框图程序框图程序程序:INPUT“Maths=”;aINPUT“Chinese=”;bINPUT“English=”;cPRINT“The average=”;(a+b+c)/3ENDy=(a+b+c)/3输出y结束开始例例2、编写程序,计算一个学生数学、语文、英、编写程序,计算一个学生数学、语文、英语三门课的平均成绩。语三门课的平均成绩。INPUT “a,b,c”;a,b,c y=(a+b+c)/3PRINT“y=”;yEND输入a、b、cINPUT “a,b,c”;a,b,c PRINT“y=”;(a+b+c)/3END程序程序2程序程序3三三.
10、赋值语句赋值语句(1)赋值语句的一般格式赋值语句的一般格式:变量表达式变量表达式(2)2)作用作用:先计算出赋值号右边表达式的值先计算出赋值号右边表达式的值,然后把这个然后把这个值赋给左边的变量值赋给左边的变量,使该变量的值等于表达式的值。使该变量的值等于表达式的值。(3)(3)赋值语句左边只能是赋值语句左边只能是变量名字变量名字而不是表达式而不是表达式,如如:2=x:2=x是错误的是错误的;右边表达式可以是一个右边表达式可以是一个数据、常量或算式数据、常量或算式;不能利用赋值语句进行代数式的演算。(如化简、因式不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等)分解、解方程等)(
11、4 4)一个语句只能给一个变量赋值。)一个语句只能给一个变量赋值。(5 5)对于一个变量可以多次赋值,但变量的取值总是)对于一个变量可以多次赋值,但变量的取值总是最近被赋值的。最近被赋值的。判断下列给出的输入语句、输出语句和赋值语句是否正确?为什么?判断下列给出的输入语句、输出语句和赋值语句是否正确?为什么?(1)输入语句 INPUT a;b;c(1)输入语句 INPUT a;b;c(2)输入语句 INPUT x3(2)输入语句 INPUT x3(3)输出语句 A4(3)输出语句 A4(4)输出语句 PRINT 20.3*2(4)输出语句 PRINT 20.3*2(5)赋值语句 3B(5)赋值
12、语句 3B(6)赋值语句 xy0(6)赋值语句 xy0(7)赋值语句 AB2(7)赋值语句 AB2(8)赋值语句 TT*T(8)赋值语句 TT*T(1 1)错错,变量之间应用变量之间应用,号隔开号隔开;(2 2)错错,INPUT,INPUT语句中只能是变量语句中只能是变量,而不能是表达式而不能是表达式;(3 3)错错,PRINT,PRINT语句不能用赋值号语句不能用赋值号=;(4 4)正确正确,PRINT,PRINT语句可以输出常量、表达式的值;语句可以输出常量、表达式的值;(5 5)错错,赋值语句中赋值语句中=号左右不能互换;号左右不能互换;(6 6)错错,不能给一个表达式赋值;不能给一个表
13、达式赋值;(7 7)错错,一个赋值语句只能给一个变量赋值;一个赋值语句只能给一个变量赋值;(8 8)正确正确,该句的功能是将当前该句的功能是将当前T T的值平方后再赋给变量的值平方后再赋给变量T.T.练习:练习:解析:解析:练习:读下列两个程序练习:读下列两个程序,回答问题回答问题.X=3 y=4 x=y PRINT x,y END上述程序最后输出的上述程序最后输出的x,y 分别是为分别是为:X=3 y=4 y=x PRINT x,y END4,43,3三、课后练习三、课后练习1:p.24练习第一题程序练习第一题程序程序:程序:INPUT“F=”;FC=(F-32)*5/9PRINT“C=”;
14、CEND取余数取余数MOD取商取商=幂运算幂运算除法运算除法运算/乘法运算乘法运算功能功能运算符运算符*Inx|x|功能功能LOG(x)SQR(x)ABS(x)注意事项注意事项函数名函数名xx0 x0 x0 x0BASIC语言中的常用运算符号语言中的常用运算符号例例3 3:给一个变量重复赋值。:给一个变量重复赋值。程序程序:A=10A=A+15PRINT AENDA的输出的输出值是多少值是多少?分析分析:此程序给变量此程序给变量A赋了两次值赋了两次值.A的初值为的初值为10,第二次赋值后第二次赋值后,初值被初值被“覆覆盖盖”,A的值变为的值变为25,因此输出值是因此输出值是25.变式引申变式引
15、申:在此程序的基础上,设计一个程序,在此程序的基础上,设计一个程序,要求最后要求最后A A的输出值是的输出值是30.30.A=10A=A+15PRINT AA=A+5PRINT AEND程序程序:例例3 3:给一个变量重复赋值。:给一个变量重复赋值。程序程序:A=10A=A+15PRINT AEND对于一个变量可以多次赋值,对于一个变量可以多次赋值,但变量的取值总是最近被赋值的。但变量的取值总是最近被赋值的。例例4 4交换两个变量交换两个变量A A和和B B的值的值,并输出交换前后并输出交换前后 的值。的值。分析:分析:引入一个引入一个中间变量中间变量X X,将将A A的值赋予的值赋予X,X,
16、又将又将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=BB=A不能不能!1:下列给出的输入下列给出的输入,输出语句正确的是输出语句正确的是()输入语句输入语句INPUT a;b;c 输入语句输入语句INPUT x=3 输出语句输出语句PRINT A=4
17、输出语句输出语句PRINT 20,3*22:当当x的值为的值为5时时,“PRINT“x=”;x”在屏在屏幕上输出的结果是幕上输出的结果是()A:5=5 B:5 C:5=x D:x=5练习练习1INPUT“A,B=”;A,BINPUT“A,B=”;A,BB=A+BB=A+BA=B-AA=B-AB=B-AB=B-APRINT“A,B=”;A,BPRINT“A,B=”;A,BENDEND(运行时从键盘输入运行时从键盘输入3,7)3,7)(1)(1)(2)(2)A=-1000A=-1000A=A+100A=A+100PRINT“A=”;APRINT“A=”;AENDEND 将一个变量的值赋给另一个变量
18、,前一个变量的值保将一个变量的值赋给另一个变量,前一个变量的值保持不变;可先后给一个变量赋多个不同的值,但变量的取持不变;可先后给一个变量赋多个不同的值,但变量的取值总是最近被赋予的值值总是最近被赋予的值。A=900A,B=7 3练习练习2.分析下列程序,考虑输出的结果是什么?分析下列程序,考虑输出的结果是什么?(3)a=1 b=a+3 b=b+1 PRINT“b=”;b运算结果是运算结果是 (b=5)(4)a=2 b=3 c=4 b=c+2 c=b+4 d=(a+b+c)/3 PRINT“d=”;d 运算结果是(运算结果是()d=6a=2a=2b=3b=3c=a+bc=a+bb=a+c-bb
19、=a+c-bPRINT“a=,b=,c=”PRINT“a=,b=,c=”;a,b,ca,b,cENDEND运算结果是运算结果是 ()(5)(5)(6)(6)x=1x=1x=xx=x*2 2x=xx=x*3 3x=xx=x*4 4PRINT xPRINT x*5 5ENDEND运算结果是运算结果是 ()a=,b=,c=2 4 5120三、课后练习三、课后练习2:p.24练习第二题程序练习第二题程序程序:程序:INPUT“a=,b=”;a,bsum=a+bdiff=a-bmul=a*bdiv=a/bPRINT sum,diff,mul,divEND三、课后练习三、课后练习3:p.24练习第三题程序
20、练习第三题程序程序:程序:INPUT“a=”;aINPUT“b=”;bINPUT“c=”;cp=(a+b+c)/2s=SQR(p*(p-a)*(p-b)*(p-c)PRINT“s=”;sEND三、课后练习三、课后练习4:p.24练习第四题程序练习第四题程序程序:程序:INPUT“a,b,c=”;a,b,cx=10.4*ay=15.6*bz=25.2*csum=x+y+zPRINT“sum=”;sumEND练习练习1 1:编写一个程序编写一个程序,要求输入一个圆的半要求输入一个圆的半径径,便便能输出该圆的周长和面积能输出该圆的周长和面积.(取取3.143.14)分析分析:设圆的半径为设圆的半径为
21、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读下列两个程序语句回答问题读下列两个程序语句回答问题.(1)上述两个程序有何区别上述两个程序有何区别.(2)写出两个程序的运行结果;写出两个程序的运行结果;(a)INPUT X INPUT Y X=2013 Y=2012 X=Y PRINT X,Y END(b)I
22、NPUT X INPUT Y X=2013 Y=2012 Y=X PRINT X,Y END能力提升能力提升(a)2012 2012(b)2013 2013归纳总结归纳总结巩固提高巩固提高 水果店的老板忙极了,小新设计了一个程序水果店的老板忙极了,小新设计了一个程序帮助老板算账帮助老板算账.已知水晶梨已知水晶梨2.4元元/千克,葡萄千克,葡萄8.6元元/千克,哈密瓜千克,哈密瓜4.2元元/千克,某顾客分别买这三千克,某顾客分别买这三种水果种水果a,b,c 千克千克.请你将程序补充完整。请你将程序补充完整。INPUT A=2.4*a B=8.6*b C=4.2*c S=PRINT ENDa,b,
23、cA+B+CS练习练习2 2P24P24页页T1.T1.程序程序:INPUT“F=”;F C=(F-32)5/9 PRINT“C=”;C END*练习练习3 3P24P24页页T2.T2.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的绝对值等的绝对值等.程序:程序:p=(2+3+4)/2 p=(2+3+4)/2 t=p t=p (p-2)(p
24、-2)(p-3)(p-3)(p-4)(p-4)S=SQR(t)S=SQR(t)PRINT PRINT“S=S=”;S S END END*练习练习4 4P24P24页页T3.T3.:(),SQR xx即ABS(x)=|x|.INPUT“a,b,c=”;a,b,cX=10.4aY=15.6bZ=25.2csum=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)本节
25、课介绍了输入语句、输出语本节课介绍了输入语句、输出语句和赋值语句的结构特点及联系句和赋值语句的结构特点及联系.(2)(2)掌握并应用输入语句掌握并应用输入语句,输出语句输出语句,赋值语句编写一些简单的程序解决数学赋值语句编写一些简单的程序解决数学问题问题,特别是掌握赋值语句中特别是掌握赋值语句中“=”的作的作用及应用用及应用.(3)(3)编程一般的步骤编程一般的步骤:先写出算法先写出算法,再进行编程再进行编程.我们要养成良好的习惯我们要养成良好的习惯,也也有助于数学逻辑思维的形成。有助于数学逻辑思维的形成。比较下列各组语句的区别,再判断它比较下列各组语句的区别,再判断它们是否正确们是否正确.(
26、1)输入语句输入语句 INPUT“a=”;a 输入语句输入语句 INPUT“a=”,a(2)输入语句输入语句 INPUT“a,b,c=”;a,b;c 输入语句输入语句 INPUT a,b,c“提示内容提示内容”与变量与变量之间用之间用分号分号隔开隔开.“提示内容提示内容”与后面的与后面的“;”可可省略省略.变量与变量之变量与变量之间用间用逗号逗号隔开隔开出出PRINT出出出出出出PRINTPRINTPRINT 比较下列各组语句的区别,再判断它比较下列各组语句的区别,再判断它们是否正确们是否正确.(3)输出语句输出语句PRINT“S=”;7 输出语句输出语句PRINT S=7赋值号赋值号左边左边
27、是变是变量,量,只能只能给一个给一个变量赋值变量赋值.输入、输出语输入、输出语句中句中不能不能用赋用赋值号值号.(4)赋值语句赋值语句 r9 赋值语句赋值语句 9r 赋值语句赋值语句 Rr9 1.2.2基本算法语句基本算法语句 条件语句条件语句算法中的条件结构是由条件语句来表达的算法中的条件结构是由条件语句来表达的,条件语句是处理条件分支逻辑结构的算法语句条件语句是处理条件分支逻辑结构的算法语句 .条件语句的一般格式条件语句的一般格式 满足条件?满足条件?语句语句是是否否只含一个只含一个“分支分支”的条件结构的条件结构写成条件语句为写成条件语句为IFIF 条件条件 THENTHEN 语句体语句
28、体END IFEND IF当计算机执行这种形式的条件语句时,首先对当计算机执行这种形式的条件语句时,首先对IFIF后的条件进行判断,如果条件符合,就执行后的条件进行判断,如果条件符合,就执行THENTHEN后的语句体,否则执行后的语句体,否则执行END IFEND IF之后的语句之后的语句.满足条件?满足条件?语句语句1 1语句语句2 2是是否否含两个含两个“分支分支”的条件结构的条件结构写成条件语句为写成条件语句为IFIF 条件条件 THENTHEN 语句体语句体1 1ELSEELSE 语句体语句体2 2END IFEND IF当计算机执行上述语句时,首先对当计算机执行上述语句时,首先对IF
29、IF后的后的条件进行判断,如果条件符合,就执行条件进行判断,如果条件符合,就执行THENTHEN后后的语句体的语句体1 1,否则执行,否则执行ELSEELSE后的语句体后的语句体2.2.条件语句的作用条件语句的作用 在程序执行过程中,根据判断在程序执行过程中,根据判断是否满足约定的条件而决定是否需是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。断后的不同情况进行不同的处理。【例题解析例题解析】例例1 1:编写程序,输入一元二次方程:编写程序,输入一元二次方程axa
30、x2 2+bx+c=0+bx+c=0的系的系数,输出它的实数根。数,输出它的实数根。一元二次方程的根有三种不同情况一元二次方程的根有三种不同情况:设判别式设判别式=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:”;p ELSE x1=p+q x2=p-q PRINT“Two rea
31、l roots:“;x1,x2 END IFELSEELSE PRINT “No real root!”END IFENDEND例例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与
32、与b b比较,并把小者赋给比较,并把小者赋给b b,大者,大者赋给赋给a.a.第三步:将第三步:将a a与与c c比较比较.并把小者赋给并把小者赋给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.b=cc=tb=tc=ta=c【程序框图程序框图】开始开始输入输入a,b,cba?是是t=aa=b否否ca?是是t=
33、a否否cb?t=b是是否否输出输出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=tEND IFIF cb THEN t=b b=c c=tEND IF END IF PRINT a,b,cENDEND 【课堂小结课堂小结】本节课主要学习了条件语句的结构、特点、本节课主要学习了条件语句的结构、特点、作用以及用法,并懂得利用它解决一些简单问作用以及用法,并懂得利用它解决一些简单问题。条件语句使程序执行产生的分支,根据不题。条件语句使程序执行产生的分支
34、,根据不同的条件执行不同的路线,使复杂问题简单化。同的条件执行不同的路线,使复杂问题简单化。条件语句一般用在需要对条件进行判断的条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句往往要用条件语句,有时甚至要用到条件语句的嵌套。的嵌套。【课堂练习课堂练习】1.1.课本课本P29P29页页T2.T2.读程序读程序,说明程序的运行过程说明程序的运行过程.INPUT“x=:”;xIF 9x AND xc AND a
35、+cb AND b+ca THEN PRINT“Yes.”ELSE PRINT“No.”END IFEND参考答案:参考答案:3.3.课本课本P29P29页页T3.T3.编写求一个数是偶数还是奇数的编写求一个数是偶数还是奇数的程序程序,从键盘输入一个整数从键盘输入一个整数,输出该数的奇偶性输出该数的奇偶性.INPUT“a=”;aIF a MOD 2=0 THEN PRINT“Even.”ELSE PRINT“Odd.”END IFEND参考答案:参考答案:4.4.课本课本P29P29页页T4.T4.闰年指年闰年指年份能被份能被4 4整除整除但不能被但不能被100100整除整除,或者能或者能被被
36、400400整除的整除的年份年份.编写一编写一个程序个程序,判断判断输入的年份输入的年份是否为闰年是否为闰年.INPUT“Please input a year:”;y b=y MOD 4 c=y MOD 100 d=y MOD 400IF b=0 AND c0 THEN PRINT“Leap year.”ELSEIF d=0 THEN PRINT“Leap year.”ELSE PRINT“Not leap year.”END IFEND IFEND参考答案:参考答案:表示表示c0c0小常识:地球绕太阳公转,每年并不是365天,而是多出来5个多个小时,这样的话,每四年就会多将近1天,所以就放
37、在2月的第29天了,闰年由此诞生。由于不是准确地多出来24小时,所以基本上每经过24个闰年就不会多出1天了,但还是会多出几分钟的,如果从公元元年开始计的话正好也就是逢100的年份大多数时候不是闰年,这样把多出的那几分钟再攒着,经过400年后,就会有一个逢100的年份是闰年,比如公元1600年是闰年,1700、1800、1900年都不是,2000年才是闰年,下一次是2400年 5.编写一个程序编写一个程序,输入两个整数输入两个整数a,b,判断判断a是否是否能被能被b整除整除.INPUT“a,b=”;a,bIF a MOD b=0 THEN PRINT“b divides a.”ELSE PRIN
38、T“b does not divide a.”END IFEND参考答案:参考答案:6.(P33页页B组组T3)INPUT“x=”;xIF x=1 AND x10 THEN y=2x-1ELSE y=3x-11 END IFEND IFPRINT“y=”;yEND参考答案:参考答案:1.2.3基本算法语句基本算法语句 循环语句循环语句算法中的循环结构是由循环语句来实现的算法中的循环结构是由循环语句来实现的 .循环结构有两种循环结构有两种-当型与直到型当型与直到型.满足条件?满足条件?循环体循环体是是否否当型循环结构当型循环结构(当条件满当条件满足时反复执行循环体足时反复执行循环体)直到型循环结
39、构直到型循环结构(反复执反复执行循环体直到条件满足行循环体直到条件满足)循环体循环体是是否否满足条件?满足条件?对应于程序框图中的两种循环结构,一般对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(程序设计语言中也有当型(WHILEWHILE型)和直到型型)和直到型(UNTILUNTIL型)两种语句结构。型)两种语句结构。(1)WHILE(1)WHILE语句的一般格式是语句的一般格式是 WHILE 条件条件 循环体循环体WEND 当计算机遇到当计算机遇到WHILEWHILE语句时语句时,先判断条件的真假先判断条件的真假,如果条件如果条件符合符合,就执行就执行WHILEWHILE与与W
40、ENDWEND之间之间的循环体的循环体;然后再检查上述条然后再检查上述条件件,如果条件仍符合如果条件仍符合,再次执行再次执行循环体循环体,这个过程反复进行这个过程反复进行,直直到某一次条件不符合为止到某一次条件不符合为止.这这时时,计算机将不执行循环体计算机将不执行循环体,直直接跳到接跳到WENDWEND语句后语句后,接着执行接着执行WENDWEND之后的语句之后的语句.满足条件?满足条件?循环体循环体是是否否当型循环结构当型循环结构WHILEWHILE当当时候时候WENDWEND 朝朝方向行走方向行走(2)UNTIL(2)UNTIL语句的一般格式是语句的一般格式是:DODO 循环体循环体LO
41、OP UNTIL LOOP UNTIL 条件条件循环体循环体是是否否满足条件?满足条件?直到型循环结构直到型循环结构DODO做什么做什么LOOP UNTILLOOP UNTIL绕环回线走绕环回线走,直到达到某种直到达到某种 条件为止条件为止思考思考:参照其直到型循环结构对应的程序框图参照其直到型循环结构对应的程序框图,说说说说计算机是按怎样的顺序执行计算机是按怎样的顺序执行UNTILUNTIL语句的?语句的?提问提问:通过对照通过对照,大家觉得大家觉得WHILEWHILE型语句与型语句与UNTILUNTIL型型语句之间有什么区别呢?语句之间有什么区别呢?区别区别:在:在WHILEWHILE语句
42、中语句中,是当条件是当条件满足满足时执行循环时执行循环体体,而在而在UNTILUNTIL语句中语句中,是当条件是当条件不满足不满足时执行循环时执行循环体。体。WHILEWHILE语句的一般格式语句的一般格式WHILE WHILE 条件条件 循环体循环体WENDWENDUNTILUNTIL语句的一般格式语句的一般格式DODO 循环体循环体LOOP UNTIL LOOP UNTIL 条件条件例例1.1.编写程序编写程序,计算自然数计算自然数1+2+3+1+2+3+99+100+99+100的和的和.分析分析:这是一个累加问题这是一个累加问题.我们可我们可以用以用WHILEWHILE型语句型语句,也
43、可以用也可以用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结束结束当型循环当型循环结构结构变式训练变式训练(1):(1):编写程序求编写程序求:1:12 23 34 45 5n n的值的值.如何修改如何修改?输入输入nWHILEWHILE语句语句i=1S=0WHLIE i
44、100PRINT 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,将程序框图转化为程序语句将程序框图转化为程序语句.分析分析:仔细观察仔细观察,该程序框图中既有条件结构该程序框图中既有条件结构,又又有循环结构。有循环结构。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
45、PRINT“n is a prime number.”END IFEND程序程序是是是是否否f(a)f(m)0?程序框图程序框图开始开始f(x)=x2-2输入误差输入误差和初值和初值a,b2abma=m否否b=m|a-b|或或f(m)=0?输出输出m结束结束第第19页页1.1-20程序语言程序语言a=1b=2d=0.005DOm=(a+b)/2f=m2-2g=a2-2IF gf0 THENb=mELSEa=mEND IFLOOP UNTIL ABS(a-b)d OR f=0PRINT mEND继续继续P33页页B组题组题1程序框图程序框图程序程序INPUT a1,b1,c1,a2,b2,c2IF a10 THENu=-a2/a1b=b2+b1uc=c2+c1uy=c/bx=(c2-b2y)/a2ELSEy=c1/b1x=(c2-b2y)/a2END IFPRINT x,yEND 开始开始程序框图程序框图输入输入a1,b1,c1,a2,b2,c2a10?是是u=-a2/a1b=b2+b1uc=c2+c1uy=c/bx=(c2-b2y)/a2否否y=c1/b1输出输出x,y结束结束