APP下载

《条件语句》教学设计

2020-02-02王佳莉

中国信息技术教育 2020年2期
关键词:流程图语句条件

王佳莉

● 教材分析

《条件语句》是江苏凤凰科学技术出版社出版的《初中信息技术》八年级第4章第5节的第一个知识点。在此之前,学生已学习了算法的概念,用“画程”软件画流程图,输入、输出语句和赋值语句,这些为过渡到本节课的学习起着铺垫作用。本节课的主要内容为两种条件语句的流程图、格式以及用法。

● 学情分析

本节课的教学对象是初二年级的学生,这个年龄段的学生思维活跃,已经具有一定的逻辑思维能力。由于刚刚接触程序设计不久,一些学生对掌握枯燥的语句格式、用法、画流程并不感兴趣,因此本节课利用“猜币”这个小程序来吸引学生的注意力。

● 教学目标

知识与技能目标:通过实例正确理解条件语句的概念、流程图、格式、用法;能初步用条件语句设计算法,进一步体会算法的基本思想,学习有條理地、清晰地表达解决问题的步骤,提高逻辑思维能力。

过程与方法目标:通过实例,发展对解决具体问题的过程与步骤进行分析的能力;通过探索、画流程图、编写程序以解决具体问题的过程,发展应用算法的能力。

情感态度与价值观目标:能通过具体实例,感受和体会算法思想在解决具体问题中的意义,进一步体会算法思想的重要性,体验算法的有效性;在编写程序解决问题的过程中,逐步养成扎实严谨的科学态度。

行为与创新目标:运用条件语句进行创意编程,以解决现实生活中遇到的问题。

● 教学重难点

教学重点:条件语句的结构和用法。

教学难点:将流程图中的条件结构转换为条件语句组成的程序。

● 课时安排

1课时。

● 教学方法与手段

问题导向式教学法、任务驱动法。

● 教学准备

网络机房、教学课件、半成品小程序、学习任务单。

● 教学过程

1.游戏导入

教师向学生展示“猜币”程序,邀请学生参与这一游戏,查看猜币的结果(如图1)。

师:为什么我们每次猜币都会输呢?程序是怎么实现的呢?你能用自然语言来描述吗?

生:如果我猜是正面,计算机掷币的结果就是反面,如果我猜是反面,计算机掷币的结果就是正面,因此我们每次猜币都错了。

师:刚刚大家在用自然语言描述的时候,都用了“如果……就……”“如果……那么……”之类的判断语句,这些语句翻译成英文是什么呢?

生:if……then……

设计意图:通过小游戏,吸引学生的注意力,并让学生发现参与游戏的结果都是猜输,从而引发学生思考,利用自然语言的描述顺利引出条件语句。

2.新知学习

师:一起来看一下程序代码,程序中多次出现了什么语句结构?看看课件里用红色圆框框出的英文都是什么?

生:if……then……

教师带领学生分析语句。

学生总结得出:程序的思路是,如果我们猜正面,那么计算机就掷币为反面,如果我们猜反面,那么计算机就掷币为正面,所以我们必败!

教师引出条件语句的定义:给定一个判断条件,并在程序执行过程中判断该条件是否成立,根据判断结果执行不同的操作。

师:请同学们结合现在看到的程序代码,在Flash动画中拖放出语句的语法格式(如图2)。

学生在Flash动画中拖放出语句的语法格式。

教师引入条件语句的一种格式:

If<条件>Then<程序段A>

师:通过分析,大家能不能把程序改成必胜的结果呢?

学生相互讨论,形成思路。

师:通过“必败”和“必胜”的“猜币”程序,可以发现这其实是程序中早已设定好的,跟运气毫无关系,我们能不能自己设计出一个计算机掷币结果随机的“公正版”“猜币”程序?大家可以将自己的思路用流程图来体现。[教师适当介绍一下Randomize及n=Int(2*Rnd)]

部分学生完成流程图后,教师请一位学生在黑板上用刚刚学过的if……then……语句格式编写程序中的判断部分。

大部分学生完成后,提示学生对比黑板上学生编写的判断语句格式和“画程”软件中“代码窗口”内判断语句的格式有什么区别。

学生发现和自己刚刚所学的条件语句格式不一样,由此引入条件语句的另一种格式:

If<条件>Then

<程序段A>

Else

<程序段B>

End If

学生利用Flash动画拖拽出第二种语句的格式。

设计意图:通过观察程序代码,让学生发现“必败”的真正原因是计算机进行了程序设定,由此引出如何才能让每次猜币的结果都是“必胜”,并再次过渡到“公正版”程序的编写,层层递进。在这个过程中,通过流程图让学生发现条件语句的第二种格式,通过思考两种格式的区别,更加清晰地了解条件语句。

3.总结格式

师:请大家思考一下,条件语句的两种格式有什么区别?

学生思考,教师引导学生总结。

(1)单行格式的If语句。

单行格式的If语句可判断一个或多个条件的成立与否,仅在条件成立时执行特定程序段,条件不成立时则跳出当前语句继续执行下一行代码,格式如下:

If<条件>Then<程序段A>[Else<程序段B>]

(2)多行格式的If语句。

在条件成立或不成立时都需要执行对应的程序段,格式如下:

If<条件>Then

<程序段A>

Else

<程序段B>

End If

教师引导学生举例说明条件语句在现实生活中的应用(用声音控制灯的亮灭、感应水龙头……),通过利用条件语句解决现实问题,激发学生今后学习编程的兴趣。

设计意图:通过两种格式条件语句的对比,让学生能够更加清晰地了解两种格式条件语句的区别、适用场合、在现实生活中的应用,强化学生的认知。

4.算法的优化

师:如果我输入的值不是1和0这两个数,猜币的结果会怎样?

生:都是输出“猜错了”。

师:怎么解决这个问题呢?

生:在输入一个值后,再加一个判断语句,判断值是不是0或1,如果不是,就提示用户重新输入。

师:很好!在编程过程中,需要综合考虑各种可能的情况,不断优化程序,减少漏洞。

设计意图:通过提出新问题让学生去思考,这样的优化过程,可以提高学生的思维品质。教师利用问题引导学生去思考算法的优化,不仅可以帮助学生梳理思维过程,养成思维习惯,长此以往,还可以提高学生的学习能力,使学生的思维品质得到一定程度的提高。

5.自主探究

完成半成品程序:判断任意输入的整数是奇数还是偶数(用两种格式)。

要求:

(1)先画流程图,可以结合“画程”软件中的“单步运行”按钮,检查流程图是否正确(如上页图3、图4)。

(2)完成半成品程序,可以参考“画程”软件中的“代码窗口”完成程序填充(如图5、图6)。

(3)完成流程图和程序填充后,小组讨论总结操作中遇到了什么问题,是如何解决的,有什么问题没有解决。

学生编写完程序之后,教师展示几个失败的案例,分析其失败的原因,如语句格式错误(没有空格、忘记End If)、逻辑表达式错误等,引起学生注意,加深学生印象,提醒学生注意条件语句和逻辑运算使用时的注意事项。

设计意图:通过“画程”软件中的“单步运行”功能,可以使学生更加清晰地了解程序运行的每一个过程,同时通过“代码窗口”的程序作为完成程序填充的参考,帮助学生体验算法实现后的成功感,增强其学习程序设计的自信心。

6.拓展练习

教师提供程序半成品,让学生在以下3个程序中任选其中一个进行编程。

(1)完善程序,输出两个不相等的实数a、b的最大值(用两种格式)。

(2)输入儿童身高,判断儿童乘坐火车时的购票情况,判断条件如下:

若身高不超过1.1m,则无须购票;

若身高超过1.1m、不超过1.4m,应买半票;

若身高超过1.4m,应买全票。

(3)将考试分数转换为等级,规则如下:

输入一个百分制分数i([0,100]间的整数),输出转换得到的等级grade。

i      grade

[85,100]     "A"

[75,85)      "B"

[60,75)      "C"

[0,60)       "D"

学生完成后,教师展示一些优秀作品和一些有标志性错误的程序,通过对优秀作品的欣赏和标志性错误的反思,加深学生对条件语句的理解和掌握。

设计意图:教师提供3个半成品程序,让学生选择自己感兴趣的题目进行编程,通过展示共性错误,让学生发现问题所在,从而加深学生对条件语句格式的掌握。

7.总结与拓展

教师引导学生总结条件语句的格式、关系表达式、逻辑表达式及使用时的注意事项。

● 教学反思

在本节课的教学过程中,我利用了教材中的“猜币”程序作为导入的小游戏,并对教材中的程序进行简化——不显示计算机掷币后的文字信息,仅以图片代替,由此吸引学生的注意力,并通过“必输”“必胜”“公正版”三个环节的层层递进,引入条件语句的两种格式。其中,应用“画程”软件及其自带的“单步运行”功能,帮助学生更加清晰地了解程序运行的每一步结果,并用“画程”软件中“代码窗口”的代码作为学生完成半成品编程的参考,帮助学生体验算法实现后的成功感,增强其学习程序设计的自信心。

根据听课教师的建议,在本节课“教学过程”的第2、第3部分介绍条件语句和总结格式时,可以利用学生在小学阶段学习过的Scratch軟件中的条件语句进行迁移,加深学生对知识的拓展。

猜你喜欢

流程图语句条件
云的识别指南
有限制条件的组合应用题
有限制条件的排列应用题
为什么夏天的雨最多
“虎虎生威”的隐含条件
基本算法语句
我喜欢
流程图学习指南
作文语句实录