小学《人工智能编程》课程教案
12讲 猜拳小游戏
1.教学内容分析
本节内容首先情境带入,引出分支选择结构的知识内容;随后,以Python编程软件为辅助,讲解二分支结构和多分支结构;之后,开展实践任务,以石头剪刀布游戏为例,熟悉分支选择结构的使用方法;然后,思维拓展,讲解代码书写及空格的使用规范等知识,最后,能力提升,通过Python编程设计为老师设计成绩录入系统
2.学习者分析
1.学生具有一定的Python编程语言基础;
2.学生对分支选择结构有一定的基础认识;
3.学生具备一定的逻辑推理能力,知识迁移能力,对人工智能的技术有较强的学习兴趣。
3.学习目标确定
1.知识与技能:
①了解 if... else 二分支选择结构,掌握其编程应用方法;
②了解 if...lse 多分支选择结构,掌握其编程应用方法;
③学生能够了解代码及空格的使用规范。
2.过程与方法:
①通过学习分支选择结构,体会Python编程的分支选择结构的应用;
②通过项目的编程练习,培养学生设计能力和举一反三的能力。
3.情感态度与价值观:
①养成自主学习、自主探究的能力;
②培养发现问题、解决问题的探究能力;
③通过对项目的讨论、分析、制作等活动,培养严密的逻辑思维能力。
4.教学重点难点
教学重点:1.掌握二分支结构的编程设计;
        2.掌握多分支结构的应用方法;
教学难点:1.能够应用 Python 的分支选择结构解决实际编程设计问题
        2.灵活运用软件完成项目的制作。
5.教学流程图
情境导入
原理讲解
   
项目制作
思维拓展
展示小结
    能力提升
6.教学活动
环节一:(情境导入)5min
教学活动1
1.教师讲授情境故事,设置悬念,吸引学生兴趣;(教师播放PPT)
教师:“石头剪刀布”是一种古老的猜拳游戏,至今仍深受欢迎。游戏规则中,石头胜剪刀,剪刀胜布,布胜石头。游戏的实施过程也简单,能够迅速得出结果。由于“石头剪刀布”三者相互制约,因此不论平局几次,总会有胜负的时候。生活中也常常利用“石头剪刀布”的方式,快速做出决定,这个猜拳游戏起源于中国,据明朝《五杂俎》记载,最早剪子石头布是起源自汉朝的手势令与豁拳。后来,猜拳游戏传到日本,叫“石头、剪子、纸”,再由日本传入欧美,叫“Rock, Paper, Scissors”。 小楷和同学们玩游戏时,都是采用“石头、剪子、布”定胜负的方式来决定谁先谁后。小楷想设计一个与计算机玩的猜拳小游戏,计划不断利用if选择结构进行“石头剪刀布”相互制约关系的判断。小楷希望多了解一些复杂点的分支选择结构,提高程序设计的效率。同学们,你们能够通过编程的方法替小楷完成任务吗?”
学生聆听情境故事,积极回应老师,思考如何设计石头剪刀布的猜拳游戏;
教师:“好的,同学们,我们一起去学习一下利用Python编程设计猜拳游戏吧!今天我们的学习将分成三个模块,第一个模块,认识分支选择结构;第二个模块,一起完成石头剪刀布猜拳游戏的实践任务;第三个模块,思维拓展,学习代码书写及空格使用等知识。”
学生聆听教师讲授。
活动意图说明:
通过情境故事吸引学生的注意力,激发学生的学习兴趣,导入本节课的内容----猜拳小游戏
环节二:(原理讲解)20min
教学活动2
学编程的游戏app1.教师讲解二分支选择结构的知识内容,并进行相关演示;
教师:“选择结构通过判断某些特定条件是否满足来决定下一步的执行流程,是非常重要的控制结构。常见的有单分支选择结构、二分支选择结构、多分支选择结构以及嵌套的分支结构,使用方式比较灵活。Python中使用if... else语句来形成二分支选择结构的语法为,如图当条件表达式值为True或其他等价值时,执行语句块1,否则执行语句块2。二分支选择结构用于区分条件的两种可能,即True或False,分别形成执行路径。语句块1在满足条件时执行,语句块2是在条件不满足的情况下执行。二分支选择结构的流程图如图所示。生活中经常会遇到在两种情况下做选择的问题。例如,针对空气质量状况做判断,可以编程如图的程序:其中, eval是Python的一个内置函数,该函数的作用是,返回传入字符串的表达式的结果。即变量赋值时,等号右边的表示是写成字符串的格式,返回值就是这个表达式的结果。上述程序中,利用eval函数将输入的字符串转换成数值,以便于常数做比较。
学生聆听教师讲解二分支选择结构的知识内容,教师播放PPT,并进行相关演示
2.教师讲解特殊的二分支选择结构知识内容,并进行相关演示;
教师:“Python二分支选择结构还有一种特殊的表示方式,以简洁的方式实现图所示的二分支选择结构,其语法格式如图:其中的2个表达式一般是数字类型或字符串类型的一个值。当条件表达式的值与True等价时,取表达式1的值,否则取表达式2的值。这种结构非常适合通过判断返回特定值,过程简单,结构紧凑,不少程序员喜欢使用。在交互式环境下输入如图语句,观察运行结果:继续输入如图语句,观察运行结果:虽然结果与最初的语句一样,但是这里if...else结构先执行,形成结果后才由print函数输出。观察如图这一复杂点的语句,分析它的运行结果:实际的运行结果是9,原因是赋值运算符优先级低。该语句先做了选择判断,取得返回值后,再赋值给变量b
学生聆听教师讲解特殊的二分支选择结构知识内容,教师播放PPT,进行相关操作演示;
3. 教师讲解多分支选择结构,并进行操作演示;
教师:“多分支选择结构为编程提供了更多的选择,可以实现更复杂些的逻辑。 Python使用if...lse语句描述多分支选择结构,多分支选择结构的语法为,如图其中,关键字 elif 是 else if的缩写。多分支选择结构通常用于设置同一个判断条件的多条执行路径。程序依次根据第一个结果为True的条件,执行该条件下的语句块,结束后跳过整个if...lse结构,执行后面的语句。如果没有任何条件成立,else下面的语句块将被执行。多分支选择结构的流程图如图所示:接下来做一个编程练习。目前,多数学校考试成绩采用的等级制。试编写程序,利用多分支选择结构,实现将录入的成绩从百分制转换到等级制。程序代码如图
学生聆听教师讲解多分支选择结构知识内容,教师播放PPT,进行相关操作演示;
活动意图说明
配合PPT和Python编程语言进行讲解,让学生从亲身经验中体会分支选择结构及使用方法。
环节三:(项目制作)25min
教学活动3
教师带领学生借助软件完成石头剪刀布猜拳游戏的的编程设计;
教师:“设计一个石头剪刀布的猜拳小游戏,要求有一定的交互性和参与体验性。
实践任务1:设计出拳过程。计算机固定出拳,参与者通过键盘输入。程序及结果如图,实践任务2:设计完整的出拳猜拳游戏过程。计算机随机出拳,参与者通过键盘输入。程序及结果如图;实践任务3:使用分支嵌套流程进行编程练习1)任务分析,可以发现上个猜拳的小程序使用的是穷举法,这样在情况多的时候容易造成遗漏,因此针对该缺点做出改进,先列举出玩家出拳的所有情况,再根据计算机的出拳进行结果判断,即分支嵌套。参考代码及结果如图;实践任务4:1)任务描述经过分支嵌套改进的猜拳游戏程序还是稍显烦琐,我们知道猜拳游戏的规则就是石头赢过剪刀,剪刀赢过布,而布赢过石头。把这个规则分别列为数组存入列表,通过访问这个列表,我们可以轻松地判断猜拳结果。参考代码及结果如图。”
教师操作Python编程语言,并讲解根据具体操作步骤完成剪刀石头布猜拳游戏的编程设计,并进行操作演示;
学生聆听教师讲解利用Python完成剪刀石头布猜拳游戏的编程设计的过程和方法;
教师讲解完成后,教师可留给学生5min时间让学生自己操作学习;
活动意图说明
屏幕共享,教师演示操作,培养学生动手操作能力,让学生直观学习编程设计过程,掌握逻辑结构。
环节四:(思维拓展)10min
教学活动4
1.教师讲解代码书写规范的相关内容;
教师:“1)代码缩进Python代码统一使用4个空格进行缩进,不要使用Tab键缩进。把单行内容拆成多行编写时,要么与首行保持对齐,要么首行留空,从第二行起统一缩进4个空格。为了与后面的代码区分,可以使用8个空格缩进2)行宽;每行代码尽量不要超过80个字符。一方面是要方便在不同的平台下查看代码,另一方面是,每行代码过长可能会带来不易察觉的错误。。
学生认真聆听教师讲解代码书写规范的相关内容;
2.教师讲解空行规范;
教师:“1.成员函数之间空一行。2.可以使用多个空行分隔出逻辑相关的代码。3.函数中可以使用空行分隔出逻辑相关的代码。4.模块级函数和类定义之间空两行。
学生认真聆听教师讲解空行规范的相关内容;
活动意图说明
增强学生对代码书写及空行使用规范的认识,更好利用Python语言进行编程设计。
环节五:(展示小结)5min
教学活动5
1.学生发言,展示作品,进行逻辑代码讲解
2.教师对学生作品进行评价;
教师:“同学们,在看了大家的作品后,老师觉得大家都完成的非常好,老师给同学们一个大大的赞。”
1.总结本节课的知识内容,巩固本节课的知识点,铺垫下一节课。
教学活动6
根据所学知识,利用Python编程为老师设计成绩录入系统;
教师:“每到期末考试,老师都要手工录入学生的考试成绩,然后汇总统计,很费时间,也很辛苦。请编写Python程序,能够输入若干个成绩,并求出所有成绩的平均分。每输入一个成绩后询问是否继续输入下一个成绩,回答yes就继续输入下一个成绩,回答no就停止输入成绩。
活动意图说明
通过项目式学习的体验效果,让学生可以更直接的体验Python编程的应用,提高学生的参与感。
7.板书设计