1、教科版教科版 20192019 信息技术必修信息技术必修 1 1 数据与计算数据与计算 第第 2 2 单元编程计算单元编程计算 2.12.1 计算机解决问题的过程教学设计计算机解决问题的过程教学设计 【教材分析】【教材分析】 本节作为编程计算的开头,内容相对比较简单,对学生编程的要求不高,重在通过“最强大脑游戏”程序,让 学生了解程序员如何编程解决问题,体验编程的过程和乐趣,以及形成良好的编程习惯。 本节先带领学生探究“最强大脑游戏” ,体验人是如何解决问题的。然后让学生了解计算机解决问题的过程和 步骤,理解算法的含义,让学生学会如何使用自然语言、流程图表示算法,进而了解流程图的三种基本结构及
2、其标 准化表示方法。再通过运行已经编写好的“最强大脑游戏” ,让学生熟悉 Python 语言环境,感受编程的魅力。在此 过程中,让学生知道什么是程序,解释计算机程序执行的基本过程,从而对编程有一些感性认识。了解程序设计语 言、编辑程序、编译程序等基本知识;理解算法、程序设计和程序设计语言之间的关系;能够说出程序设计语言产 生、发展的历史过程。 【教学建议】【教学建议】 本节我们围绕“智力游戏”项目展开学习。本项目主要包含“表示游戏的算法”和“用 Python 语言实现游戏” 两个任务。整个项目的完成就是体验计算机解决问题的一个完整的过程,包含分析问题、设计算法、编写程序和调 试与维护四个步骤。
3、 任务一主要是使用自然语言表示算法和使用流程图描述算法两个活动。教师可以创设情境帮助学生激活已有知 识,进一步理解算法。比如先让学生举一个生活中算法的例子,接着再介绍编程中的算法,然后通过讨论“最强大 脑”游戏的实践活动,让学生初步体会算法的魅力。 “使用自然语言描述算法” ,教师可以让学生用这种方法尝试描 述“最强大脑”游戏问题; “使用流程图描述算法” ,教师可以结合实践活动或者另找一些例子让学生尝试着自己分 析,掌握画流程图的方法。 任务二主要是“用 Python 语言运行程序”和“借助流程图分析代码”两个活动的内容。第一个活动的内容,教师 可以利用“最强大脑”游戏的程序运行实例进行教学
4、,这样就使该问题得到彻底解决,让第一节的内容成为一个有 机的整体。第一个活动教师也可以增加选用其他实例进行教学,开拓学生的编程思路,兼顾不同层次学生的需求。 第二个活动重在让学生借助流程图的工具,进一步读懂程序代码,弄清流程图与代码之间的关系,为后续学生自己 编程写代码打下基础 【教学【教学目标目标】 1. 通过探讨表示游戏的算法,了解使用自然语言、流程图描述算法,进一步理解三种基本结构的流程图。 2. 通过用 Python 语言实现游戏的研究,掌握计算机解决问题的一般过程,熟悉 Python 语言的开发环境,了 解程序设计语言的发展。 3. 在项目活动中体验数字化学习过程,感受利用数字化工具
5、和资源的优势。 【教学重点】算法的表示及算法的三种基本结构。 【教学难点】能够使用流程图表示算法。 【教学过程】【教学过程】 第一课时第一课时 一、引入一、引入 请同学们双击“最强大脑游戏.py”,运行程序并观察结果。 二、算法的描述二、算法的描述 用自然语言描述算法 在教师的帮助下,学生尝试用自然语言描述“最强大脑游戏”的算法,完成下表。 实现“最强大脑游戏”的步骤 环节 解决的问题 解决的步骤 出题 显示物品和编号 10 秒 1. 2. . 答题 输出结果 师生活动: 1.教师分析问题,学生思考实现“最强大脑游戏”的步骤; 2.教师举例生活中存在的算法,讲解算法的含义,学生理解相关内容;
6、3.学生尝试用自然语言描述“最强大脑”游戏的算法; 4.教师给出正确的算法描述,点评几个学生的描述结果。 用流程图描述算法 在学生用自然语言描述“最强大脑”游戏的基础上,尝试用流程图来描述。 师生活动: 1.教师讲解流程图描述算法的相关知识; 2.学生尝试用流程图描述“最强大脑”游戏的算法,画出流程图; 3.教师给出完整正确的流程图,点评几个学生的流程图。 第二课时第二课时 一、引入一、引入 回顾上节课内容,给出“最强大脑游戏”的流程图。 流程图一般不能直接在计算机上运行,这时需要使用一种计算机能理解的程序设计语言将算法表达成程序。 二、用用 PythonPython 语言实现游戏语言实现游戏
7、 运行程序 1.教师介绍 Python 的安装,运行环境; 2.教师给出已经编写好的程序代码,学生粘贴代码到 IDLE 中,运行代码。注意观察在 IDLE 环境中运行和上一 节课直接双击运行结果的差异。 import random import time import os print(你好,现在你有 10 秒钟的时间记忆下列物品及其编号) things=苹果,香蕉,橙子,梨子,猕猴桃,柚子, 猴魁,铁观音,彩蛋,复活节 for i in range(10): print(i,:,thingsi)#在屏幕上显示编号及物品 time.sleep(10) #延时 10 秒 os.system(cl
8、s) #清屏幕,隐去编号及物品 n=0 #记录答对的题数,初值为 0 t2=random.sample(things,5)#随机抽出 5 个物品 for i in t2: #出 5 题 ans=int(input(i + 的编号是:)#输入编号答题 if i=thingsans: n=n+1 #如果回答正确,答对的题数加 1 print(n 你一共答对了,n,次)#屏幕显示答对的题数 input(n 按回车键结束程序) 1.请同学们找出最强大脑流程图中的处理框; 2.阅读程序,并尝试找出处理框对应的代码。 处理框 对应代码 print(你好,现在你有 10 秒钟的时间记忆下列物品及其编 号)
9、things=苹果,香蕉,橙子,梨子,猕猴桃,柚子, 猴魁,铁观音,彩蛋,复活节 for i in range(10): print(i,:,thingsi) time.sleep(10) os.system(cls) t2=random.sample(things,5) for i in t2: ans=int(input(i + 的编号是:) 注:此段程序既包含了出题,也包含了答题 n=n+1 学生尝试自行修改部分代码,观察程序运行的变化。 例如: 原代码 修改过的代码 程序运行的变化 time.sleep(10) time.sleep(5) 延时改为 5 秒 print(你好,现在你有 10 秒 钟的时间记忆下列物品及其 编号) print(你好,现在你有 5 秒钟 的时间记忆下列物品及其编 号) 提示的文字改变了 t2=random.sample(things, 5) t2=random.sample(things,3 ) 随机出 3 题 【教学反思】【教学反思】