【课时】
1课时
【教材分析】
结合高一学生基础,通过狼羊菜过河的问题,探究解决问题的过程,即算法,有趣的编程实例——"最强大脑"游戏,初步了解算法的三种基本结构,即顺序结构、分支结构和循环结构,以及用自然语言和流程图对算法进行描述,熟悉计算机程序设计语言Python的开发环境,了解程序设计语言的发展,学会编写简单的程序解决问题,初入程序设计的大门。
【学情分析】
1.起点水平:继第一单元的学习,学生了解了信息和数据的特征,理解了数据、信息和知识的关系,感受到了数据在现代社会生活中的重要作用;通过比较多种计算方法在解决问题时的特点,体会到计算机在处理数据上的优势和价值。本节课初步接触Python语言,对于学生来说是陌生的,且有挑战性。在教学过程中要注意将代码简单化,不能将代码讲解得过于详细、复杂,不能让学生产生畏难情绪。在教学中要充分考虑到学生的个性差异和创造性,创设宽松、和谐的学习气氛,给学生自由发挥的空间,让学生多尝试多感受。
2.学习特征分析:学生总体思维活跃,对游戏或生活中的实际案例较为感兴趣;在有挑战性和竞争的教学环节中表现出十足的积极性。
3.学习动机:学生在课堂上主动学习的动机还是较为匮乏的,学生的注意力极其容易被机房设备和游戏分散。教师在课堂中要注意把控课堂纪律,用有趣的课堂吸引学生注意力,引导学生参与课堂活动中,提高学生学习的兴趣。
【教学目标】
1. 通过探讨表示游戏的算法,了解使用自然语言、流程图描述算法,进一步理解三种基本结构的流程图。
2. 通过用Python语言实现游戏的研究,掌握计算机解决问题的一般过程,熟悉Python语言的开发环境,了解程序设计语言的发展。
3. 在项目活动中体验数字化学习过程,感受利用数字化工具和资源的优势。
【教学重点】算法的表示及算法的三种基本结构。
【教学难点】能够使用流程图表示算法。
【教学方法、策略】
主要教学方法:
问题解决法、启发法、创设情境、讲授法、比较法
教学策略:
情境-陶冶教学策略 、指导性探究
【教学资源】
SWF文件、PPT课件、机房教室
【教学融入点】
以狼、羊、蔬菜过河的游戏:一个人带一只羊、一只狼和一篮菜过河,只有一只小船,一次只能带一个物品。如果羊和狼在一起,狼吃羊;如果羊和菜在一起,羊吃菜。怎样才能安全渡河?引出本节课的重点之一算法。该游戏中狼吃羊、羊吃菜的生物界完善的食物链引出平衡的思想政治教育。物理上有质量守恒;水在0~100度之间就是水,高于或低于这个区间就为水蒸气或冰;空气的温度在5~26℃就适宜人舒适的居住,太冷太热都不适宜;地球有白天就有黑夜,否则就是极夜或极昼;有大就有小,有阴就有弱,有舍就有得,有快就有慢;古代的三国鼎立,现代的一超多强带来现代的和平。凡事有度、不走极端。
【教学过程】
教学环节 | 教师活动 | 学生活动 | 设计意图 |
导入新课 小游戏1——狼、菜、羊过河
| 本节课学习2.1 计算机解决问题的过程。首先我们先来玩个小游戏。 一个人带一只羊、一只狼和一篮菜过河,只有一只小船,一次只能带一个物品。如果羊和狼在一起,狼吃羊;如果羊和菜在一起,羊吃菜。怎样才能安全渡河? 运行"狼羊菜.swf",试试你的想法是否可行? (演示swf文件的运行) | 运行"狼羊菜.swf"。尝试游戏通关。 | 狼羊菜是经典的算法问题。以游戏来进入课堂,激发学生的学习兴趣。 |
思政小课堂——平衡 | 同学们在这个游戏中体会着平衡。狼吃羊、羊吃蔬菜,这是生物界的食物链平衡。生活中还有很多的平衡。 水在0~100度之间就是水,高于或低于这个区间就为水蒸气或冰; 空气的温度在5~26℃就适宜人舒适的居住,太冷太热都不适宜; 地球有白天就有黑夜,否则就是极夜或极昼; 物理上有质量守恒; 有大就有小,有阴就有弱,有舍就有得,有快就有慢; 古代的三国鼎立,现代的一超多强带来现代的和平。 凡事有度、不走极端。 当你每天都觉得不开心的时候,不妨找朋友、老师、家人聊聊天。 | 听讲 | 世间万物强调平衡,我们个人也是在平衡——不平衡——新的平衡中不断发展。注意学生的心理健康教育。 |
描述步骤——算法 | 请用语言描述你完成游戏的步骤。 第一趟(去):人带羊过河 第二趟(回):留下羊,人单独回 第三趟(去):人带狼过河 第四趟(回):留下狼,人带羊回 第五趟(去):留下羊,人带菜过河 第六趟(回):留下菜,人单独回 第七趟(去):人带羊过河(人狼羊菜都过河了) 算法是解决问题的方法和步骤。 解决问题的过程,就是实现算法的过程。 算法的描述要求尽可能精确、详尽。 常用的描述算法的方法有:自然语言和流程图。 算法的特征: 1. 有穷性 执行有限步之后结束,且每一步都执行时间都是有限的。 2. 确定性 算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。 3. 输入 有零个或多个输入; 4. 输出 至少产生一个输出 5. 可行性 原则上能精确运行,用纸和笔做有限运算后可以完成。 | 请一位学生描述步骤。 | 狼羊蔬菜的游戏仅仅引出算法的概念及特征。 小步子走,慢慢深入分析。 |
自然语言、流程图描述算法 小游戏2——"最强大脑" | 过渡:刚才我们有说到描述算法的常用方法有自然语言、流程图,我们分别用自然语言和流程图来描述下最强大脑小游戏的算法。感受下两种方式的差异。 游戏规则 用10秒记忆10个物品及其编号,之后根据提问回答5个物品的编号,看你能记住几个物品及其编号? 活动一:用自然语言描述算法 观察"最强大脑程序.py"游戏运行的过程。填写课本P19表2.1.1。 (双击运行) 解决的步骤: 1.显示游戏规则、物品及其编号,屏幕停留10秒 2.清屏 3.给出一个物品名称 4.回答编号 5.如果回答正确,答对题数+1 6.重复以上步骤,直到答完5题 7.输出答对的题数
活动二:用流程图描述算法 用流程图符号试画出"最强大脑"的流程图。 过渡:用流程图描述算法的方式不像自然语言描述方式那样简单,日常语言就可以,它是图形化表达,需要了解一些框图符号的含义。
过渡:这些符号是如何使用的呢?我们来看三个例子。 例:"超市购物"的算法表示 用自然语言描述 1、进入超市 2、选购商品 3、付款结账 4、离开超市 用流程图描述
例:"超市购物之选购商品"的算法表示 用自然语言描述 1、拿起商品查看 2、如果是想要的,转3,否则转4 3、放进购物车 4、放回原位 用流程图描述
例:"超市购物之付钱结账"的算法表示 用自然语言描述 1、查看有没有商品,如果有就转2,否则就转3 2、扫描商品条形码,转1 3、停止扫描、收钱找零 用流程图描述
他们也就是三种基本结构的流程图。
打开"流程图填空.ppt",将步骤移动到对应的流程图方框内,使流程图完整。 两种方式对比后,我们来总结自然语言描述算法的特点: 自然语言就是人们日常使用的语言,它是最简单的描述算法的工具。 用自然语言描述算法符合我们的表达习惯,并且容易理解。 用自然语言描述算法容易产生歧义,表示的含义往往不大严格。
流程图描述算法的特点: 流程图也称为程序框图,是算法的一种图形化表示方法。 与使用自然语言描述算法相比,流程图描述算法形象、直观、更容易理解。 流程图规范是由美国国家标准学会制定的一系列流程图符号。 | 明确游戏规则,填表2.1.1。体会自然语言描述算法。
了解流程图中图形的含义,补充流程图。 | 从狼羊蔬菜完全的人工解决问题,到现在的编程的参与,慢慢的过渡。最强大脑的游戏也比较有意思,运行过程也比较清晰。 用自然语言和流程图来描述下最强大脑小游戏、超市购物的算法,感受下两种方式的差异。
|
编写程序 | 算法有_________和________描述算法,但计算机是无法直接识别这些描述的。 计算机解决问题的过程:提出问题—分析问题—设计算法—编写程序—调试程序—得到结果。 只能通过编写程序,才能让计算机解决问题。 用Python语言实现"最强大脑" import random import time import os print("你好,现在你有10秒钟的时间记忆下列物品及其编号") things=["苹果","香蕉","橙子","梨子","猕猴桃","柚子","猴魁","铁观音","彩蛋","复活节"] for i in range(10): print(i,":",things[i]) #在屏幕上显示编号及物品 time.sleep(10) #延时10秒 os.system("cls") #清屏幕,隐去编号及物品 n=0 #记录答对的题数,初值为0 t2=random.sample(things,5) #随机抽出5个物品 for i in t2: #出5题 ans=int(input(i + "的编号是:")) #输入编号答题 if i==things[ans]: n=n+1 #如果回答正确,答对的题数加1 print("\n你一共答对了",n,"次") #屏幕显示答对的题数 input("\n按回车键结束程序") 活动三:借助流程图分析代码 活动说明:借助"最强大脑"游戏问题的完整流程图,分析书本P22的代码,尝试找出与P23流程图中的处理框对应的代码。 | 填空
请四位同学回答连线。 | 描述算法过渡到编写程序。同时这里点题:计算机解决问题的过程。与人解决问题的过程类似。
分析程序与流程图结合,降低程序理解的难度。 |
程序设计语言的发展 | 程序设计语言经历了机器语言、汇编语言到高级语言的发展过程。 比较流行的高级语言有Java、C/C++、FORTRAN、Python等 | 听讲 | 粗略介绍程序设计语言的 发展。 |
课堂小结 | 计算机解决问题的过程是提出问题—分析问题—设计算法—编写程序—调试程序—得到结果。 在设计算法环节我们要学会自然语言、流程图描述算法,同时知道三种基本结构的流程图。最后我们从下节课开始就要开始慢慢学习程序设计语言Python的语法。
| 总结回顾 | 总结及预告 |