中小学教育资源及组卷应用平台
第15课 创编学习工具
教材分析:
本课是小学信息技术教材中Scratch程序设计的最后一课。通过前期的学习,学生已经具备了较强的Scratch程序设计能力。本课意图通过学习工具的创编实例,让学生完整经历分析问题、设计算法、编写脚本、运行调试这四个程序设计过程中的主要环节,使学生对程序设计有一个整体的认识,帮助他们进行总结和提升。
“分析问题”部分以“倒计时口算练习”工具为例,介绍分析问题环节主要需要考虑的内容。“设计算法”部分用流程图的方式呈现“倒计时口算练习”工具程序关键步骤的算法,流程图分主程序流程图和子程序流程图。“编写脚本”部分则引导学生根据算法设计编写相应的脚本实现程序功能。“运行调试”部分主要介绍如何调试并优化“倒计时口算练习”工具。
预设教学目标
1.知道程序设计的一般过程,了解每个环节的主要任务。
2.通过创编“倒计时口算练习”工具,工具对程序流程图的理解,感受完整的作品创编过程。
预设教学重难点:
重点:创编“倒计时口算练习”工具。
难点:设计合理的减法、除法出题方式。
预设课时安排:
2课时
预设教学准备:
加减乘除素材。
教师课件
预设教学过程:
一、揭示课题
1.同学们,我们已经学习了很多编程知识了,今天就要考验一下大家这段时间学习得怎么样了。今天我们要运用前面学到的询问交互、变量计分、列表存储、判断选择等知识来给低年级同学编写一个“倒计时口算练习”的学习工具。
2.出示课题:创编学习工具。
3.课件出示:完成一个完整的Scratch作品,一般需要经历4过个过程,你知道这四个过程的先后顺序吗?请你说一说。
完成一个完整的Scratch作品,一般需要经历分析问题、设计算法、编写脚本、运行调试等环节。
二、分析问题
1. 分析问题就是研究需求,明确创作的作品要达到的目标。
“倒计时口算练习”工具一般包含:自动出题、用户回答、计时计分等必要功能。
2.课件出示用户需求:
①先出示运算方式,让用户选择“加”、“减”、“乘”、“除”。
②产生两个算术运算数,倒计时开始计时。
③用户输入“答案”,判断对错,做对加分,做错将错题进行记录。
④时间到,给出得分,以及错题。
说明:为了让用户能看到自己的错题 ,可以用列表来存储错题。
三、设计算法
1.在编写脚本之前,需要整理思路,设想好运算步骤或处理步骤,可以用流程图画出来。根据需要,可以将相对独立的部分设计成过程。
2.捋一下这个学习工具的创作思路,课件出示主程序流程图。
当绿旗被点击后,首先铁定需要初始化,然后让用户选择运算类型(加减乘除),用户选好后,开始计时,同时进行出题,判断对错,只要倒计时还没有到0,就不停地出题让用户练习,直到倒计时为0后,停止出题,给出得分,并呈现错题集,程序结束。
3.对于“出题”和“判断对错”相信同学们一定不陌生了。
课件出示子程序“出题”和“判断对错”的流程图。
四、编写脚本
1.在Scratch中,编写脚本就是根据算法写出计算机程序的过程,脚本要尽可能简洁优美,便于阅读。
2.选择运算类型
怎样才能知道用户选择的是哪一种运算类型呢?
设置一个变量“运算符”,当用户点击“+”角色时,给变量“运算符”赋值为“+”;当用户点击“-”角色时,给变量“运算符”赋值为“-”;……
3.当用户选择了某一种运算类型后,如何来判断可以开始出题和倒计时了?
运算符被点击后,变量“运算符”的值不再是初始值0,那么就可以确定用户要进行运算练习了,确定之后,倒计时和出题同时开始。
4.倒计时
当用户确定运算后,广播“开始计时”,倒计时就开始计时了。
设置一个变量“倒计时”,初始值可以设为60,每隔1秒减少1,一分钟后,倒计时为0。
5.出题
系统生成两个随机运算数。【设置变量“数a”和“数b”】
给数a取一个随机数,给数b取一个随机数。
加减乘除不同运算类型的区别是什么?【答案不同】
系统生成两个随机运算数:“数a”和“数b”
如果是“+”:答案是数a+数b
如果是“-”:答案是数a -数b
如果是“×”:答案是数a ×数b
如果是“÷”:答案是数a ÷数b
出的习题怎么展示出来?【设置变量“习题算式”】
6.教你一招
在出减法题时,可能会出现“不够减”的现象,如何确保被减数>=减数呢?
①比较数a和数b的大小,如果数a比数b小,交换两个数。
②将两个随机数的和作为被减数,其中一个随机数作为减数。
7.想一想:在出除法题时,可能会出现“无法整除”的现象,要如何解决呢?
将两个随机数的积作为被除数,其中一个随机数作为除数。
8. 判断对错
询问用户“习题”,如果用户输入的“回答”=“正确答案”,那么得分+1,否则记录该习题。
温馨提示:用列表存储错误的习题。
9.呈现整个程序的脚本和界面。
五、运行调试
1. 调试是程序设计中的一个重要环节,通过调试可以发现和诊断脚本中的错误或问题,不断修正、优化脚本。
2. 调试时,需要全面测试程序的每个部分,想一想,你认为可以调试哪些部分?如果让你来检测同桌的程序有没有问题,你会怎么检查?
3.同桌之间互相运行调试:
①“加”、“减”、“乘”、“除”运算是否正常运行?
②答案是否有问题?
③计分是否正确?
④错题收集是否正确?
4. 程序的完善与优化:
①题目的字号大小是否合适?
②错题列表显示区域是否足够?
③能不能让用户调整题目的难度?
④……
5.练习:
进一步完善“倒计时口算练习”程序,让它成为低年级同学日常学习的好工具。
六、课堂小结
【课后反思】
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)(共25张PPT)
浙摄影版小学信息技术五年级下册
完成一个完整的Scratch作品,一般需要经历 、
、 、 等环节。
分析问题就是研究需求,明确创作的作品要达到的目标。
自动出题
用户回答
倒计时
计分
1.先出示运算方式,让用户选择“加”、“减”、“乘”、“除”。
2.产生两个算术运算数,倒计时开始计时。
3.用户输入“答案”,判断对错,做对加分,做错将错题进行记录。
4.时间到,给出得分,以及错题。
说明:为了让用户能看到自己的错题 ,可以用列表来存储错题。
在编写脚本之前,需要整理思路,设想好运算步骤或处理步骤,可以用流程图画出来。根据需要,可以将相对独立的部分设计成过程。
开始
倒计时是否为0?
初始化
出题
显示得分与错题
结束
是
判断对错
选择运算类型(+-*/)
否
开始倒计时
主程序流程图
过程:出题
出题入口
运算符=“+”?
生成两个随机数
返回
是
否
出加法题
运算符=“-”?
是
出减法题
否
运算符=“×”?
是
出乘法题
否
出除法题
过程“出题”流程图
过程:判断对错
判断对错入口
回答=正确答案?
返回
是
否
得分+1
接收用户回答
将错题收入到“错题”列表中
过程“判断对错”流程图
在Scratch中,编写脚本就是根据算法写出计算机程序的过程,脚本要尽可能简洁优美,便于阅读。
选择运算类型
设置一个变量“运算符”,当用户点击“+”角色时,给变量“运算符”赋值为“+”;当用户点击“-”角色时,给变量“运算符”赋值为“-”;……
确定运算
如何来判断用户要进行运算练习了?
【点击了运算符】
▲主程序脚本
运算符被点击后,变量“运算符”的值不再是初始值0,那么就可以确定用户要进行运算练习了,确定之后,倒计时和出题同时开始。
倒计时
当用户确定运算后,广播“开始计时”,倒计时就开始计时了。
设置一个变量“倒计时”,初始值可以设为60,每隔1秒减少1,一分钟后,倒计时为0。
▲倒计时1分钟脚本
出题
系统生成两个随机运算数。
设置变量“数a”和“数b”.
加减乘除运算的区别是什么?
【答案不同】
出题
系统生成两个随机运算数。
“数a”和“数b”
如果是“+”:答案是数a+数b
如果是“-”:答案是数a -数b
如果是“×”:答案是数a ×数b
如果是“÷”:答案是数a ÷数b
出题
出的习题怎么展示出来?
设置变量“习题算式”
会不会出现问题?
在出减法题时,可能会出现“不够减”的现象,如何确保被减数>=减数呢?
①比较数a和数b的大小,如果数a比数b小,交换两个数。
②将两个随机数的和作为被减数,其中一个随机数作为减数。
在出除法题时,可能会出现“无法整除”的现象,要如何解决呢?
将两个随机数的积作为被除数,其中一个随机数作为除数。
判断对错
询问用户“习题”,如果用户输入的“回答”=“正确答案”,那么得分+1,否则记录该习题。
温馨提示:用列表存储错误的习题。
“倒计时口算练习”工具参考界面
“倒计时口算练习”工具完成一次练习后界面
调试是程序设计中的一个重要环节,通过调试可以发现和诊断脚本中的错误或问题,不断修正、优化脚本。
调试时,需要全面测试程序的每个部分,想一想,你认为可以调试哪些部分?如果让你来检测同桌的程序有没有问题,你会怎么检查?
同桌之间互相运行调试:
①“加”、“减”、“乘”、“除”运算是否正常运行?
②答案是否有问题?
③计分是否正确?
④错题收集是否正确?
程序的完善与优化:
①题目的字号大小是否合适?
②错题列表显示区域是否足够?
③能不能让用户调整题目的难度?
④……
练习:
进一步完善“倒计时口算练习”程序,让它成为低年级同学日常学习的好工具。