课题:条件语句
教学目标:
知识与技能目标:通过实例掌握条件语句的格式及程序框图的画法、程序的编写.
过程与方法目标:在教学过程中体现的主要数学能力及数学思想方法。
(1)逻辑思维能力:通过实例使学生体会算法的思想加强学生逻辑思维能力和推理论证能力的培养。
(2)转化的思想方法:通过实例使学生能将自然语言整理成程序框图进而翻译成计算机语言,体现转化的思想方法。
情感、态度、与价值观目标:在教学过程中培养学生创新意识和数学应用意识,提高学生学习数学的兴趣并注意在小组合作学习中培养学生的合作精神
教学重点与难点:
重点:程序框图的画法、程序的编写.
难点:程序的编写
教学方法:诱思探究.
教学过程:
教学环节
教学内容
师生互动
设计意图
复习引入
提问:画程序框图的图形符号及规则是什么?一个实例:某市电信部门规定:拨打市内电话时,如果通话时间不超过3min,则收取通话费0.2元;如果通话时间超过3min,则超过部分以0.1元/min收取通话费(t以分钟计,不足1min按1min计),试设计一个算通话费用的算法,用Scilab语句描述.3、怎样设计这个算法呢?
师问生答.学生思考并且再想一些生活中、数学中的其他例子并回答.
画程序框图是解决问题的必要的一步,能使问题得到简化,所以有必要复习一遍。现实生活中的实际例子可以使同学们对数学产生更大的兴趣.学生带着问题听课可以提高听课效率.
概念形成教学环节
条件语句:处理条件分支逻辑结构的算法语句叫条件语句.Scilab语言中的条件语句分为if语句和select━case语句.if语句的一般格式是:if
表达式
语句序列1;else
语句序列2end该语句的功能:如果表达式结果为真,则执行表达式后面的语句教学内容
学生从这些例子中得到:这些问题所牵扯到的算法都包含了一种基本逻辑结构━条件分支结构.老师讲过if语句的格式后,可以问if语句最简单的格式是什么?
if表达式
语句序列1;
end师生互动
先让学生知道概念并理解概念,然后指导解题.设计意图
序列1;如果表达式结果为假,则执行else后面的语句序列2
概念深化
任给一个实数,求它的绝对值.
开始
解:a=input(“a=”)
if
a
0
输入a
x=a
else
a
0
x=--a
是
否
end
x=a
x=-a
print(%io(2),x)
输入x
结束
学生自阅课本P26第二段、第三段及例子。
加深对概念的理解.
应用举例应用举例
儿童乘坐火车时,若身高不超过1.1m,则无须购票;
若身高超过1.1m不超过1.4m,英买全票.试设计一个购票的算法,写出程序并划出程序框图.程序:h=input(“h=”)if
h<=1.1print(%io(2),
“免费乘车”)else
if
h<=1.4
print(%io(2),
“半票乘车”)else
print(%io(2),
“全票乘车”)
endend程序框图如图:开始输入hh≦1.1是
否输出“免费乘车”
h≦1.4
是
否输出“半票乘车”
输出“全票乘车结束
可以师生共同分析得此题的算法步骤为:S1测量儿童身高hS2如果h≦1.1,那么免费乘车;
如果h≦1.4,那么购半票乘车;否则,购买全票.仿照例子由学生做这节课刚开始的引例及课本P27A2、B1师生共同完成P27B4
实际问题要先建立模型
归纳小结
条件语句的基本形式、应用范围及对应的程序框图。条件语句与算法中的条件结构相对应,语句形式较为复杂,要借助框图写出程序。
有一位学生总结,其他同学补充,教师完善。
引导学生对所学的知识进行小结,由利于学生对已有的知识结构进行编码处理,加强理解记忆,引导学生对学习过程进行反思,为在今后的学习中,进行有效调控打下良好的基础。
布置作业
看课本必做题:P27 B2,3选做题:(1)P27 B4 (2)从生活中找出一个例子,写出它的程序及框图。
作业布置有弹性,避免一刀切,使学有余力的学生的创造性得到进一步的发挥。1.2.2条件语句
课题:1.2.2
条件语句
第
个教案
课型:
新授课
年
月
日
教学目标
1.知识与技能(1)正确理解条件语句概念,并掌握其结构.(2)会应用条件语句编写程序。
2.过程与方法经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力
3.情感、态度与价值观了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。
教学重点
条件语句步骤、结构及功能。
教学难点
会编写程序中的条件语句。
教学方法
计算机、
教学过程:
批
注
活动一:创设情景,揭示课题
(5分钟)问题1:【创设情境】试求自然数1+2+3+……+99+100的和。显然大家都能准确地口算出它的答案:5050。而能不能将这项计算工作交给计算机来完成呢?而要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足“我们日益增长的物质需要”,因此,还需要进一步学习基本算法语句中的另外两种:条件语句和循环语句(板出课题)活动二:步入新知,师生交流(20分钟)(一)条件语句算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。它的一般格式是:(IF-THEN-ELSE格式)当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2。其对应的程序框图为:(如上右图)在某些情况下,也可以只使用IF-THEN语句:(即IF-THEN格式)计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图)条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。活动三:合作学习,探究新知学(18分钟)〖例1〗:编写程序,输入一元二次方程的系数,输出它的实数根。分析:先把解决问题的思路用程序框图表示出来,然后再根据程序框图给出的算法步骤,逐步把算法用对应的程序语句表达出来。算法分析:我们知道,若判别式,原方程有两个不相等的实数根、;若,原方程有两个相等的实数根;
若,原方程没有实数根。也就是说,在求解方程之前,需要首先判断判别式的符号。因此,这个过程可以用算法中的条件结构来实现。又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算和之前,先计算,。程序框图:(参照课本)程序:(如右图所示)注:SQR()和ABS()是两个函数,分别用来求某个数的平方根和绝对值。即
,〖例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.程序框图:(参照课本)程序:(如右框图所示)
〖补例〗:铁路部门托运行李的收费方法如下:y是收费额(单位:元),x是行李重量(单位:kg),当0<x≤20时,按0.35元/kg收费,当x>20kg时,20kg的部分按0.35元/kg,超出20kg的部分,则按0.65元/kg收费,请根据上述收费方法编写程序。分析:首先由题意得:该函数是个分段函数。需要对行李重量作出判断,因此,这个过程可以用算法中的条件结构来实现。程序:
INPUT
“请输入旅客行李的重量(kg)x=”;xIF
x>0
AND
x<=20
THENy=0.35
xELSEy=0.35
20+0.65
(x-20)END
IFPRINT
“该旅客行李托运费为:”;yEND1.
练习
2.(题略)分析:如果有两个或是两个以上的并列条件时,用“AND”把它们连接起来。2.
练习
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,“可以构成三角形。”ELSEPRINT
“以下列三个数:”;a,b,c,“不可以构成三角形!”END
IFEND活动四:归纳整理,提高认识(2分钟)本节课主要学习了条件语句结构、特点、作用以及用法,并懂得利用解决一些简单问题。条件语句使程序执行产生的分支,根据不同的条件执行不同的路线,使复杂问题简单化。条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套。
活动五:作业布置板书设计:
教学后记:
满足条件?
语句1
语句2
是
否
IF
条件
THEN
语句1
ELSE
语句2
END
IF
满足条件?
语句
是
否
IF
条件
THEN
语句
END
IF
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
IF
x1=x2
THEN
PRINT
“One
real
root:”;x1
ELSE
PRINT
“Two
real
roots:x1”;x1,“and
x2”;x2
END
IF
ELSE
PRINT
“No
real
root!”
END
IF
END
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课题
1.2.2条件语句
授课时间
课型
新授
二次修改意见
教学目标
知识与技能
1.理解学习基本算法语句的意义.
过程与方法
2.学会条件语句的基本用法.
情感态度价值观
3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.
教材分析
重难点
教学重点:条件语句的基本用法.教学难点:算法语句的写法.
教学设想
教法
归纳探究
学法
合作探究
教具
课堂设计
目标展示前面我们学习了程序框图的画法,为了让计算机能够理解算法步骤、程序框图,上一节我们学习了输入语句、输出语句、赋值语句,今天我们开始学习条件语句.预习检测提出问题(1)回忆程序框图中的两种条件结构.(2)指出条件语句的格式及功能.(3)指出两种条件语句的相同点与不同点.(4)揭示程序中的条件语句与程序框图中的条件结构存在一一对应关系.质疑探究讨论结果:(1)一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.
用程序框图表示条件结构如下图:
(2)条件语句1°“IF—THEN—ELSE”语句格式:IF
条件
THEN语句体1ELSE语句体2END
IF功能:在“IF—THEN—ELSE”语句中,“条件”表示判断的条件,“语句体1”表示满足条件时执行的操作内容;“语句体2”表示不满足条件时执行的操作内容;END
IF表示条件语句的结束.计算机在执行“IF—THEN—ELSE”语句时,首先对IF后的条件进行判断,如果符合条件,则执行THEN后面的“语句1”;若不符合条件,则执行ELSE后面的“语句2”.2°“IF—THEN”语句格式:IF
条件
THEN语句体END
IF(3)相同点:首先对IF后的条件进行判断,如果符合条件就执行THEN后边的语句.不同点:对于“IF—THEN—ELSE”语句,若不符合条件,则执行ELSE后面的“语句体2”.对于“IF—THEN”语句,若不符合条件则直接结束该条件语句,转而执行其他后面的语句.(4)程序中的条件语句与程序框图中的条件结构存在一一对应关系如下图:精讲点拨例1
编写一个程序,求实数x的绝对值.算法分析:首先,我们来设计求实数x的绝对值的算法,因为实数x的绝对值为|x|=所以算法步骤可以写成:第一步,输入一个实数x.第二步,判断x的符号.若x≥0,则输出x;否则,输出-x.显然,“第二步”可以用条件结构来实现.程序框图如下图:程序:INPUT
xIF
x>=0
THEN
PRINT
xELSE
PRINT
-xEND
IFEND点评:通过本题我们看到算法步骤可以转化为程序框图,程序框图可以转化为算法语句.本题揭示了它们之间的内在联系,只要理解了程序框图与算法语句的对应关系,把程序框图转化为算法语句就很容易了.当堂检测编写程序,输出两个不相等的实数a、b的最大值.六、作业布置
教材33第1_------3
板书设计
一
条件语句二
例题1
教学反思
三
例题2四
小结1.2.2
条件语句
整体设计
教学分析
通过上一节的学习,学生学会了输入语句、输出语句和赋值语句的基本用法,本节介绍条件语句的用法.
程序中的条件语句与程序框图中的条件结构存在一一对应关系,这种对应关系对于学生理解条件语句的结构,进一步理解算法中的条件结构都是很有帮助的.我们可以给出条件语句的一般格式,让学生自己画出相应的程序框图,也可以给出程序框图,让学生写出算法语句.
三维目标
1.理解学习基本算法语句的意义.
2.学会条件语句的基本用法.
3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.
重点难点
教学重点:条件语句的基本用法.
教学难点:算法语句的写法.
课时安排
1课时
教学过程
导入新课
思路1(情境导入)
一位老农平整了一块良田,种瓜好呢,还是种豆好呢,他面临着一个选择.如果他选择种瓜,他会得瓜,如果他选择种豆,他会得豆.人的一生面临许多选择,我们要做出正确的选择.前面我们学习了条件结构,今天我们学习条件语句.
思路2(直接导入)
前面我们学习了程序框图的画法,为了让计算机能够理解算法步骤、程序框图,上一节我们学习了输入语句、输出语句、赋值语句,今天我们开始学习条件语句.
推进新课
新知探究
提出问题
(1)回忆程序框图中的两种条件结构.
(2)指出条件语句的格式及功能.
(3)指出两种条件语句的相同点与不同点.
(4)揭示程序中的条件语句与程序框图中的条件结构存在一一对应关系.
讨论结果:
(1)一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.
用程序框图表示条件结构如下图:
(2)条件语句
1°“IF—THEN—ELSE”语句
格式:
IF
条件
THEN
语句体1
ELSE
语句体2
END
IF
功能:在“IF—THEN—ELSE”语句中,“条件”表示判断的条件,“语句体1”表示满足条件时执行的操作内容;“语句体2”表示不满足条件时执行的操作内容;END
IF表示条件语句的结束.计算机在执行“IF—THEN—ELSE”语句时,首先对IF后的条件进行判断,如果符合条件,则执行THEN后面的“语句1”;若不符合条件,则执行ELSE后面的“语句2”.
2°“IF—THEN”语句
格式:
IF
条件
THEN
语句体
END
IF
功能:“条件”表示判断的条件;“语句”表示满足条件时执行的操作内容,条件不满足时,直接结束判断过程;END
IF表示条件语句的结束.计算机在执行“IF—THEN”语句时,首先对IF后的条件进行判断,如果符合条件就执行THEN后边的语句,若不符合条件则直接结束该条件语句,转而执行其他后面的语句.
(3)相同点:首先对IF后的条件进行判断,如果符合条件就执行THEN后边的语句.
不同点:对于“IF—THEN—ELSE”语句,若不符合条件,则执行ELSE后面的“语句体2”.
对于“IF—THEN”语句,若不符合条件则直接结束该条件语句,转而执行其他后面的语句.
(4)程序中的条件语句与程序框图中的条件结构存在一一对应关系如下图:
应用示例
思路1
例1
编写一个程序,求实数x的绝对值.
算法分析:首先,我们来设计求实数x的绝对值的算法,因为实数x的绝对值为
|x|=
所以算法步骤可以写成:
第一步,输入一个实数x.
第二步,判断x的符号.若x≥0,则输出x;否则,输出-x.
显然,“第二步”可以用条件结构来实现.
程序框图如下图:
程序:
INPUT
x
IF
x>=0
THEN
PRINT
x
ELSE
PRINT
-x
END
IF
END
点评:通过本题我们看到算法步骤可以转化为程序框图,程序框图可以转化为算法语句.本题揭示了它们之间的内在联系,只要理解了程序框图与算法语句的对应关系,把程序框图转化为算法语句就很容易了.
变式训练
阅读下面的程序,你能得出什么结论?
INPUT
x
IF
x<0
THEN
x=-x
END
IF
PRINT
x
END
解:由程序得出,该程序是输出x的绝对值.
例2
把前面求解一元二次方程ax2+bx+c=0的程序框图转化为程序.
解:由程序框图可以发现,其中包含着两个条件结构,而且内层的条件结构是外层的条件结构的一个分支,所以,可以用“IF—THEN—ELSE—END
IF”来完成转化.
程序:
INPUT
“a,b,c=”;a,b,c
d=b^2-4
a
c
IF
d>=0
THEN
p=-b/(2
a)
q=SQR(d)/(2
a)
IF
d=0
THEN
PRINT
“x1=x2=”;p
ELSE
PRINT
“x1,x2=”;p+q,p-q
END
IF
ELSE
PRINT“No
real
root”
END
IF
END
例3
编写程序,使任意输入的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.
如下图所示,上述操作步骤可以用程序框图更直观地表达出来.
根据程序框图,写出相应的计算机程序.
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
思路2
例1
编写程序,输出两个不相等的实数a、b的最大值.
分析:要输出两个不相等的实数a、b的最大值,从而想到对a,b的大小关系进行判断,a,b的大小关系有两种情况:(1)a>b;(2)b>a.这也就用到了我们经常提及的分类讨论的方式,找出两个数的最大值.
解:算法一:
第一步,输入a,
b的数值.
第二步,判断a,b的大小关系,若a>b,则输出a的值,否则,输出b的值.
(程序框图如下图)
程序如下:(“IF—THEN—ELSE”语句)
INPUT
“a,b”;a,b
IF
a>b
THEN
PRINT
a
ELSE
PRINT
b
END
IF
END
算法二:
第一步,输入a,b的数值.
第二步,判断a,b的大小关系,若b>a,则将b的值赋予a;否则,直接执行第三步.
第三步,输出a的值,结束.
(程序框图如下图)
程序如下:(“IF—THEN”语句)
INPUT
“a,b”;a,b
IF
b>a
THEN
a=b
END
IF
PRINT
a
END
点评:设计一个“好”的算法需要在大量的算法设计中积累经验.我们也可以先根据自己的思路设计算法,再与
“成形”的、高效的、优秀的算法比较,改进思路,改进算法,以避免重复计算等问题,提高算法设计的水平.
(2)我们在平常的训练中尽可能地少引用变量,过多的变量不仅会使得算法和程序变得复杂,而且不利于计算机的执行.为此,我们在练习中要尽可能少引入变量并且要积极思考才能少引入变量.
例2
高等数学中经常用到符号函数,符号函数的定义为y=试编写程序输入x的值,输出y的值.
解:程序一:(嵌套结构)
程序框图:(下图)
程序如下:
INPUT
x
IF
x>0
THEN
y=1
ELSE
IF
x=0
THEN
y=0
ELSE
y=-1
END
IF
END
IF
PRINT
y
END
程序二:(叠加结构)
程序框图(右图):
程序如下:
INPUT
x
IF
x>0
THEN
y=1
END
IF
IF
x=0
THEN
y=0
END
IF
IF
x<0
THEN
y=-1
END
IF
PRINT
y
END
点评:(1)条件结构的差异,造成程序执行的不同.当代入x的数值时,“程序一”先判断外层的条件,依次执行不同的分支,随后再判断内层的条件;而“程序二”中执行了对“条件1”的判断,同时也对“条件2”进行判断,是按程序中条件语句的先后依次判断所有的条件,满足哪个条件就执行哪个语句.
(2)条件语句的嵌套可多于两层,可以表达算法步骤中的多重限制条件.
知能训练
中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按以一分钟计算.设通话时间为t(分钟),通话费用y(元),如何设计一个程序,计算通话的费用.
解:算法程序如下:
INPUT
“请输入通话时间:”;t
IF
t<=3
THEN
y=0.22
ELSE
IF
INT(t)=t
THEN
y=0.22+0.1
(t-3)
ELSE
y=0.22+0.1
(INT(t-3)+1)
END
IF
END
IF
PRINT
“通话费用为:”;y
END
拓展提升
函数y=写出求函数的函数值的程序.
解:INPUT
x=”;x
IF
x>=0
and
x<=4
THEN
y=2
x
ELSE
IF
x<=8
THEN
y=8
ELSE
y=2
(12-x)
END
IF
END
IF
PRINT
y
END
课堂小结
(1)条件语句的用法.
(2)利用条件语句编写算法语句.
作业
习题1.2
B组1.
设计感想
条件语句是算法语句的基础和核心,本节设计以条件结构和条件语句的对应关系为基础,引导学生将程序框图转化为算法语句.本节的难点是正确区分叠加结构和镶嵌结构,并会应用它们编写算法语句.本节选用大量精彩题目让学生反复训练,使学生熟练掌握程序框图与算法语句的关系,达到解决本节难点的目的.1.2.2条件语句
(
)
一、三维目标:
(
)
1、知识与技能
(
)
(1)正确理解条件语句的概念,掌握其结构。
(
)
(2)会应用条件语句编写程序。
(
)
2、过程与方法
(
)
经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力
(
)
3、情感态度与价值观
(
)
了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。
(
)
二、重点与难点
(
)
重点:条件语句的步骤、结构及功能。难点:会编写程序中的条件语句。
(
)
四、教学设计
(
)
(一)练习
(
)
1.
将两个数交换,使,下面语句正确一组是
(
B
)
(
)
A.
B.
C.
D.
(
)
(
)
2.
计算机执行下面的程序段后,输出的结果是(
B
)
(
)
(
)
(
)
(
)
(
)
PRINT
,
(
)
A.
B.
C.
D.
(
)
3.
下列给出的赋值语句中正确的是(
B
)
(
)
A.
B.
C.
D.
(
)
阅读右边的程序,然后判断下列哪个是程序执行后的结果(
D)
(
)
A、5
B、15
C、11
D、14
(
)
【创设情境】
(
)
试求自然数1+2+3+……+99+100的和。
(
)
显然大家都能准确地口算出它的答案:5050。而能不能将这项计算工作交给计算机来完成呢?而要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足“我们日益增长的物质需要”,因此,还需要进一步学习基本算法语句中的另外两种:条件语句和循环语句(板出课题)
(
)
【探究新知】
(
)
(一)条件语句
(
)
算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。它的一般格式是:(IF-THEN-ELSE格式)
(
)
HYPERLINK
"
"
(
)
(
)
当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2。其对应的程序框图为:(如上右图)
(
)
在某些情况下,也可以只使用IF-THEN语句:(即IF-THEN格式)
(
)
计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图)
条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。
【例题精析】
〖例1〗:教材P25面例5
〖例2〗:编写程序,输入一元二次方程的系数,输出它的实数根。
算法分析:我们知道,若判别式,原方程有两个不相等的实数根、;若,原方程有两个相等的实数根;
若,原方程没有实数根。也就是说,在求解方程之前,需要首先判断判别式的符号。因此,这个过程可以用算法中的条件结构来实现。
又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算和之前,先计算,。
程序框图:(参照课本)
程序:(如右图所示)
注:SQR()和ABS()是两个函数,分别用来求某个数的平方根和绝对值。
即
,
〖例3〗:编写程序,使得任意输入的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.
程序框图:(参照课本)
程序:(如右框图所示)
〖补例〗:铁路部门托运行李的收费方法如下:
y是收费额(单位:元),x是行李重量(单位:kg),当0<x≤20时,按0.35元/kg收费,当x>20kg时,20kg的部分按0.35元/kg,超出20kg的部分,则按0.65元/kg收费,请根据上述收费方法编写程序。
分析:首先由题意得:该函数是个分段函数。需要对行李重量作出判断,因此,这个过程可以用算法中的条件结构来实现。
程序:
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
【课堂精练】
1.P29
练习
1。2。3。4
课后练习
1.
给出以下四个问题,
①,
输出它的相反数.
②求面积为的正方形的周长.
③求三个数中输入一个数的最大数.
④求函数的函数值.
其中不需要用条件语句来描述其算法的有
(A
)
A.
个
B.
个
C.
个
D.
个仅②不需要分情况讨论,即不需要用条件语句
2.
右程序运行后输出的结果为__22,-22__.
3.
当时,下面的程序段输出的结果是(
D
)
IF
THEN
ELSE
PRINT
y
A.
B.
C.
D.
a=b
b=a
c=b
b=a
a=c
b=a
a=b
a=c
c=b
b=a
x=2
y=3
x-1
x=y
PRINT
3
x-1
END
满足条件?
语句1
语句2
是
否
IF
条件
THEN
语句1
ELSE
语句2
END
IF
IF
条件
THEN
语句
END
IF
满足条件?
语句
是
否
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
END
IF
ELSE
PRINT
“No
real
root!”
END
IF
END
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
IF
THEN
ELSE
END
IF
PRINT
x-y
;
y-x
END
第3题