资源简介 (共18张PPT)第10课 找出口算速算王—— 控制结构综合应用第3单元 评选班级速算王义务教育《信息科技》五年级上册学习目标1.了解算法的控制结构的组合2. 能够选择适当的控制结构解决问题3. 使用重复执行的方式,从一组数中找出最大数字问题情境上一节课,30位同学通过编写的程序进行测试,获得了各自的成绩。每个同学都只知道自己的得分,现在需要找出得分最高的同学,授予“速算王”称号。如何设计算法,快速找到“速算王”呢?回顾上节课的流程,再来思考基本思路!学习导航游戏模拟找最大设计多个数中找最大算法初始化最大值输入选手得分输出计算结果找最(大/小)值控制结构的组合使用编程找最大跨度编程统计特殊数1. 游戏模拟找最大用课前准备的数字卡片做“找最大”游戏。1.在数字卡片中任意拿2张卡片,第一张为数字1,第二张为数字2,比较它们的大小,说出最大数。将此比较过程转化为算法描述为:如果数字1大于数字2,则最大数为:______;否则最大数为:_______。2.拿出第3张卡片,作为数字3,如何在这3个数字中,找出最大数呢?还需要比较____次,加上第1次比较,一共比较了_____次。1. 游戏模拟找最大① 先将第 1 个数作为当前最大数。② 如果第 2 个数大于当前最大数,_______________________________。③ ______________________________,将第____ 个数作为当前最大数。想一想:你一共比较了____次?请根据前面比较过程,总结3个数找最大的过程:1. 游戏模拟找最大请在纸上画出比较过程。想一想:你一共要比较______次?用4个数字卡片模拟找最大,将比较过程画出来:2. 设计多个数中找最大算法根据前面4个数中找最大的过程,完成下面在多个数中找最大的流程。思考:根据速算王的得分情况,最大初始值设为多少合理?循环多少次?如何存放结果?请完成:设置的初始最大值是:_____,理由是:___________________。在30个数中找最大,需要比较___次,设置____次循环。1. (1)初始化最大值打开“找出‘速算王’(初)”程序,观察已定义的变量,如下图。根据游戏模拟的体验,回答下面的问题。变量“最大数”作用:_________________;变量“选手得分”的作用是:_____________;我的想法:_______________________________。温馨提示:打开“找出‘速算王’(初)”程序,需要切换到编程环境,完成后再切回课件,继续学习。1. 初始化最大值结合下图的代码提示,完成“最大数”初始值的设置。思考:如果选择方法②,初始值可以设置为 _______,理由:_______________________________________________。你选择的是:______,理由是:_________________________。方法①方法②2. 输入选手得分结合下图的代码提示,完成选手得分的输入。你可能用到的代码想一想:选手的得分用什么变量来存储?3. 输出计算结果针对30个得分的输入,设计循环结构,完成所有得分的输入和判断。温馨提示:请根据上面的代码提示,切换到编程环境,完成程序设计。3. 输出计算结果输入所有的得分,程序将判断得出的最大数显示出来,请根据流程图和下面代码提示,完成最后结果的输出代码编写。温馨提示:完成所有的代码编写后,先保存程序,再用模拟时的数字验证程序的正确性;如有问题,可向老师或同学寻求帮助。1. 找最(大/小)值找最(大/小)值是生活中一种常见的问题类型。通过本课的学习,以后在解决此类问题时,可以总结出一种算法模型,其主要算法思想是:___________________________________________________。想一想:如果要找一组数中的最小值,设置的最小值初始值是:_____,理由是:_____________________________。2. 控制结构的组合使用在求解一些复杂问题时,可能会用到多种控制结构。使用时如何合理选择并正确规划程序结构,需要充分理解三种控制结构。观察右图的控制结构,你能找到的控制结构有:____________________。1. 编程找最大跨度输入一组数字,其中最大数与最小数之间的差值称为这组数据的最大跨度。阅读下面的代码提示,尝试编程实现此功能。你可能用到的代码代码提示温馨提示:如果课堂时间不够,此练习可以略过,也可以在课后来完成。2. 编程统计特殊数温馨提示:如果课堂时间不够,此练习可以略过,也可以在课后来完成。编写程序,使用随机数命令,随机生成 20个1到100之间的数字。尝试使用循环结构统计出这20个数中有多少个小于50,你可能用到的代码如下。提个醒:注意设置变量来统计小于50的数,先判断,再循环累加。义务教育《信息科技》五年级上册下节课再见!(共21张PPT)第10课 找出口算速算王——控制结构综合应用情境介绍本次口算测试比赛已经结束,30位同学都只知道自己的分数,怎么才能从这30个分数中快速找出最高分,授予这位得分最高的同学“速算王”称号呢?快来发挥你的聪明才智,想一想如何让计算机对30个数进行比较,找出最高分呢?多个数比较找出最大值两个数比较找出最大值设计查找最大值的方案010203一、准备间1.两个数比较找出最大值根据表格的提示和老师模拟的比较过程,思考两个数比较大小的思路,并把表格内容补充完整。想一想两个数比较大小的思路如果 数字1 大于数字2 , 那么最大数为:( )否则,最大数为( )在这个比较过程中,把最大值假设为:( )2.多个数比较找最大值请根据两个数比较大小的思路,想一想三个数比较大小的过程是怎样的?请仔细思考并补充下面的表格。想一想三个数比较大小的思路1.假设 先将第1个数作为当前的最大数。2.如果第2个数大于当前最大数,那么就让第( )个数,作为当前最大数。3.如果第3个数大于当前最大数,那么就让第( )个数,作为当前最大数。综上所述:3个数比较,找最大值,如果把第1个数确定为最大值,那么,一共需要比较( )次,在每次比较的过程中不断变化的是( )。填写完成后,小组讨论交流,四个数比较大小找出最大值的过程2.多个数比较找最大值想一想N个数比较大小的思路1.假设 先将第1个数作为当前的最大数。2.如果第2个数大于当前最大数,那么就让第( )个数,作为当前最大数。3.如果第3个数大于当前最大数,那么就让第( )个数,作为当前最大数。……N.如果将第( )个数大于当前的最大数,那么就让第( )个数,作为当前的最大数。综上所述:N个数比较,找最大值,如果把第1个数确定为最大值,那么,一共需要比较( )次,在每次比较的过程中不断变化的是( )。趁热打铁,小组探讨N个数比较大小,找出最大值的过程3.设计查找最大值的方案想一想小组合作,思考交流以下问题,并完善右侧的流程图1.在进行比较之前,最大值设置为多少不影响比赛结果呢?2.30个数比较,找出最大值,需要循环比较多少次呢?3.比较结束后,找出的最大值存放在哪里了?合作探讨,编写程序自主探究,初始化最大值验证算法,展示分享010203二、活动室1.自主探究,初始化最大值请定义合适的变量来存放最大值,并对最大值进行初始化。想一想初始值为多少才不会影响分数之间的比较呢?因为30位参赛选手比赛前的分数都是0,如果要找出最大值,那么我可以给最大值初始化一个最小的数0,这样就不会影响选手们分数间的比较啦!单击这里,快来看看我们的想法是否相同吧!2.合作探讨,编写程序(1)输入选手得分请使用下面的语句提示,依次输入30位选手的得分,且每输入1位选手的分数时都要和当前的最大值进行比较,如果输入的分数比当前最大值大,那么就要把当前最大值设置为本次输入的选手分数,请根据查找最大值的流程图,完善右侧程序。单击这里,快来检验一下,你完善的程序是否正确吧!30>2.合作探讨,编写程序根据题意,比较出来的最高得分存放在哪个变量里了?请使用合适的语句输出最高分,授予最高分的同学为“班级速算王”。此处可输入文字提示。例如,本次比赛被评选为“速算王”的同学是得分为:存放比较出来的最高分数的变量单击这里,快来检验一下,你使用的输出语句是否合理吧!(2)输出计算结果3.验证算法,展示分享小组合作,调试验证程序,并把程序的执行过程记录在“项目活动记录表”的对应之处。验一验如果你成功了,请及时保存程序。如果你遇到了困难,请再次输入相关数据,对程序进行检测并验证。如果还是存在问题,别着急,赶快邀请其他小组的同学,帮助你一起审查你编写的程序吧!你编写的程序能否准确的找出最大值?单击这里有温馨提示哟!3.验证算法,展示分享展示编写完整的程序,并请学生分享编程的思路和关键之处,为验证有误的小组提供参考依据。看一看0102找最(大/小)值三、收获园拓展提升1.找最(大/小)值想一想找最值是生活中一种常见的问题类型,其主要算法思想就是把所有待比较的数据使用循环结构逐一比较。请使用算法的“找最值”思想,思考以下问题:问题:要从30个数中找出得分最少的选手,那么,变量“最小值”的初始值设置为多少才不会影响比较的结果呢?如果你没有思路,请单击这里,会提供解题思路哟!?因为如果1位参赛选手20道题目都答对,则可以获得100分,而他们比赛前的分数都是0,所以说,如果要找出最大值,那么可以给最小值初始化一个最大的数100,这样就不会影响找出最低分啦!说一说2.拓展提升使用随机数指令,随机生成20个1到100之间的数字,并计算出这20个数中有几个大于50的数。想一想并和小伙伴交流:在编写程序时可能会用到哪些算法结构?你的考虑是否全面?请单击这里,检验一下吧!算法的循环结构算法的分支结构算法的顺序结构0102四、挑战台学习评价总结与反思1.总结与反思在“找出口算速算王”的过程中你发现了:写一写请在这里写下本节课你的收获:想一想请在下表中根据自己的掌握情况,给对应的“ ”涂上耀眼的红色。评一评2.学习评价评价内容 自评 互评 师评点亮小太阳,照亮前行之路 可以描述找出最大值的过程能理解并正确使用算法的三种控制结构可以确定变量并正确设置初始值可以编写程序准确找出最大数态度端正,认真思考,积极发言期待与你的下次相遇!再见!界首市师范附属小学 薄小宁五年级 身边的算法第3单元 评选班级速算王项目活动记录表项目名称 第10课 找出口算速算王 ——控制结构综合应用项目情境 同学们口算测试结束后,计算机给出其得分。每个同学都只知道自己的得分。有 30 位同学参加测试,现在需要找出得分最高的同学,授予“速算王”称号。活动小组 组长: 组员:一、项目准备,分解问题模拟情境 两个数比较找出最大数 观察教师比较两个数大小的过程,使用自然语言进行描述并补充下面表格。 两个数比较大小的思路如果 数字1 大于 数字2 ,那么最大数为:( );否则,最大数为( )在这个比较过程中,把最大值假设为:( )。讨论交流 多个数比较找出最大数 1.请独立思考,模拟三个数比较找最大值的过程并完善下表。 三个数比较大小的思路(1)假设 先将第1个数作为当前的最大数。(2)如果第2个数大于当前最大数,那么就让第( )个数,作为当前最大数。(3)如果第3个数大于当前最大数,那么就让第( )个数,作为当前最大数。综上所述:3个数比较,找最大值,如果把第1个数确定为最大值,那么,一共需要比较( )次,在每次比较的过程中不断变化的( )。2.请使用以上方法,分享模拟4个数比较找最大值的过程。 3.大胆猜测“多个数比较找最大值的过程”并完善下表。 N个数比较大小的思路(1)假设 先将第1个数作为当前的最大数。(2)如果第2个数大于当前最大数,那么就让第( )个数,作为当前最大数。(3)如果第3个数大于当前最大数,那么就让第( )个数,作为当前最大数。……(N)如果将第( )个数大于当前的最大数,那么就让第( )个数,作为当前的最大数。综上所述:N个数比较,找最大值,如果把第1个数确定为最大值,那么,一共需要比较( )次,在每次比较的过程中不断变化是( )。合作探究 设计查找最大数的方案 小组合作,根据下图提示回答问题并完善流程图。 (1)在进行比较之前,最大值设置为多少不影响比赛结果呢?(2)30个数比较,找出最大值,需要循环比较多少次呢?(3)比较结束后,找出的最大值存放在哪里了?二、项目实施,解决问题自主探究 初始化 最大值 请根据流程图的提示,自主探究,定义合适的变量用来存放最大值,并给最大值设置合适的初始值。合作探讨 编写程序 结合算法与情境,合作探究,找出需要用到的程序指令和算法结构,探究编写程序,实现30位选手成绩的输入,大小的比较,并输出最大值。验证算法 展示分享 请各小组分工合作,至少输入5组数据验证程序并记录验证数据和结果。 算法验证记录表输入顺序比赛成绩输入内容找出的最高分(最大值)175280395…………3090三、项目拓展,总结评价拓展提升 请结合所学内容解决下列问题。 1.结合找出“速算王”的思路,思考要从30个数中找出得分最少的选手,那么,变量“最小值”的初始值设置为多少才不会影响比较的结果呢? ___________________________________________________________________________________________________________________________________________。 2.在“使用随机数指令,随机生成20个1到100之间的数字,并计算出这20个数字中有几个大于50的数。”的过程中,可能会用到哪些算法结构?思考并交流。 ___________________________________________________________________________________________________________________________________________。总结评价 1.总结收获:在找出口算速算王的过程中,我知道了:___________________________________________________________________________________________________________________________________________。 2.评价反思:结合下方的活动评价表,我发现: ___________________________________________________________________________________________________________________________________________。 学习评价表: 评价内容自评互评师评点亮小太阳,照亮前行之路可以描述找出最大值的过程能理解并正确使用算法的三种控制结构可以确定变量并正确设置初始值可以编写程序准确找出最大数态度端正,认真思考,积极发言346347小组活动记录单基本信息 班级:_______ 小组名:_______ 成员姓名:__________________ 成员分工:________________________________________________活动记录 活动一:用数字卡片模拟找最大 拿出的数字卡片分别是: 3个数找最大的过程是:__________________________________,共比较____次。 4个或以上数找最大共要比较____次,画一画比较过程:活动二:设计多个数中找最大算法 结合上图的流程图提示,思考:根据速算王的得分情况,最大初始值设为多少合理?循环多少次?如何存放结果? 本组设置的初始最大值是:_____,理由是:___________________。在30个数中找最大,需要比较___次,设置____次循环。活动三:分步实现 (1)打开“找出‘速算王’(初)”程序,观察已定义的变量,如下图。根据前面模拟的情况,请说一说这些变量各有什么作用。 变量“最大数”作用:_________________; 变量“选手得分”的作用是:_____________; 我们小组的想法:_______________________________。 (2)结合下图的代码提示,完成“最大数”初始值的设置。 方法① 方法② 思考:如果选择方法②,初始值可以设置为 _______, 理由:_______________________________________________。 我们组选择的是:______,理由是:_________________________。 (3)请阅读并参考下图完成程序的主体设计。 还可能用到的代码: 在完成程序主体的过程中,小组遇到的问题是:____________________________,解决的方法是:_____________________________________。 (4)保存程序,并尝试用模拟时用的数字进行实验,查看结果,验证程序的正确性。 所用数字是:__________,结果:________。结果呈现 活动四:实践验证 如果是30个数字,最后如果呈现结果?阅读下面的代码,完成最后的程序设计。交流分享 1.与其他组分享本组的结果,小组获得的建议有: ___________________________________________________________________ 2.结合“收获园”,思考下面的问题。 ①如果要找一组数中的最小值,设置的最小值初始值是:_____________,理由是: ______________________________________________。 ②观察下图的控制结构,你能找到的控制结构有:________________。巩固提升 练习1:输入一组数字,其中最大数与最小数之间的差值称为这组数据的最大跨度。阅读下面的代码提示,尝试编程实现此功能。 练习2:编写程序,使用随机数命令,随机生成 20个1到100之间的数字。尝试使用循环结构统计出这20个数中有多少个小于50,你可能用到的代码如下。学后反思 请将学习后的反思写在下面的区域中。 ________________________________________________________ ________________________________________________________ ________________________________________________________评价表 评分标准及分值得分流程图完成情况(20分)能根据提示,完成流程图的设计编程实现情况(20分)能完整实现代码编写并实现4个数中找最大测试效果(30分)能完整输入30个数,正确找到最大得分作品完整度(30分)能实现多次正确运行 展开更多...... 收起↑ 资源列表 5上3单元第10课《找出口算速算王——控制结构综合应用》小组活动记录单.docx 5上3单元第10课《找出口算速算王——控制结构综合应用》课件1.pptx 5上3单元第10课《找出口算速算王——控制结构综合应用》课件2.pptx 5上3单元第10课《找出口算速算王——控制结构综合应用》项目活动记录表.docx