高二数学条件语句和循环语句1.docx
《高二数学条件语句和循环语句1.docx》由会员分享,可在线阅读,更多相关《高二数学条件语句和循环语句1.docx(26页珍藏版)》请在冰豆网上搜索。
高二数学条件语句和循环语句1
1.2.2-1.2.3条件语句和循环语句
教学目标:
知识与技能
(1)正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系。
(2)会应用条件语句和循环语句编写程序。
过程与方法
经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力
情感态度与价值观
了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。
深刻体会到循环语句在解决大量重复问题中起重要作用。
减少大量繁琐的计算。
通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。
重点与难点
重点:
条件语句和循环语句的步骤、结构及功能。
难点:
会编写程序中的条件语句和循环语句。
学法与教学用具
计算机、图形计算器
教学设想
【创设情境】
试求自然数1+2+3+……+99+100的和。
显然大家都能准确地口算出它的答案:
5050。
而能不能将这项计算工作交给计算机来完成呢?
而要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足“我们日益增长的物质需要”,因此,还需要进一步学习基本算法语句中的另外两种:
条件语句和循环语句(板出课题)
【探究新知】
(一)条件语句
算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。
它的一般格式是:
(IF-THEN-ELSE格式)
当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2。
其对应的程序框图为:
(如上右图)
在某些情况下,也可以只使用IF-THEN语句:
(即IF-THEN格式)
计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。
其对应的程序框图为:
(如上右图)
条件语句的作用:
在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。
需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。
【例题精析】
例1.分析下面的程序,当输入
的值为
时,程序的输出结果为________.
INPUTx
IFx<-1THEN
y=x^2
ELSE
IFx<=1THEN
y=0
ELSE
y=(-2)^x
ENDIF
ENDIF
PRINTy
END
答案:
例2.给出下列程序,如果输入
那么输出的是________.
INPUTa,b,c
IFa>bTHEN
a=b
ENDIF
IFa>cTHEN
a=c
ENDIF
PRINTa
END
答案:
例3.判断一元二次函数
是否有根.
分析:
当
时,方程有实根;
当
时,方程无实根.
解:
该算法用自然语言表述为
Step1:
输入三个系数
.
Step2:
计算
.
Step3:
判断
是否成立.若是,则输出“方程有实根”;
否则输出“方程无实根
”,结束算法.
程序框图为:
程序为:
INPUT“a,b,c=”;a,b,c
d=b^2-4*a*c
IFd>=0THEN
PRINT“Haverealroot”
ELSE
PRINT“Norealroot”
ENDIF
END
例4.编写程序,输入一元二次方程
的系数,输出它的实数根。
分析:
先把解决问题的思路用程序框图表示出来,然后再根据程序框图给出的算法步骤,逐步把算法用对应的程序语句表达出来。
算法分析:
我们知道,若判别式
,原方程有两个不相等的实数根
、
;若
,原方程有两个相等的实数根
;若
,原方程没有实数根。
也就是说,在求解方程之前,需要首先判断判别式的符号。
因此,这个过程可以用算法中的条件结构来实现。
又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算
和
之前,先计算
,
。
程序框图:
(参照课本
)
程序:
(如右图所示)
注:
SQR()和ABS()是两个函数,分别用来求某个数的平方根和绝对值。
即
,
例5.设计算法,求
的解,并画出流程图.
解:
算法:
第一步:
判断
是否成立.若成立,输出结果“解为
”.
第二步:
判断
是否成立.若成立,输出结果“解集为
”.
第三步:
判断
是否成立.若成立,输出结果“方程无解”,结束算法.
程序框图:
略
程序为:
INPUT“a,b=”;a,b
d=b^2-4*a*c
IFa=0THEN
IFb=0THEN
PRINT“Allreal”
ELSE
PRINT“Noroot”
ENDIF
ELSE
PRINT“x=”;-b/a
ENDIF
END
例6.设计算法,找出输入的三个不等实数
的最大值,并画出流程图.
解:
算法:
第一步:
输入
的值.
第二步:
判断
是否成立,若成立,则执行第三步;否则执行第四步.
第三步:
判断
是否成立.若成立,则输出
并结束;否则输出
并结束.
第四步:
判断
是否成立,若成立,则输出
并结束;否则输出
并结束.
程序框图:
略
程序为:
INPUTa,b,c
IFaa=b
ENDIF
IFaa=c
ENDIF
PRINT
END
例7.编写程序,使得任意输入的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.
程序框图:
程序:
(如右框图
例8.铁路部门托运行李的收费方法如下:
y是收费额(单位:
元),x是行李重量(单位:
kg),当0<x≤20时,按0.35元/kg收费,当x>20kg时,20kg的部分按0.35元/kg,超出20kg的部分,则按0.65元/kg收费,请根据上述收费方法编写程序。
分析:
首先由题意得:
该函数是个分段函数。
需要对行李重量作出判断,因此,这个过程可以用算法中的条件结构来实现。
程序:
INPUT“请输入旅客行李的重量(kg)x=”;x
IFx>0ANDx<=20THEN
y=0.35*x
ELSE
y=0.35*20+0.65*(x-20)
ENDIF
PRINT“该旅客行李托运费为:
”;y
END
基本条件语句
例9.编写一个程序,求实数
的绝对值.
解:
程序1:
INPUTx
IFx>=0THEN
PRINTx
ELSE
PRINT–x
ENDIF
END
程序1:
INPUTx
IF<0THEN
x=-x
ENDIF
PRINTx
END
例10.给计算机编写一个程序,输入一个自变量
的值,输出分段函数
的函数值.
解:
程序框图QuickBASIC程序语句
QuickBASIC语言中的符号。
数学运算
等于
不等于
大于
小于
大于等于
小于等于
程序符号
=
<>
>
<
>=
<=
条件结构的嵌套
例11.函数
,
编写一个程序,输入x的值,输出y的值
解:
用程序框图表示为
用QuickBASIC语言可写为
INPUT“x=”;x
IFx>0THEN
y=1
ELSE
IFx=0THEN
y=0
ELSE
y=-1
ENDIF
ENDIF
PRINT“y=”;y
END
该程序中有两个IF语句,大IF语句中嵌套了一个小IF语句。
例12.乘坐火车时,可以托运货物,从甲地到乙地,规定每张火车客票托运费计算方法是:
行李质量不超过
时按
元
;超过
而不超过
时,其超过部分按
元
;超过
时,其超过部分按
元
.编写程序,输入行李的质量,计算出托运的费用.
解:
算法分析:
数学模型实际上为:
关于
的分段函数.关系式
为:
算法步骤:
第一步输入行李质量
.
第二步当
时,计算
否则,执行下一步.
第三步当
时,计算
否则,计算
.
第四步输出托运费
.
程序框图为:
略
程序为:
INPUTx
IFx<=50THEN
y=0.25*x
ELSE
IFx<=100THEN
y=0.35*x-5
ELSE
y=0.45*x-15
ENDIF
ENDIF
PRINT“y=”;y
END
【课堂精练】
1.
(题略)分析:
如果有两个或是两个以上的并列条件时,用“AND”把它们连接起来。
参考答案:
INPUT“请输入三个正数a,b,c=”;a,b,c
IFa+b>cANDa+c>bANDb+c>aTHEN
PRINT“以下列三个数:
”;a,b,c,“可以构成三角形。
”
ELSE
PRINT“以下列三个数:
”;a,b,c,“不可以构成三角形!
”
ENDIF
END
2.读程序,说出该程序的功能。
INPUT“Pleaseinputaninter:
”;x
IF9a=x\10
b=xMOD10
PRINTa,b
ENDIF
END
QuickBASIC语言中的符号。
数学运算
且
或
的商
的余数
程序符号
AND
OR
aMODb
注:
(1)在程序中用“AND”表示“且”,用“OR”表示“或”。
(2)
用“a/b”表示,而
商用“a\b”表示。
例如34\10=3,57\8=7。
(3)
的余数用“aMODb”表示,例如34MOD10=4,57MOD8=1。
3.编写程序,判断一个整数是偶数还是奇数,即从键盘上输入一个整数,输出该数的奇偶性。
4.闰年是指年份能被4整除但不能被100整除,或者能被400整除的年份。
编写一个程序,判断输入的年份是否为闰年。
(二)循环语句
算法中的循环结构是由循环语句来实现的。
对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。
即WHILE语句和UNTIL语句。
(1)WHILE语句的一般格式是:
其中循环体是由计算机反复执行的一组语句构成的。
WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的。
当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。
这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句。
因此,当型循环有时也称为“前测试型”循环。
其对应的程序结构框图为:
(如上右图)
(2)UNTIL语句的一般格式是: