当前位置:首页 > 高中数学 第一章《条件语句和循环语句》教案 新人教A版必修3
1.2.2-1.2.3条件语句和循环语句(第二、三课时)
教学目标: 知识与技能
(1)正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系。 (2)会应用条件语句和循环语句编写程序。 过程与方法
经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进
发展学生逻辑思维能力 情感态度与价值观
了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。深刻体会到循环语句在解决大量重复问题中起重要作用。减少大量繁琐的计算。通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。 重点与难点
重点:条件语句和循环语句的步骤、结构及功能。 难点:会编写程序中的条件语句和循环语句。 学法与教学用具
计算机、图形计算器
教学设想
【创设情境】
试求自然数1+2+3+……+99+100的和。 显然大家都能准确地口算出它的答案:5050。而能不能将这项计算工作交给计算机来完成呢?而要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足“我们日益增长的物质需要”,因此,还需要进一步学习基本算法语句中的另外两种:条件语句和循环语句(板出课题) 【探究新知】 (一)条件语句
算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。它的一般格式是:(IF-THEN-ELSE格式)
IF 条件 THEN 满足条件? 否 语句1
是 ELSE
语句2 语句1 语句2 END IF
当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2。其对应的程序框图为:(如上右图)
在某些情况下,也可以只使用IF-THEN语句:(即IF-THEN格式)
是
满足条件? 1 IF 条件 THEN
语句
END IF
否 语句
计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图)
条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。 【例题精析】
〖例1〗:编写程序,输入一元二次方程ax?bx?c?0的系数,输出它的实数根。 分析:先把解决问题的思路用程序框图表示出来,然后再根据程序框图给出的算法步
骤,逐步把算法用对应的程序语句表达出来。 算法分析:我们知道,若判别式??b?4ac?0,原方程有两个不相等的实数根
22x1??b??2a?b??2a的
实
;
、
x2?若
??0,原方程有两个相
等
数
根
x1?x2??b; 若2a??0,原方程没有实数
根。也就是说,在求解方程之前,需要首先判断判别式的符号。因此,这个过程可以用算法中的条件结构来实现。
又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算x1INPUT “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 IF x1=x2 THEN PRINT “One real root:”;x1 ELSE PRINT “Two real roots:x1”;x1,“and x2”;x2 和x2之前,先计算
p??
?b,q?。程序框图:(参照课本P17) 2a2a2
程序:(如右图所示)
注: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) 程序:(如右框图所示)
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是收费额(单位:元),x是行李重量(单位:kg),当0<x≤20时,按0.35元/kg收费,当x>20kg时,20kg的部分按0.35元/kg,超出20kg的部分,则按0.65元/kg收费,请根据上述收费方法编写程序。
分析:首先由题意得:
y??0.35x,0?x?20,该函数是个分段0.35?20?0.65(x?20),x?20.函数。需要对行李重量作出判断,因此,这个过程可以用算法中的条件结构
来实现。
程序: INPUT “请输入旅客行李的重量(kg)x=”;x
IF x>0 AND x<=20 THEN
y=0.35*x ELSE
y=0.35*20+0.65*(x-20) END IF
PRINT “该旅客行李托运费为:”;y END
3
【课堂精练】
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语句的一般格式是:
WHILE 条件
循环体 WEND
循环体 满足条件? 否 其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的。
当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句。因此,当型循环有时也称为“前测试型”循环。其对应的程序结构框图为:(如上右图) (2)UNTIL语句的一般格式是:
DO
循环体
LOOP UNTIL 条件
是 循环体 否 满足条件? 是 其对应的程序结构框图为:(如上右图) 〖思考〗:直到型循环又称为“后测试型”循环,参照其直到型循环结构对应的程序框
图,说说计算机是按怎样的顺序执行UNTIL语句的?(让学生模仿执行WHILE语句的表述)
4
共分享92篇相关文档