|
|
|
|
|
|
|
您现在的位置: 算法与程序设计网>> 首页>>程序设计基础
欢迎光临算法与程序设计网!
 
2-3节   程序的选择结构
 

(作者:洪衬南  修改时间:2006年7月19日)

一、       教学目标

1、            知识与技能

理解程序选择结构中的条件选择语句的执行流程,掌握条件选择语句和多种选择语句的使用方法,能够编写简单的选择结构的程序,以解决生活中的一些计算问题。

2、            方法与过程

本节从简单的问题入手,通过一道求一个数的绝对值的题目,让学生明白条件选取择语句的执行流程及使用方法。通过一道输入学生分数,判断该分数是属于哪种等级的题目,让学生初步接触多种选择语句的使用。进而再做类似的练习,加强学生的理解,课程安排形成循序渐进的梯度,充分挖掘学生潜力。

3、            情感态度和价值观

程序设计选取的题目都是生活中遇到的例子,加强学生利用本学科解决日学生活中的问题的意识。

 

二、       重点难点

1、            教学重点

(1)    条件选择语句和多重选择语句的使用

(2)    程序条件选择结构的执行流程

(3)    会使用条件语句和多重选择语句编写程序解决简单的应用题

2、            教学难点

根据题目写出正确的程序

 

三、       教学环境

1、            教材处理

教材选自《广东省普通高中信息技术选修一:算法与程序设计》第二章第三节,原教材的第一个程序例子有关矩形的计算,涉及到解二元一次方程,使用的表达式也较为复杂,授课过程中可能花的时间太多。

所以上课时,把教材的导入例子作了的简单的处理,以求一个数的绝对值作为导入,学生更易理解条件语句的执行。至于多种选择语句,教材选用一道求恩格尔系数,从而判断生活水平的高低的题目,授新课前,就简单说明一下,再用另一道根据学生分数判断该成绩是属于哪一个等级的题目作为实践,从而与学生的学习更有联系,提高学习兴趣。

2、            预备知识

学生已掌握算法的概念及描述方法,定义常量与变量的方法,程序设计的四个步骤——分析问题、建立模型、设计算法和编写程序。

3、            硬件要求

建议本节课在多媒体电脑教室中完成,有广播教学系统或投影仪。

4、            所需软件

学生机要安装VB6.0或以上版本。

5、            所需课时

2课时(100分钟)

 

四、       教学过程

导入:

演示求一个数的绝对值这道题的程序,让学生明白通过程序可以解决数学中的问题,也给学生展示完整的程序代码,这道程序的功能就是靠这些代码来控制的,引起学生的注意,激发他们的求知欲。

一、                演示上述的程序,并把程序代码中的各行代码的作用解释一遍,顺便把程序的执行流程说明一下,编写的程序与设计的算法是一致的。

 

程序2-3

Private sub command1_click()        ‘定义名为command1_click()的事件过程

 Dim A as single                  ‘定义求绝对值的数A为单精度实型

 A=inputbox(“r=”,”请输入半径”)    ‘输入A的值

 If A>=0 then                     ‘如果A>=0

Print “Y=”;A                    ‘输出A的值

Else

Print “Y=”;A                  ‘输出-A的值

End if                     

 End sub                         ‘过程结束

 

二、                条件语句

在解决问题的过程中,常常需要对事物进行判断和选择,如上题中,求一个数A的绝对值,如果A>=0,则这个数的绝对值为A,否则为-A。在程序设计中,如何实现判断和选择呢?在上述代码中,有一个用if开头的语句,这就是条件语句。

(一)条件语句的基本格式是:

        if 条件 then 语句组1  else 语句组2

   或

              if 条件 then

                语句组1

              else

                语句组2

              end if

其中,条件是一个逻辑表达式,语句组是一组VB的语句。

(二)条件执行语句的执行过程

条件语句的执行过程是:当条件成立时,执行then后面的语句组1,否则执行语句组2,条件语句的执行流程图如下图所示。

     在条件语句的基本格式中有时可以省略else和语句组2,这时条件语句的执行过程是当条件成立时,执行then后面的语句组1,否则退出条件语句,执行下面的语句。

(三)关系表达式

         在程序2-3中,程序的第三行是一个条件语句,其中的条件A>=0表达式,一般称为关系表达式,关系表达式是用关系运算符连接起来的式子。

      关系运算符号有:

运算符号

=

>=

<=

<>

含义

等于

大于

大于等于

小于

小于等于

不等于

   当关系表式成立时其值为真(Ture,当表达式不成立时其值则为假(False);关系表达式的值既不是数值型量,也不是字符型量,而是一种新的数量类型——逻辑型。逻辑型只有两个可能的值:假(False)和真(Ture)。

         关系表达式的值定义如下:

    (1)对数值型的数据比较,是按照数值的大小来进行比较。如13>6的值为真。

        (2)对其它类型数据的比较,则按照其序号进行比较。如"D">"B"其值为假。2<X<

        (四)逻辑表达式

         在实际问题中,对于一些复杂的条件,还需要几个关系表达式组合起来才能表示。例如,条件2<X<9就需要用2<X和X<9这两个表达式来表示.将多个关系表达式用逻辑运算符连接起来的式子称为逻辑表达式,逻辑表达式的运算值为逻辑型。逻辑运算符有:

         Not(非)取操作数相反的值。即当操作数为假时,结果为真;当操作数为真时,结果为假。

         And(与)当两个操作数都为真时,结果才为真。

         Or(或)当两个操作数都为假时,结果才为假。

       (五)逻辑运算的顺序

(1)当条件中只有逻辑运算符时,运算的顺序为Not、And、Or

(2)当条件中既有算术运算符,又有关系运算符和逻辑运算符时,运算顺序是:算术运算符,关系运算符,逻辑运算符

例如:

 a+b>c+d and a>=5 or not c>0 or d<0

a=5,b=7,c=2,d=1时,运算结果是真。

  

三、                练习

   

四、                练习

问题1:某商场为了对苹果进行促销,规定购买2千克以上可以在原价每千克1.5的基础上打8折。请设计一个程序计算购买x千克苹果的应付款。

(1)    分析问题

设买苹果的重量为x千克,应付款为y元,如果x>=2,则y=1.5*x*0.8,否则y=1.5*x。

           (2)设计算法

    输入x的值

    如果x>=2,则y=1.5*x*0.8

    否则y=1.5*x

    输出y的值

3)编写程序

 

Private sub command1_click()

Dim x as single

x=Inputbox(“请输入购买苹果的重量”)

if x>=2 then

   y=1.5*x*0.8

else

   y=1.5*x

end if

Print “应付款”;y;“元”

 

       (4)调式程序

五、                多重选择语句

问题2:输入一个成绩,如果90分以上,则输出“优秀”;80-89,则输出“良好”;70-79,则输出“中等”;60-69,则输出“及格”;60分以下则输出“不及格”,请编写程序。

如果这道题使用if语句来编写程序的话,程序如下:

 

程序2-4

Private sub command_click()

  X=inputbox(“请输入一个分数”)

If X>=90 then print”优秀

If X>=80 and X<89 then print”良好

If X>=70 and X<79 then print”中等

If X>=60 and X<69 then print”及格

If X <60 then print”不及格

End sub

 

在程序2-4中,使用了5个if语句来处理5种情况。这样的程序在可读性和效率方面都是比较差的,如果再多一些情况,它的缺陷就会暴露得更加明显,如何处理这个问题呢?

(一)多重选择语句格式

VB语言中,设置了一个处理多种情况的语句,称为多重选择语句,它的基本格式为:

    select case 表达式

       case 表达式列表1

          语句组1

case 表达式列表2

……

     case else

         语句组N+1

     end select

其中

1)表达式和表达式列表可以是数值型或字符型,表达式列表还可以是多个用逗号分开的表达式。

(2)    表达式列表与表达式的类型必须相同。

(3)    表达式列表又称值域,它有如下三种形式:

    表达式1,表达式2,……

    表达式1 to表达式2

    Is关系表达式

     

(二)多重选择语句的执行过程

  多重选择语句的执行过程是:

      当表达式的值为表达式列表1时,执行语句组1;

      当表达式的值为表达式列表2时,执行语句组2;

                ……

   当表达式的值为表达式列表N时,执行语句组N;

   当表达式的值不是上述值时,执行语句组N+1;

有了多重选择语句,对于多种情况的选择问题,就可以利用它来解决。运用多重选择语句编写问题2的程序如下:

 

Private sub command_click()

 X=inputbox(“请输入学生成绩”)

 Select case X

   Case Is>=90

Print”优秀

   Case 80 to 89

Print”良好

   Case 70 to 79

Print”中等

   Case 60 to 69

Print”及格

   Case else

Print”不及格

End select

End sub

 

(三)练习

  问题3:我们把字符作如下的分类:大写字母:A…Z;小写字母:a…z;数字:0…9;其它字符。编写程序,根据上述分类的方法,输入一个字符,报告该字符所属的类型。

 

六、小结

与顺序结构相比较,选择结构就是程序的执行不再完全按照语句的顺序执行,而是根据某种条件是否成立来决定程序执行的走向,它进一步体现了计算机的智能特点。

VB语言中,选择结构通过if语句和select case语句这两个条件语句来实现,运用条件语句的关键是条件的表示,如果能够正确地表达条件,就可以简化程序,在多重选择的情况下,使用select case语句,可以使程序更直观,更准确地描述出分支的走向。

 

五、 课外拓展

问题4:编一个程序,输入三个数,输出其中的最大数。

问题5:自已上网查资料,搜集有关气象风级表的资料,比如说0级是属于无风,12级是属于飓风等,试编写程序,输入一个风级,输出相应的概况,名称,速度等。

 

 

版权所有 Copyright&copy; 2006惠东高级中学信息技术组