编程四级参考课件 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一节课
教学目标:1、掌握变量的各种模块理论认识
2、学习新的模块——字符串关系模块(长度)
师:小朋友们,今天开始咱们正式进入四级的学习,四级的第一节课,我们要老生常谈一个大家已经接触很久的话题,这个话题是什么呢?小朋友们,可以猜一下!
生:编程
生:游戏
师:都不是,这个话题是变量。
说到变量,大家会想到什么呢?生:讲过很多遍了,游戏中用来判断分数、血量的多少
生:猜数字里面也用到过,打气球里面也有
师:看来小朋友们经常使用到变量,那请大家回忆一下,变量一般是在哪里找到的呢?
生:数据里面,需要自己建立
师:非常好,还记得。
我们来检验一下小朋友们是不是还记得我们关于变量所有模块的含义。
首先我们在数据中建立变量,输入变量的名称,就会建立一个自己的变量。
师:这时关于我们建立的变量所有模块都会一一弹出来
它代表的是什么意思呢?
生:……
师:它没有输入也没有输入,形状是一个椭圆形,无法进行上下组合,只能够和一些模块进行镶嵌,它代表的是变量这一个指令。
师:接着继续看这一个模块一般放置在什么地方生:点开绿旗下面,初始值
师:看来还记得三级的考试内容,对了,一般我们都会给变量设定一个具体的数值,你可以在这一个方块里填入0、也可以填入1,任意一个数字
师:下一个这又代表什么?
生:变量会产生变化,变化后的数字结果
师:假设我们变量最开始设定为5,每次增加1,两次后变量值就会是7,这个模块代表的是变量增加相关的值,当然方块内可以填入任意一个数字,但是符合逻辑,填入的数字也是有限的。
师:回忆了变量的模块,大家再想想我们之前建立变量名的时候,大家经常用什么来给变量命名呢?
生:数字1、2、3。
第一个变量就是1,第二个变量就是数字2
生:也有用文字的
生:随便乱输入各种符号的
师:其实你不管输入任何键盘上的符号,你都能建立一个变量,变量可以用字母、数字、符号或者他们的组合来表示建立,但是请注意一个很重要的地方,变量的第一位不能是数字,这是标准必须记住生:也就是说之前用1、2、3都不太对
师:是的,之前没有给你们强调,但现在能我们四级考核中这有可能是选择题的考点,大家一定记得。
生:记住了
师:刚才我们也说过变量的初始值和增加值数字填写的范围也是有限
的,大家回忆一下我们以前做猜数字的编程,我们输入的数字比较小,程序还能识别出来顺利进行,我们输入数字位数多了,你们发现程序会怎么样呢?
生:好像变得特别不准确了
师:看来是认真去学习了,大家可以结合我们之前做猜数字的经验,猜一猜scratch中多大可接受多少位数字
生:……
师:16位数字,如果超过16位数字,如果超过16位数字,scratch 的计数就不会准确。
今天我们就用变量的计数方式来制作一个计算两数相乘结果位数的程序。
师:我们在程序中建立一个代表计数的角色,然后在这个角色中建立三个函数,这三个函数分别是初始化、输入并存储数字以及展示数字
函数分为定义函数和可调用指令函数两种,还记得两个函数的作用吗?
生:定义函数底下会组合很多不属于深紫色(函数)模块,可调用指令函数的意义就代表着定义函数和它下方组合的所有模块
师:现在我们先把三个可调用指令函数依次组合在一起,用上起始模
块绿旗被点击,但是现在我们启动绿旗,会有用吗?生:没有用,定义函数还没有编写程序
师:好,我们想想初始化这一个定义函数下应该组合哪些模块,从初始化这三个出发去想
生:坐标,确定位置。
师:很好,第一个说到了,我们说过用变量来表达位数,肯定位数每次不一样,那最开始我们是不是应该让这个变量归零呢?
生:肯定要,那还要建立一个变量名
师:是的,我们先建立三个变量,变量名刚才说过第一位不能是数字,我们命名为,刚才说过是两个数字相乘的结果,变量分别是输入的数字、输入第二次数字、结果,三个变量都需要归零
师:画面上一个机器人非常单调,我们也可以给他一些形象生动的动作指令,让它初始化后动起来,随便移动,这些都是可以的,当然这个过程中我们用广播连接,广播有两个模块,一个代表发出广播,一个代表当接收到广播,初始化后发出广播,当机器人收到广播后开始各种生动表演
师:小朋友们,注意了,我们随机选取任何数值移动的,运用的模块
是谁呢?
生:运算中在1到10之间随机选取一个数字
师:现在初始化的定义函数程序已经编好了,接着我们编写输入并存储数据的定义函数的程序吧。
师:想一想为什么我们要有这个过程呢?
生:……
师:我们要检验两个数相乘的结果,如果大于16位数,检验停止;不到16位数字可以输入其他数字,但检验有一个前提,就是你要先把你想要检验的数字录入进去让系统存储下来才能够接受检验,这也是这一个函数这一个步骤存在的意义
师:那好,现在想想我们应该给这一个定义函数编写哪些程序呢?生:……
师:我们要把我们需要检验的数字输入,想一想应该用哪一个模块能让我们输入数据的?
生:询问并等待
师:很好,我们把询问模块用上我们之前就说过你用上询问后在里面输入相应的数据后它也不会有任何反应,我们需要告知程序我们输入的数据就是所问问题的答案
接着我们再继续询问输入下一个数字,依旧
将输入的数字设定为答案
师:跟着要求出相乘的结果
师:存储过后,我们是不是就应该检验了,轮到下一个定义函数上场了——展示数字。
师:我们要检验的是最后的结果位数,想一想有什么能代表数字位数的呢?
生:不知道,好像没学过
师:这里我们用到一个运算中的模块,大家看一下
生:没用过
师:这个模块前面有一个方块,里面我们一般会镶嵌椭圆形的变量进去,它代表的是组成这一串数据的个数,刚才我们不是把变量设定成答案了吗,如果我们在最后两个数字相乘得出的答案是121,那这一个模块显示出的个数就会是3
生:好像知道下一步怎么做了,有点头绪
师:那我们继续,接着我们需要判断的一件事:结果位数如果没有超过16位数字,它会继续询问。
如果说超过16位数字,程序直接结束,用什么条件语句继续进行判断。
生:如果……那么……否则
师:怎么用呢?如果……那么……否则中间有一个六边形的框架,我们应该镶嵌什么模块呢?
生:输入数据的长度超过16
师:大于16,应该怎么办
生:停止全部呗
师:可以这么做,比较简单。
但是今天给大家要求提难一点,要求这个机器人必须说出你输入的数据是多少位数字,并且提示是否超过范围,怎么做?
生:简单,用上说话的模块
师:里面镶嵌连接模块把两个数据联系起来,第一个方框写上输入的数字位数是,第一个方框我们需要让它表达出之前输入的数字对应的个数,运用我们的镶嵌进去,再用一个连接,后面写上超过数字范围
以此类推,否则下也是这么做
师:我们测试一下。
可以发现完全超过了,甚至无法计算出准确位数。