资源简介 2.编程解决问题 教学设计1教学目标 通过体验“猜数字”活动以及比较让计算机来猜数字的不同算法的效率,体会设计算法在编程解决问题中的重要性,并能够用流程图描述简单问题的算法。通过体验编程让计算机猜数字的整个过程,归纳总结出编程解决问题的基本过程。体验程序设计的独特魅力,对程序设计形成初步认识,为选修模块《算法与程序设计》打下基础。2学情分析 本节课的教学对象为郑州九中高一年级学生,他们通过初中阶段以及高中必修模块部分内容的学习,已经能够选用合适的工具进行信息加工。但对于编程,因为是高二年级上期才要开设的选修课程,大部分学生接触还相对较少,所以学生拥有强烈的好奇心和求知欲,同时因为信息技术必修模块在郑州九中是高一下学期开课,他们通过数学必修三的学习,已经掌握了流程图等相关知识,对本节课的学习是一个极好的前提。3 重难点重点:体验并归纳总结出设计程序解决问题的基本过程,体会算法在程序设计中的重要性。难点:用流程图描述简单问题的算法。4教学过程 活动1【导入】创设情境,提出问题 教师活动:首先找个同学来玩猜数字游戏(上来的学生面向同学,教师给出范围是1-100的一个整数,下面的同学根据上来学生的猜测提示猜的太大了还是小了,只有7次猜测机会)。之后提出问题:如果是一个比较大而且复杂的范围,如果还想比较快速猜出来,应该找谁来帮忙?学生活动:玩“猜数字游戏”,思考老师提出的问题,并发表看法。教师活动:根据学生回答,引出本节课的任务,编写程序让计算机来猜测数字。活动2【活动】分析问题 教师活动:引导学生分析问题,大家回想咱们刚才的游戏过程,如果要想让计算机能够成功猜测出数字,在计算机开始猜数之前首先要知道什么信息,猜测过程中我们又需要给计算机哪些提示?这些信息是否足够让计算机成功猜测出数字?学生活动:思考教师提出的问题,然后发表看法。活动3【活动】设计算法 教师活动:衔接分析问题环节学生发表看法之后,引导学生设计算法。学生活动: 各小组在一起交流讨论,设计算法(自然语言),之后展示本组结论,小组间互相补充。教师活动:根据展示情况,进行总结,然后通过比较从1开始一直猜到100和每次取中间数2种不同算法的效率,引导学生体会算法设计在编程解决问题中的重要性。教师活动:为了更加清晰直观的描述算法,请各小组参照流程符号信息表,选择相应的算法步骤,填充流程图中。学生活动:按照流程符号信息表,选取表格里的算法步骤(可以重复选取),完成计算机猜数字的算法流程图,然后展示小组结论。活动4【讲授】编写代码 教师活动:展示猜数字程序的VB代码,然后结合上一环节完成的算法流程图逐句讲解程序代码的执行过程。活动5【活动】调试运行程序 教师活动:演示粘贴代码并调试运行,提出任务:将程序代码粘贴到VB,调试运行程序,看计算机能否成功猜测自己心中所想数字。学生活动:调试运行程序,检测计算机能否成功猜测出数字,体验计算机成功猜中数字的快乐和成就感。活动6【活动】课堂小结,引发思考 教师活动:引导学生总结本节课,归纳编程解决问题的基本过程,为选修模块《算法与程序设计》作出铺垫。学生活动:小组归纳总结出编程解决问题的基本过程和本节课的收获,发表看法。教师活动:提出问题引发学生思考:按照我们这个算法猜测1-100的数字,最多的时候需要7次可以猜出来,为什么?课件13张PPT。猜数字游戏找一个同学上来猜测1-100之间的一个整数,其他同学给予太大了或者太小了的提示53思考:1-100这个范围简单,如果是一个大而复杂的范围,如何快速猜出来编程解决问题学习目标体验“猜数字”活动,体会设计算法在编程解决问题中的重要性,并能够用自然语言和流程图来描述简单问题的算法。体验编制“猜数字”程序让计算机解决猜数字问题的过程,归纳总结出编程解决问题的基本过程。体验程序设计的独特魅力,对程序设计形成初步认识。一:回想游戏并思考计算机开始猜数之前,我们首先要让计算机知道哪些信息?猜测过程中我们又需要给计算机哪些提示?这些信息是否足够让计算机成功猜测出数字?二、完成猜数的算法二、完成猜数的算法流程符号信息表起止框 算法的开始和结束 输入/输出框 用户输入和计算机输出信息处理框 计算或者赋值判断框 根据条件判断算法流向流程线 算法中步骤的流向完成猜数算法的流程图描述约定:猜对了,p=0 猜大了,p>0 猜小了,p<0猜数算法的流程图描述结束P<>0猜对了,这个数是now猜数now=(max+min)2P>0max=nowmin=now用户输入P值YYNN三、猜数字VB代码编写Dim min As Integer '范围的起始值Dim max As Integer '范围的终止值Dim now As Integer '猜测的中间值Dim p As Integer '用户对猜测的数给出的回应值min = 1 '起始值赋值max = 100 '终止值赋值now = (max + min) 2 '计算中间值p = Val(InputBox("我猜是" & now)) '猜数,用户回应P值猜数字VB代码——接上页Do While p <> 0 '判断P值,循环开始 If p > 0 Then '猜的数太大了,开始判断选择 max = now '把中间数作为终止值生成新范围 Else '猜的数太小了 min = now '把中间数作为起始值生成新范围 End If '判断选择结束 now = (max + min) 2 '再次计算中间数 p = Val(InputBox(“我猜是” & now)) ‘再次猜数,回应PLoop '循环结束MsgBox "猜对了,这个数是" & now '输出“猜对了” 四 :运行调试代码总结思考小组回忆本节课,总结编程解决问题的基本过程。按照我们这个算法猜测1-100的数字,最多的时候需要7次可以猜出来,为什么? 展开更多...... 收起↑ 资源列表 3.3.2编程解决问题 教学设计 (1).doc 3.3.2编程解决问题 课件 (1).ppt