文档库 最新最全的文档下载
当前位置:文档库 › 人教版高中(必修3)第一章算法初步1.2.2条件语句 第1章 1.2.2 条件语句 学案

人教版高中(必修3)第一章算法初步1.2.2条件语句 第1章 1.2.2 条件语句 学案

人教版高中(必修3)第一章算法初步1.2.2条件语句  第1章 1.2.2 条件语句  学案
人教版高中(必修3)第一章算法初步1.2.2条件语句  第1章 1.2.2 条件语句  学案

1.2.2条件语句

【明目标、知重点】

1.理解条件语句及其与条件结构的关系.

2.体验如何由程序框图转化为程序语句.

3.通过条件语句的学习,进一步体会算法的基本思想.

【填要点、记疑点】

条件语句的格式、功能及与条件结构的对应关系.

格式一格式二

条件语句IF条件THEN语句体END

IF

IF条件THEN

语句体1

ELSE

语句体2

END IF

功能首先对IF后的条件进行判断,如

果(IF)条件符合,那么(THEN)执行

语句体,否则执行END IF之后的

语句

首先对IF后的条件进行判断,如

果(IF)条件符合,那么(THEN)执行

语句体1,否则(ELSE)执行语句体

2

对应条件结构框

[情境导学]上节课我们学习的输入、输出和赋值语句,这些语句能够完成对算法的顺序结构的编程,对于算法的条件结构的编程,我们必须学习与之相适应的算法语句——条件语句.

探究点一条件语句(1)

思考1对于条件结构的算法或程序框图,要转化为计算机能够理解的算法语言,使用输入、输出和赋值语句还行吗?需要用怎样的语句?

答不行,要用与条件结构相适应的条件语句.

思考2阅读教材25页内容,想一想下图所示的条件结构对应的条件语句的一般格式是怎样的?计算机是如何执行该条件语句的?

答IF条件THEN

语句体

END IF

当计算机执行上述语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.

思考3求实数x的绝对值有如下一个算法:

第一步,输入一个实数x.

第二步,判断x的符号.若x<0,则x=-x;否则,x=x.

第三步,输出x.

(1)该算法的程序框图如何表示?

(2)你能写出这个算法对应的程序吗?

答(1)程序框图如下.

(2)程序如下:

INPUT x

IF x<0 THEN

x=-x

END IF

PRINT x

END

例1阅读下面的程序,说明它是一个什么问题的算法,其中a≠b.

INPUT “a,b=”;a,b

IF a>b THEN

x=a

a=b

b=x

END IF

PRINT a,b

END

解由程序可知,当a>b时,程序执行语句体,语句体实现了a,b互换,此时a

a>b不成立时,即a

a,b按从小到大排序.

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

跟踪训练1编写程序,使得任意输入的3个整数按从大到小的顺序输出.

解程序如下:

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(1)阅读教材25页内容,想一想下图所示的条件结构对应的条件语句的一般格式是怎样的?计算机又是如何执行该条件语句的?

If 条件THEN

语句体1

ELSE

语句体2

END IF

当计算机执行上述语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)

执行语句体1,否则(ELSE)执行语句体2.

思考2(1)求实数x的绝对值又有如下一个算法:

第一步,输入一个实数x.

第二步,判断x的符号.若x≥0,则输出x;否则,输出-x.

该算法的程序框图如何表示?由得到的程序框图你能写出算法语句吗?

(2)由程序框图你能写出算法语句吗?

INPUT“x=”;x

IF x>=0 THEN

PRINT x

ELSE

PRINT-x

END IF

END

例2编写程序,输入一元二次方程ax+bx+c=0(a≠0)的系数,输出它的实数根.解

INPUT a,b,c d=b*b-4*a*c IF d>=0 THEN

p=-b/(2*a)

q=SQR(d)/(2*a) IF d=0 THEN

PRINT “x1,x2=”;p-q,p+q

END IF

ELSE

PRINT “No real root!” END IF

END

反思与感悟 (1)条件语句有两种形式,应用时要根据实际问题适当选取. (2)编写含有多个条件结构的程序时,每个条件语句执行结束时都以END IF 表示. 跟踪训练2 铁路部门托运行李的收费方法如下:y 是收费额(单位:元),x 是行李重量(单

位:kg),当020时,20 kg 的部分按0.35元/kg ,超出20 kg 的部分,则按0.65元/kg 收费,请根据上述收费方法编写程序. 解 算法分析:首先由题意得:

y =?

????

0.35x , 020.该函数是个分段函数.需要对行李重量作出判断,因此,这个过程可以用算法中的条件结构来实现. 程序:

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 编写程序,使得任意输入3个整数按从大到小的顺序输出.

解 算法

第一步 输入3个整数a 、b 、c .

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

第三步将a与c比较,并把小者赋给c,大者赋给a.第四步将b与c比较,并把小者赋给c,大者赋给b.第五步按顺序输出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

反思与感悟(1)算法中需要判断情况、分类执行时,如判断一个数的正负、比较两个数的大小、求分段函数的函数值等,都需要用到条件语句.

(2)条件语句是一个整体,IF—THEN—ELSE END IF都是语句的一部分,且“IF END

IF”必须成对出现.

(3)若程序只对条件满足时作处理,不用处理条件不满足时的情况,则可以省略ELSE分

支.

跟踪训练3编写求一个数是偶数还是奇数的程序,从键盘上输入一个整数,输出该数的奇偶性.

解程序:

INPUT“x=”;x

y=x MOD 2

IF y=0 THEN

PRINT x;“该数是偶数”

ELSE

PRINT x;“该数是奇数”

END IF

END

【当堂测、查疑缺】

1.下列关于条件语句的说法正确的是() A.条件语句中必须有ELSE和END IF

B.条件语句中可以没有END IF

C.条件语句中可以没有ELSE,但是必须有END IF

D.条件语句中可以没有END IF,但是必须有ELSE

答案C

解析条件语句主要有两种形式的格式,分别是IF-THEN格式和IF-THEN-ELSE 格式,但是不管是这两种格式的哪一种,IF与END IF必须是同时出现.

所以条件语句中可以没有ELSE,但是必须有END IF,故答案选C.

2.条件语句的一般形式如图所示,其中B表示的是() IF A THEN

B

ELSE

C

END IF

A.满足条件时执行的内容

B.条件语句

C.条件

D.不满足条件时执行的内容

答案A

3.当x=2时,下面语句输出的结果是________.

IF x>0THEN

y=x^2

z=y^3-x^2

END IF

PRINT z

END

解析∵x>0,∴程序执行语句体.

即z=43-22=60.

4.根据如图所示的程序,当输入a,b分别为2,3时,最后输出的m的值是________.INPUT a,b

IF a>b THEN

m=a

ELSE

m=b

END IF

PRINT m

答案3

解析由于2>3不成立,所以语句执行ELSE后面的m=b,即把b的值赋给m,所以输出的值为3.

5.编写一个程序,从键盘上输入一个数,若是正数就将其输出.

解程序:

INPUT “x=”;x

IF x>0THEN

PRINT x

END IF

END

【呈重点、现规律】

1.两种条件语句的区别与联系

(1)区别:IF—THEN—ELSE语句含有两个语句体,满足条件时执行一个语句体,不满足

条件时执行另一个语句体;而IF—THEN条件语句,只有一个语句体,是满足条件时执行的语句体.

(2)联系:两种语句首先都要对条件进行判断,然后才执行相应的语句体;执行完语句体

后,程序都交汇于一点完成条件语句;都以IF开始,以END IF结束.

2.使用条件语句时应注意的问题

(1)条件语句是一个语句,IF,THEN,ELSE,END IF都是语句的一部分.

(2)条件语句必须是以IF开始,以END IF结束,一个IF必须与一个END IF相对应.

(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,ELSE分

支可以省略,此时条件语句就由双支变为单支.

(4)为了程序的可读性,一般IF、ELSE与END IF顶格书写,其他的语句体前面则空两格.

相关文档