高二数学条件语句和循环语句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. 分析下面的程序, 当输入x 的值为3时, 程序的输出结果为________. INPUT x IF x

IF x

例2 .给出下列程序, 如果输入-10, -26, 8, 那么输出的是________. INPUT a,b,c IF a>b THEN a=b END IF

IF a>c THEN a=c END IF PRINT a

IF 条件 THEN

语句 END IF

END 答案:-26

例3. 判断一元二次函数ax 2+bx +c =0(a ≠0) 是否有根. 分析:∆=b -4ac , 当∆≥0时, 方程有实根;

当∆

Step1:输入三个系数a , b , c . Step2:计算∆=b -4ac .

Step3:判断∆≥0是否成立. 若是, 则输出“方程有实根”;

程序框图为: 程序为:

INPUT “a,b,c=”;a,b,c d=b^2-4*a*c IF d>=0 THEN

PRINT “Have real root ELSE

PRINT “No real root” END IF END

例4.编写程序,输入一元二次方程

2

2

ax 2+bx +c =0的系数,输出它的实数

根。

分析:先把解决问题的思路用程

序框图表示出来,然后再根据程序框图给出的算法步骤,逐步把算法用对应的程序语句表达出来。

算法分析:我们知道,若判别式

∆=b 2-4ac >0,原方程有两个不

相等的实数根x 1=

-b -b 、x 2=;若∆=0,原方程有两个相等的实数根2a 2a

x 1=x 2=-

b

; 若∆

首先判断判别式的符号。因此,这个过程可以用算法中的条件结构来实现。

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

先计算p =-

b

,q =。程序框图:(参照课本P 12) 2a 程序:(如右图所示)

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

SQR (x ) =,ABS (x ) =

{

x (x ≥0)

-x (x

例5. 设计算法, 求ax +b =0的解, 并画出流程图. 解:算法:

a

”. b

第二步:判断a =0, b =0是否成立. 若成立, 输出结果“解集为R ”.

第一步:判断a ≠0是否成立. 若成立, 输出结果“解为-

第三步:判断a =0, b ≠0是否成立. 若成立, 输出结果“方程无解”, 结束算法. 程序框图:略 程序为:

INPUT “a,b=”;a,b d=b^2-4*a*c IF a=0 THEN IF b=0 THEN

PRINT “All real” ELSE

PRINT “No root” END IF ELSE

PRINT “x=”;-b/a END IF

END

例6.设计算法, 找出输入的三个不等实数a , b , c 的最大值, 并画出流程图. 解:算法:

第一步:输入a , b , c 的值.

第二步:判断a >b 是否成立, 若成立, 则执行第三步; 否则执行第四步. 第三步:判断a >c 是否成立. 若成立, 则输出a , 并结束; 否则输出c , 并结束. 第四步:判断b >c 是否成立, 若成立, 则输出b , 并结束; 否则输出c 并结束. 程序框图:略 程序为: INPUT a,b,c IF a

IF a

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收费,请根据上述收费方法编写程序。

0.35x , 0

y ={0.35⨯20+0.65(x -20), x >20. 分析:首先由题意得:

该函数是个分段

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

来实现。

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

IF x>0 AND x

y=0.35*x ELSE

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

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

基本条件语句

例9. 编写一个程序, 求实数x 的绝对值. 解:程序1:

INPUT x IF x>=0 THEN PRINT x ELSE PRINT –x END IF END 程序1: INPUT x IF

例10. 给计算机编写一个程序,输入一个自变量

x 的值,输出分段函数

⎧x +2x ≥0

的函数值. f (x ) =⎨2

x x

解: 程序框图 QuickBASIC程序语句

INPUT “x=”;

PRINT “y =” ; y

QuickBASIC语言中的符号。

条件结构的嵌套

END

x >0⎧1⎪

x =0,编写一个程序,输入x 的值,输出y 的值 例11. 函数y =

⎨0

⎪-1x

解:用程序框图表示为

用QuickBASIC 语言可写为

INPUT “x =” ; x

END IF

PRINT “ y=”; y END

该程序中有两个IF 语句,大IF 语句中嵌套了一个小IF 语句。

例12.乘坐火车时, 可以托运货物, 从甲地到乙地, 规定每张火车客票托运费计算方法是:行

李质量不超过50kg 时按0. 25元/kg ; 超过50kg 而不超过100kg 时, 其超过部分按0. 35元/kg ; 超过100kg 时, 其超过部分按0. 45元/kg . 编写程序, 输入行李的质量, 计算出托运的费用.

解:算法分析:数学模型实际上为:y 关于x 的分段函数. 关系式

0

50

⎪0. 25⨯50+0. 35⨯50+0. 45(x -100) x >100⎩

算法步骤:

第一步 输入行李质量x .

第二步 当x ≤50时, 计算y =0. 25x , 否则, 执行下一步.

第三步 当x ≤100时, 计算y =0. 35x -5, 否则, 计算y =0. 45x -15. 第四步 输出托运费y . 程序框图为:略 程序为: INPUT x IF x

IF x

ELSE

y=0.45*x-15 END IF END IF PRINT “y=”;y END

【课堂精练】

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

参考答案: 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

2. 读程序,说出该程序的功能。

INPUT “Please input an inter:”;x IF 9

QuickBASIC 语言中的符号。

注:(1)在程序中用“AND ”表示“且”,用“OR ”表示“或”。

(2)a ÷b 用“a /b ”表示,而a ÷b 商用“a \b ”表示。例如34\10=3,57\8=7。 (3)a ÷b 的余数用“a MOD b ”表示,例如34 MOD 10=4,57 MOD 8=1。

3. 编写程序,判断一个整数是偶数还是奇数,即从键盘上输入一个整数,输出该数的奇偶性。

4. 闰年是指年份能被4整除但不能被100整除,或者能被400整除的年份。编写一个程序,判断输入的年份是否为闰年。

(二)循环语句

算法中的循环结构是由循环语句来实现的。对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE 型)和直到型(UNTIL 型)两种语句结构。即WHILE 语句和UNTIL 语句。

(1)WHILE 语句的一般格式是:

WHILE 条件

循环体 WEND

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

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

DO

循环体

LOOP UNTIL 条件

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

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

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

行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOP UNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句。 〖提问〗:通过对照,大家觉得WHILE 型语句与UNTIL 型语句之间有什么区别呢?(让

学生表达自己的感受)

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

件不满足时执行循环体。

【例题精析】

例1.编写程序,计算自然数1+2+3+„„+99+100的和。

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

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

程序: WHILE型: UNTIL型:

当型循环

程序框图 程序语言

直到型循环结构

程序框图 程序语言

例2.下面是一个计算2+4+6+ +100的算法。请填写程序框图和相应的程序。 解:程序框图 程序语句

i=___ S=0 PRINT S END

例3.下面是一个计算1⨯2⨯3⨯ ⨯100的算法。请填写程序框图并写出相应的程序。 解:

例4.根据1.1.2中的图1.1-2, 将程序框图转化为程序语句。

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

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

例5.某纺织厂1997年的生产总值为300万元,如果年生产增产率为5﹪,计算最早在哪

一年生产总值超过400万元。

x

分析:从1997年底开始,经过x 年后生产总值为300×(1+5﹪), 可将1997年生产

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

程序框图为: 程序:

【课堂精练】

1. 编写程序,输入正整数n ,计算它的阶乘n ! =1⨯2⨯3⨯ ⨯n 。

345n +12, , , , ,

n 。 2. 编写程序,计算下面n 个数的和:234

3. 某牛奶厂2002年初有资金1000万元,由于引进了先进的设备,资金年平均增长率

可达到50%。请你设计一个程序,计算这家牛奶厂2008年底的资金总额。 【课堂小结】

本节课主要学习了条件语句和循环语句的结构、特点、作用以及用法,并懂得利用解决一些简单问题。条件语句使程序执行产生的分支,根据不同的条件执行不同的路线,使复杂问题简单化。有些复杂问题可用两层甚至多层循环解决。注意内外层的衔接,可以从循环体内转到循环体外,但不允许从循环体外转入循环体内。

条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套。

循环语句主要用来实现算法中的循环结构,在处理一些需要反复执行的运算任务。如累加求和,累乘求积等问题中常用到。 【评价设计】

1. P23 习题1.2 A组 3、4 P 24 习题1.2 B组 2.

2.试设计一个生活中某个简单问题或是常见数学问题,并利用所学基本算法语

句等知识编程。(要求所设计问题利用条件语句或循环语句)

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. 分析下面的程序, 当输入x 的值为3时, 程序的输出结果为________. INPUT x IF x

IF x

例2 .给出下列程序, 如果输入-10, -26, 8, 那么输出的是________. INPUT a,b,c IF a>b THEN a=b END IF

IF a>c THEN a=c END IF PRINT a

IF 条件 THEN

语句 END IF

END 答案:-26

例3. 判断一元二次函数ax 2+bx +c =0(a ≠0) 是否有根. 分析:∆=b -4ac , 当∆≥0时, 方程有实根;

当∆

Step1:输入三个系数a , b , c . Step2:计算∆=b -4ac .

Step3:判断∆≥0是否成立. 若是, 则输出“方程有实根”;

程序框图为: 程序为:

INPUT “a,b,c=”;a,b,c d=b^2-4*a*c IF d>=0 THEN

PRINT “Have real root ELSE

PRINT “No real root” END IF END

例4.编写程序,输入一元二次方程

2

2

ax 2+bx +c =0的系数,输出它的实数

根。

分析:先把解决问题的思路用程

序框图表示出来,然后再根据程序框图给出的算法步骤,逐步把算法用对应的程序语句表达出来。

算法分析:我们知道,若判别式

∆=b 2-4ac >0,原方程有两个不

相等的实数根x 1=

-b -b 、x 2=;若∆=0,原方程有两个相等的实数根2a 2a

x 1=x 2=-

b

; 若∆

首先判断判别式的符号。因此,这个过程可以用算法中的条件结构来实现。

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

先计算p =-

b

,q =。程序框图:(参照课本P 12) 2a 程序:(如右图所示)

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

SQR (x ) =,ABS (x ) =

{

x (x ≥0)

-x (x

例5. 设计算法, 求ax +b =0的解, 并画出流程图. 解:算法:

a

”. b

第二步:判断a =0, b =0是否成立. 若成立, 输出结果“解集为R ”.

第一步:判断a ≠0是否成立. 若成立, 输出结果“解为-

第三步:判断a =0, b ≠0是否成立. 若成立, 输出结果“方程无解”, 结束算法. 程序框图:略 程序为:

INPUT “a,b=”;a,b d=b^2-4*a*c IF a=0 THEN IF b=0 THEN

PRINT “All real” ELSE

PRINT “No root” END IF ELSE

PRINT “x=”;-b/a END IF

END

例6.设计算法, 找出输入的三个不等实数a , b , c 的最大值, 并画出流程图. 解:算法:

第一步:输入a , b , c 的值.

第二步:判断a >b 是否成立, 若成立, 则执行第三步; 否则执行第四步. 第三步:判断a >c 是否成立. 若成立, 则输出a , 并结束; 否则输出c , 并结束. 第四步:判断b >c 是否成立, 若成立, 则输出b , 并结束; 否则输出c 并结束. 程序框图:略 程序为: INPUT a,b,c IF a

IF a

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收费,请根据上述收费方法编写程序。

0.35x , 0

y ={0.35⨯20+0.65(x -20), x >20. 分析:首先由题意得:

该函数是个分段

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

来实现。

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

IF x>0 AND x

y=0.35*x ELSE

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

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

基本条件语句

例9. 编写一个程序, 求实数x 的绝对值. 解:程序1:

INPUT x IF x>=0 THEN PRINT x ELSE PRINT –x END IF END 程序1: INPUT x IF

例10. 给计算机编写一个程序,输入一个自变量

x 的值,输出分段函数

⎧x +2x ≥0

的函数值. f (x ) =⎨2

x x

解: 程序框图 QuickBASIC程序语句

INPUT “x=”;

PRINT “y =” ; y

QuickBASIC语言中的符号。

条件结构的嵌套

END

x >0⎧1⎪

x =0,编写一个程序,输入x 的值,输出y 的值 例11. 函数y =

⎨0

⎪-1x

解:用程序框图表示为

用QuickBASIC 语言可写为

INPUT “x =” ; x

END IF

PRINT “ y=”; y END

该程序中有两个IF 语句,大IF 语句中嵌套了一个小IF 语句。

例12.乘坐火车时, 可以托运货物, 从甲地到乙地, 规定每张火车客票托运费计算方法是:行

李质量不超过50kg 时按0. 25元/kg ; 超过50kg 而不超过100kg 时, 其超过部分按0. 35元/kg ; 超过100kg 时, 其超过部分按0. 45元/kg . 编写程序, 输入行李的质量, 计算出托运的费用.

解:算法分析:数学模型实际上为:y 关于x 的分段函数. 关系式

0

50

⎪0. 25⨯50+0. 35⨯50+0. 45(x -100) x >100⎩

算法步骤:

第一步 输入行李质量x .

第二步 当x ≤50时, 计算y =0. 25x , 否则, 执行下一步.

第三步 当x ≤100时, 计算y =0. 35x -5, 否则, 计算y =0. 45x -15. 第四步 输出托运费y . 程序框图为:略 程序为: INPUT x IF x

IF x

ELSE

y=0.45*x-15 END IF END IF PRINT “y=”;y END

【课堂精练】

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

参考答案: 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

2. 读程序,说出该程序的功能。

INPUT “Please input an inter:”;x IF 9

QuickBASIC 语言中的符号。

注:(1)在程序中用“AND ”表示“且”,用“OR ”表示“或”。

(2)a ÷b 用“a /b ”表示,而a ÷b 商用“a \b ”表示。例如34\10=3,57\8=7。 (3)a ÷b 的余数用“a MOD b ”表示,例如34 MOD 10=4,57 MOD 8=1。

3. 编写程序,判断一个整数是偶数还是奇数,即从键盘上输入一个整数,输出该数的奇偶性。

4. 闰年是指年份能被4整除但不能被100整除,或者能被400整除的年份。编写一个程序,判断输入的年份是否为闰年。

(二)循环语句

算法中的循环结构是由循环语句来实现的。对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE 型)和直到型(UNTIL 型)两种语句结构。即WHILE 语句和UNTIL 语句。

(1)WHILE 语句的一般格式是:

WHILE 条件

循环体 WEND

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

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

DO

循环体

LOOP UNTIL 条件

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

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

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

行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOP UNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句。 〖提问〗:通过对照,大家觉得WHILE 型语句与UNTIL 型语句之间有什么区别呢?(让

学生表达自己的感受)

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

件不满足时执行循环体。

【例题精析】

例1.编写程序,计算自然数1+2+3+„„+99+100的和。

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

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

程序: WHILE型: UNTIL型:

当型循环

程序框图 程序语言

直到型循环结构

程序框图 程序语言

例2.下面是一个计算2+4+6+ +100的算法。请填写程序框图和相应的程序。 解:程序框图 程序语句

i=___ S=0 PRINT S END

例3.下面是一个计算1⨯2⨯3⨯ ⨯100的算法。请填写程序框图并写出相应的程序。 解:

例4.根据1.1.2中的图1.1-2, 将程序框图转化为程序语句。

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

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

例5.某纺织厂1997年的生产总值为300万元,如果年生产增产率为5﹪,计算最早在哪

一年生产总值超过400万元。

x

分析:从1997年底开始,经过x 年后生产总值为300×(1+5﹪), 可将1997年生产

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

程序框图为: 程序:

【课堂精练】

1. 编写程序,输入正整数n ,计算它的阶乘n ! =1⨯2⨯3⨯ ⨯n 。

345n +12, , , , ,

n 。 2. 编写程序,计算下面n 个数的和:234

3. 某牛奶厂2002年初有资金1000万元,由于引进了先进的设备,资金年平均增长率

可达到50%。请你设计一个程序,计算这家牛奶厂2008年底的资金总额。 【课堂小结】

本节课主要学习了条件语句和循环语句的结构、特点、作用以及用法,并懂得利用解决一些简单问题。条件语句使程序执行产生的分支,根据不同的条件执行不同的路线,使复杂问题简单化。有些复杂问题可用两层甚至多层循环解决。注意内外层的衔接,可以从循环体内转到循环体外,但不允许从循环体外转入循环体内。

条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套。

循环语句主要用来实现算法中的循环结构,在处理一些需要反复执行的运算任务。如累加求和,累乘求积等问题中常用到。 【评价设计】

1. P23 习题1.2 A组 3、4 P 24 习题1.2 B组 2.

2.试设计一个生活中某个简单问题或是常见数学问题,并利用所学基本算法语

句等知识编程。(要求所设计问题利用条件语句或循环语句)


相关文章

  • 人教版高二年级算法案例的教学设计
  • 人教版高二年级"算法案例--辗转相除法与更相减损术"的教学设计 松滋市贺炳炎中学 袁文 [email protected] 1. 内容和内容解析 (1)内容: 本节内容选自人教版普通高中课程标准实验教科书必修3第一章第3节 ...查看


  • 高二数学基本算法语句
  • 第7课时5.3 基本算法语句 涵 2.能进行最简单的语句的书写,通过训练能编写出一些简单的程序语言 难点:几种语句形式上的把握,理解其本质; 语句的书写,编写一些简单的程序语言 重点:1.学习和理解几种语句的作用和形式,既要有形式上的把握也 ...查看


  • 高二文科月考试题及答案
  • 即墨创新学校高二月考 数学卷(文) 说明:本试卷满分150分,考试时间120分钟. 一.选择题(本题共18小题,每小题只有一个正确答案,每小题4分,共72分) 1.任何一个算法都必须有的基本结构是( ). A .顺序结构 B .条件结构 C ...查看


  • 高中数学精品课件三
  • 说明:因博客不能提供上传.下载PPT课件功能, 因此欢迎朋友们到我的站点阅读下载!(点击进入) 二面角 高一数学 1.1.1算法的概念 二面角的求法 高一数学 1.1.2程序框图 二面角2 高一数学 算法的概念 二面角及其平面角 高一数学 ...查看


  • 循环语句教学反思
  • 循环语句教学反思 程序设计是教学中的重点也是难点,循环结构是其中的一种设计结构,其作用是使一段程序反复执行.FOR/NEXT语句是循环运算的专家,在程序设计中频繁出现.本节课的学习,会使学生对算法有一个更深刻的理解,为实现独立编程起到了关键 ...查看


  • 高二数学教材目录
  • 高二数学教材目录 高二数学目录主要包括了高二数学必修三以及高二数学选修2-1.选修2-2.选修2-3的课程目录.涵盖了高二整个数学的课程,供高二的学生参考使用. 高二数学必修三目录 第一章 算法初步 1.1 算法与程序框图 1.2 基本算法 ...查看


  • 湖南师范大学附属中学高一数学 循环语句教案
  • 湖南师范大学附属中学高一数学教案:循环语句 教学目的:(1)通过实例使学生理解用程序设计语言表示算法, 初步形成用程序观 点处理问题的意识: (2)掌握循环语句的语法结构: 教学重点:程序设计的观点和变量的理解. 教学难点:条件的语法结构及 ...查看


  • 高中数学基本算法语句3苏教版必修三
  • 基本算法语句(三) 教学目标: 使学生能结合选择结构的流程图学习条件语句,能用条件语句编写程序. 教学重点: 如何在伪代码中运用条件语句. 教学难点: 如何在伪代码中运用条件语句. 教学过程: Ⅰ. 课题导入 写出计算1+2+3+4+„+1 ...查看


  • 高二该如何学习
  • 高二是高中学习的关键时期,不仅课程任务重,而且很大程度上决定着学生今后的发展方向,以及能否考入理想的大学.有着丰富教学经验的老师,向大家传授高二各学科学习技巧,希望对高二学生掌握良好的学习方法.提高学习效率有所帮助. [语文]结合大纲,注重 ...查看


热门内容