好文档 - 专业文书写作范文服务资料分享网站

高中数学必修3教案

天下 分享 时间: 加入收藏 我要投稿 点赞

3eud教育网 http://www.3edu.net 百万教学资源,完全免费,无须注册,天天更新!

当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2。其对应的程序框图为:(如上右图)

在某些情况下,也可以只使用IF-THEN语句:(即IF-THEN格式)

计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图)

条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。 【例题精析】

〖例1〗:编写程序,输入一元二次方程ax2?bx?c?0的系数,输出它的实数根。 分析:先把解决问题的思路用程序框图表示出来,然后再根据程序框图给出的算法步

骤,逐步把算法用对应的程序语句表达出来。

算法分析:我们知道,若判别式??b2?4ac?0,原方程有两个不相等的实数根

?b?2a?b?2a??

IF 条件 THEN

语句

END IF

满足条件? 否 是 语句 x1?、

INPUT “Please input a,b,c =”;a,b,c ;

d=b*b-4*a*c p=-b/(2*a) q=SQR(ABS(d))/(2*a) IF d>=0 THEN x1=p+q x2=p-q x2???0,原方程有两个相

等的实

b2a数根

x1?x2??; 若

??0,原方程没有实数

根。也就是说,在求解方程之前,需要首先判断判别式的符号。因此,这个

IF x1=x2 THEN PRINT “One real root:”;x1 3eud教育网 http://www.3edu.net 教学资源集散地。可能是最大的免费教育资源网! ELSE PRINT “Two real roots:x1”;x1,“and x2”;x2 3eud教育网 http://www.3edu.net 百万教学资源,完全免费,无须注册,天天更新!

过程可以用算法中的条件结构来实现。

又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算x1和x2之前,

b2a先计算p??,q??2a。程序框图:(参照课本P17)

程序:(如右图所示)

注:SQR()和ABS()是两个函数,分别用来求某个数的平方根和绝对值。

即 SQR(x)?x,ABS(x)??x(x?0)

-x(x?0).〖例2〗:编写程序,使得任意输入的3个整数按从大到小的顺序输出。

算法分析:用a,b,c表示输入的3个整数;为了节约变量,把它们重新排列后,仍用a,b,c表示,并使a≥b≥c.具体操作步骤如下。

第一步:输入3个整数a,b,c. 第二步:将a与b比较,并把小者赋给

b,大者赋给a. 第三步:将a与c比较. 并把小者赋给

c,大者赋给a,此时a已是三者中最大的。

第四步:将b与c比较,并把小者赋给

c,大者赋给b,此时a,b,c已按从大到小的顺序排列好。 第五步:按顺序输出a,b,c. 程序框图:(参照课本P19) 程序:(如右框图所示)

〖补例〗:铁路部门托运行李的收费方法如下:

y是收费额(单位:元),x是行李重量(单位:kg),当0<x≤20时,按0.35元/kg收费,当x>20kg时,20kg的部分按0.35元/kg,超出20kg的部分,则按0.65元/kg收费,请根据上述收费方法编写程序。

INPUT “a,b,c =”;a,b,c IF b>a THEN t=a a=b b=t END IF IF c>a THEN t=a a=c c=t END IF IF c>b THEN t=b b=c c=t END IF PRINT a,b,c END 分析:首先由题意得:

y??0.35?20?0.65(x?20),x?20.0.35x,0?x?20,该函数是个分段

函数。需要对行李重量作出判断,因此,这个过程可以用算法中的条件结构

来实现。

程序: INPUT “请输入旅客行李的重量(kg)x=”;x

IF x>0 AND x<=20 THEN

3eud教育网 http://www.3edu.net 教学资源集散地。可能是最大的免费教育资源网!

3eud教育网 http://www.3edu.net 百万教学资源,完全免费,无须注册,天天更新!

y=0.35*x

ELSE

y=0.35*20+0.65*(x-20)

END IF

PRINT “该旅客行李托运费为:”;y END

【课堂精练】

1.P20 练习 2.(题略)

分析:如果有两个或是两个以上的并列条件时,用“AND”把它们连接起来。 2.P20 练习 1.(题略)

参考答案: INPUT “请输入三个正数a,b,c=”; a,b,c

IF a+b>c AND a+c>b AND b+c>a THEN PRINT “以下列三个数:”;a,b,c,“可以构成三角形。”

ELSE

PRINT “以下列三个数:”;a,b,c,“不可以构成三角形!” END IF END

(二)循环语句

算法中的循环结构是由循环语句来实现的。对应于程序框图中的两种循环结构,

一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。即WHILE语句和UNTIL语句。 (1)WHILE语句的一般格式是:

其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的。

当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句。因此,当型循环有时也称为“前测试型”循环。其对应的程序结构框图为:(如上右图) (2)UNTIL语句的一般格式是:

DO

循环体

LOOP UNTIL 条件

满足条件? 是 3eud教育网 http://www.3edu.net 教学资源集散地。可能是最大的免费教育资源网!

WHILE 条件

循环体

WEND

循环体 满足条件? 否 是 循环体 否 3eud教育网 http://www.3edu.net 百万教学资源,完全免费,无须注册,天天更新!

其对应的程序结构框图为:(如上右图)

〖思考〗:直到型循环又称为“后测试型”循环,参照其直到型循环结构对应的程序框

图,说说计算机是按怎样的顺序执行UNTIL语句的?(让学生模仿执行WHILE语句的表述)

从UNTIL型循环结构分析,计算机执行该语句时,先执行一次循环体,然后

进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOP UNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句。

〖提问〗:通过对照,大家觉得WHILE型语句与UNTIL型语句之间有什么区别呢?(让

学生表达自己的感受)

区别:在WHILE语句中,是当条件满足时执行循环体,而在UNTIL语句中,是

当条件不满足时执行循环体。 【例题精析】 〖例3〗:编写程序,计算自然数1+2+3+??+99+100的和。

分析:这是一个累加问题。我们可以用WHILE型语句,也可以用UNTIL型语句。由

此看来,解决问题的方法不是惟一的,当然程序的设计也是有多种的,只是程序简单与复杂的问题。 程序:

WHILE型: i=1 UNTIL型:

sum=0

WHLIE i<=100

sum=sum+i

i=i+1

WEND

〖例4〗:根据1.1.2图1.1-2,将程序框图转程序语句。

分析:仔细观察,序框图中既有条件结构,循环结构。

程序:

i=1 sum=0 DO sum=sum+i i=i+1 LOOP UNTIL i>100 PRINT sum END PRINT sum INPUT “n=”;n flag=1 IF n>2 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 ELSE IF flag=1 THEN PRINT n;“是质数。” ELSE 中的

化为该程又有

PRINT n;“不是质数。” 3eud教育网 http://www.3edu.net 教学资源集散地。可能是最大的免费教育资源网! END IF END IF END 3eud教育网 http://www.3edu.net 百万教学资源,完全免费,无须注册,天天更新!

〖思考〗:上述判定质数的算法是否还能有所改进?(让学生课后思考。)

〖补例〗:某纺织厂1997年的生产总值为300万元,如果年生产增产率为5﹪,计算最

早在哪一年生产总值超过400万元。 分析:从1997年底开始,经过x年后生产总值为300×(1+5﹪),可将1997年生

产总值赋给变量a,然后对其进行累乘,用n作为计数变量进行循环,直到a的值超过400万元为止。 解:

程序框图为: 程序:

x

开始 a=300,p=1.05,n=1997 a=300 p=1.05 n=1997 DO 是 a>400? 否 输出n a=a*p 结束 a=a*p n=n+1 LOOP UNTIL a>400 PRINT n END n=n+1 【课堂精练】

1.P23 练习 2. 3(题略)

参考答案:

2.解:程序: X=1

WHILE X<=20

Y=X^2-3*X+5

X=X+1

3eud教育网 http://www.3edu.net 教学资源集散地。可能是最大的免费教育资源网!

高中数学必修3教案

3eud教育网http://www.3edu.net百万教学资源,完全免费,无须注册,天天更新!当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2。其对应的程序框图为:(如上右图)在某些情况下,也可以只使用IF-THEN语句:(即IF-THEN格式)
推荐度:
点击下载文档文档为doc格式
4vx816ade27tdil036da
领取福利

微信扫码领取福利

微信扫码分享