金榜之路
学大陪你
个性化辅导
关于我们  |  联系我们

2015年高一数学课文循环语句教案

来源:学大教育     时间:2015-12-05 20:30:38


新课改以后高中数学当中增加了一些新的数学内容,应该重视这些内容的教案。下面一起来看一下学大的专家精心的为大家准备的关于2015年高一数学课文循环语句教案的一些资料,帮助大家更好的做好高一数学的教学工作。

[学习目标导航]

学习提示

1.理解循环语句的两种形式,当型(while型)和直到型(until),能读懂循环型语句.

2.掌握两种循环型语句的使用技巧,并能在程序设计时正确运用.

重点是循环语句的两种结构;难点是准确用于程序设计.

[教材优化全析]

算法中的循环结构由循环语句来实现.对应于两种不同的循环结构,程序设计语言中的循环语句也分为两种:当型和直到型,即while语句和until语句.

(一)WHILE语句的一般格式是

全析提示

条件可以有多个,中间用AND连结.

循环体可有多个语句.

应用方法是:当计算机遇到WHILE语句时,先判断条件的真假,若为真,就执行WHILE与WEND之间的语句,然后再检查上述条件,若仍符合,就再次执行这些语句(循环体),反复进行,直到某一次条件不符合为止.当条件为假时,将不执行循环体,直接跳到WEND语句后,执行WEND之后的语句.因此,当型循环有时也称为"前测试型循环".

通俗地说,符合条件就循环,不符合条件就跳出循环.

如计算1×3×5×7×...×99的算法,用WHILE语句表示如下:

虚线框内就是一个当型结构对应的WHILE语句.

PRINT "1×3×5×7×...×99=";s

END

计算机在执行这个程序时由于数很大会溢出.

(二)UNTIL语句的一般格式是

循环体可由多个语句组成,条件可有多个.

应用方法是:当计算机遇到UNTIL语句时,先执行一次循环体,再判断是否满足条件,若不满足,再执行循环体,然后再检查是否满足条件,如此反复,直到满足条件时为止.当满足条件时,将不执行循环体,直接跳到LOOP UNTIL语句后,执行LOOP UNTIL后的语句.因此,直到型循环又称为"后测试型循环".

如计算"1×3×5×7×...×99"的算法,用UNTIL语句表示如下:

通俗地说,先执行一次,若不符合条件就循环,符合条件就跳出循环.

虚线框内就是一个直到型结构对应的UNTIL语句.

PRINT "1×3×5×7×......×99=";s

END

在设计程序时,一般说来,这两种语句用哪一种都可以,但在某些限定条件下,有时用WHILE语句较好表达,有时用UNTIL语句较好表达.因此,我们应认真分析题目,力求用一种最完美的表示方法.

[典型例题探究]

【例1】求1+...+的值,用程序语言表示其算法.

分析:设置累加和,用循环语句实现,可用WHILE语句,也可以用UNTIL语句.

解:(方法一)"WHILE语句"

s=1

i=2

WHILE i<=100

a=1/i

s=s+a

i=i+1

规律发现

此处可以改为

s=0

i=1

WEND

PRINT "1+...+=";s

END

(方法二) "UNTIL语句"

s=1

i=2

DO

a=1/i

s=s+a

i=i+1

LOOP UNTIL i>100

PRINT "1+...+=";s

END

【例2】求12+22+32+...+n2<1000成立的n的最大整数值,用程序语言表示其算法.

分析:设置累加和,用循环语句实现.循环的条件是累加和小于1000.

如果是求1+3+5+7+...+99的值,则关键处"i=i+1"改为"i=i+2"!类似的问题可仿此解决.

解:(方法一)"WHILE语句"

s=1

i=2

此处可改为

s=0

i=1

WHILE s<1000

a=i∧2

s=s+a

i=i+1

WEND

i=i-2

PRINT "n的最大整数值为:";i

END

可直接写成

s=s+I∧2

(方法二)"UNTIL语句"

s=1

i=2

DO

a=i∧2

s=s+a

i=i+1

LOOP UNTIL s>1000

i=i-2

PRINT "n的最大整数值为:";i

END

在循环体外设置"i=i-2"的原因是:在循环体内判断s<1000时执行了两次i=i+1,导致不符合要求,从而i的值应该减去2.

类似地,将平方改为立方、四次方、开平方等均可设计类似的程序.

【例3】一个小朋友在一次玩皮球时,偶然发现一个现象:球从某高度落下后,每次都反弹回原高度的,再落下,再反弹回上次高度的,如此反复.假设球从100 cm处落下,那么第10次下落的高度是多少?在第10次落地时共经过多少路程?试用程序语言表示其算法.

生活中处处存在数学问题,只要留心便会发现许多有趣的问题.

分析:第一次下落时高度h1=100 cm,经过一次;第二次下落时高度h2=cm,经过2次;第三次下落时高度h3= cm,经过2次......第十次下落时高度h10= cm,经过2次.经过的总路程是各次高度的和.

解:s=0

h=100

s=s+h

i=2

可画示意图帮助分析

WHILE i<=10

h=h/3

s=s+2*h

i=i+1

WEND

PRINT "第10次下落的高度为:";h

PRINT "第10次落地时共经过的路程为:";s

END

【例4】已知m、n是两个正整数,求m+n<10的所有正整数对m、n.

若用UNTIL语句,则为:

DO

h=h/3

s=s+2*h

i=i+1

LOOP UNTIL i>10

分析:当m=1时,n可取1,2,3,4,5,6,7,8;当m=2时,n可取1,2,3,4,5,6,7;当m=3时,n可取1,2,3,4,5,6;...;当m=8时,n取1.利用循环语句实现上述算法.

用列举法找出规律;对m,n都是循环的.

解:m=1

n=1

PRINT "适合m+n<10的所有正整数对是:"

WHILE m<=8

DO

PRINT m,n

n=n+1

LOOP UNTIL m+n>=10

m=m+1

n=1

WEND

END

条件可以适当放大,如改为m<=9或m<=10都可以,但增加了循环时间和次数.

【例5】用公式・*...・,求π的近似值.

分析:设公式右边为t,则π=2t.关键是求出t的值.从公式看,分子是连续偶数的关系,分母是相邻两个奇数的关系,利用循环语句可以实现.求t的值,需要输入n的值.

寻找题目所给式子的特征.

解:INPUT "请输入正整数n的值:";n

m=2*n

t=1

i=2

WHILE i<=m

x=i*i

y=(i-1)*(i+1)

t=t*x/y

i=i+2

WEND

z=2*t

PRINT "PI的值为:";z

END

通过多个赋值语句,可以简化一个计算式子的书写.

[教材习题研讨]

P21 思考

答案:当计算机遇到UNTIL语句时,先执行一次循环体,再判断是否满足条件,若不满足,再执行循环体,然后再检查是否满足条件,如此反复.当满足条件时,将不执行循环体,转而执行LOOP UNTIL后的语句.

方法点拨

WHILE语句称为前测试型,UNTIL语句称为后测试型.

P22 思考

答案:课本上的算法可以改进.将循环条件"WHILE d<=n-1 AND flag=1"改为"WHILE d<=SQR(n) AND flag=1"即可.

改进后循环次数少了,提高了解题速度.

P23 练习

1.解:a=1

b=2

c=0.005

DO

x=(a+b)/2

f(a)=a∧2-2

f(x)=x∧2-2

IF f(x)=0 THEN

PRINT "方程根为:";x

ELSE

IF f(a)*f(x)<0 THEN

b=x

若改为

INPUT"请输入a、b的值:";a、b

INPUT "请输入误差范围c:";c

则该题的区间范围、误差范围还可以改变、限制.

ELSE

a=x

END IF

END IF

LOOP UNTIL ABS(a-b)<=c

PRINT "方程的近似根为:";x

END

|a-b|<=c不成立时循环,成立时则停止循环.

2.解:x=1

WHILE x<=20

y=x∧2-3*x+5

PRINT "x=";x

PRINT "y=";y

x=x+1

WEND

END

计算一个、输出一个,再计算、输出下一个,如此反复.

3.解:t=1

i=1

INPUT "请输入n的值:";n

DO

t=t*i

i=i+1

LOOP UNTIL i>n

PRINT "这个数的阶乘为:";t

END

也可以用WHILE语句

WHILE i<=n

t=t*i

i=i+1

WEND

输出语句可写成

PRINTn;"!=";t

P23 习题1.2

A组

1.解:(1)输入你的名字,输出你的名字.

(2)A=1 A=1×2=2 A=2×3=6 A=6×4=24 A=24×5=120 输出 5! 是120

正确理解输入语句、输出语句和赋值语句.

2.解:INPUT "梯形的上底、下底、高分别为:";a,b,h

c=(a+b)/2

S=c*h

PRINT "梯形的面积S=";S

END

a,b,h可分别输入,写成三个INPUT语句.

3.解:INPUT "请输入两个整数a,b:";a,b

IF a MOD b=0 THEN

PRINT "a能被b整除"

MOD表示取余数,整除即余数为0.

输出语句可以写成

ELSE

PRINT "a不能被b整除"

END IF

END

4.解:INPUT "请输入加数的个数n:";n

t=1

i=2

PRINTa;"能被";b;"整除"

sum=0

DO

sum=sum+i

t=t+1

i=

sum=sum+i是累加求和,t=t+1表示计数器.

LOOP UNTIL t>n

PRINT "和s=";sum

END

可以用WHILE语句,条件是t<=n.

5.解:s=1

t=1

p=1

i=1

j=1

k=1

INPUT "请输入n,m的值:";n,m

DO

s=s*i

i=i+1

LOOP UNTIL i>n

设置三个计数器,三个独立的循环结构.

DO

t=t*j

j=j+1

LOOP UNTIL j>m

DO

p=p*k

k=k+1

LOOP UNTIL k>n-m

a=t*p

b=s/a

PRINT "组合数的值为:";b

END

可以写成WHILE语句,同学们自己写出.

B组

1.解:R=0.5

a=1000

i=1

DO

a=a*(1+R)

i=i+1

LOOP UNTIL i>6

PRINT "2008年底的资金总额为:";a

END

2008年底资金总额为1000(1+0.5)6万元,设计成累乘的形式,用循环结构.如用INPUT语句输入a、R的值,则具有一般意义.

2.解:INPUT "请输入x的值:";x

IF x<1 THEN

y=x

PRINT "y=";y

ELSE

IF x<10 THEN

y=2*x-1

PRINT "y=";y

ELSE

y=3*x-11

PRINT "y=";y

END IF

END IF

END

分段函数对应于条件结构,用条件语句的形式,可以形成嵌套.

3.解:INPUT "请输入数字a和加数的个数n:";a,n

s=0

b=a

i=1

DO

s=s+b

b=b*10+a

i=i+1

LOOP UNTIL i>n

PRINT "s=";s

END

实数aaaa=a×103+a×102+a×10+a,

aaaa=aaa×10+a,类推.

[知识应用自测]

思路导引

1.写出下列程序运行的结果.

(1)a=2 (2)x=100

i=1 i=1

WHILE i<=6 DO

a=a+1 x=x+10

PRINT i,a PRINT i,x

i=i+1 i=i+1

WEND LOOP UNTIL x=200

END END

答案:(1)1,3;2,4;3,5;4,6;5,7;6,8.

(2)1,110;2,120;3,130;4,140;5,150;6,160;7,170;8,180;9,190;10,200.

←理解当型语句和直到型语句的不同,理解循环体的执行步骤.

2.求小于100的所有正偶数的和,设计一个算法的程序.

解:s=2

i=4

DO

s=s+i

i=i+2

LOOP UNTIL i>=100

PRINT "2+4+6+...+98=";s

END

←用UNTIL语句.

3.计算100×(1+0.02)8,用循环语句写出算法.

解:a=100

R=0.002

i=1

WHILE i<=8

a=a*(1+R)

i=i+1

WEND

PRINT "100*(1+0.002)∧8=";a

END

←用WHILE语句.

4.求平方值小于1000的最大正整数,写出一个算法的程序.

解:i=1

DO

s=i∧2

i=i+1

LOOP UNTIL s>=1000

i=i-2

PRINT "平方值小于1000的最大正整数为:";i

END

←用UNTIL语句.

5.计算1+2+22+23+24+...+263,写出算法的程序.

解:s=1

n=2

i=1

WHILE i<=63

s=s+n∧i

i=i+1

WEND

PRINT "1+2+2∧2+2∧3+...+2∧63=";s

END

←用WHILE语句.

6.1,1,2,3,5,8,13,21,...这一列数的规律是:从第三个数开始,每个数为其前面两个数的和,写出计算这列数前20个数的和的算法程序.

解:A=1

B=1

s=A+B

i=1

WHILE i<=18

C=A+B

s=s+C

A=B

B=C

i=i+1

WEND

PRINT "前20个数的和为:";s

END

←用WHILE语句,设置累加项.

7.设计0°~180°间隔为10°的角的正弦值的求法程序.

解:A=0

DO

C=3.14159265*A/180

B=sin(C)

PRINT "角和它的正弦值分别为:";A,B

A=A+10

LOOP UNTIL A>180

END

←用t=t+10的形式.

8.2000年我国人口为13亿,如果人口每年的自然增长率为7‰,那么多少年后我国人口将达到15亿?设计一个算法的程序.

解:A=13

R=0.007

i=1

DO

A=A*(1+R)

i=i+1

LOOP UNTIL A>=15

i=i-1

PRINT "达到或超过15亿人口需要的年数为:";i

END

←用UNTIL语句.

9.编写求乘积为399的两个相邻奇数的程序.

解:i=1

DO

t=i+2

s=i*t

i=i+2

LOOP UNTIL s=399

PRINT t-2,t

END

←用UNTIL语句.

通过上面的学大的专家精心的为大家准备的关于2015年高一数学课文循环语句教案的一些资料,教师们注意做好这些课改后新增加的的数学内容的教案。

网站地图 | 全国免费咨询热线: | 服务时间:8:00-23:00(节假日不休)

违法和不良信息举报电话:400-810-5688 举报邮箱:info@xueda.com 网上有害信息举报专区

京ICP备10045583号-6 学大Xueda.com 版权所有 北京学大信息技术集团有限公司 京公网安备 11010502031324号

增值电信业务经营许可证京B2-20100091 电信与信息服务业务经营许可证京ICP证100956