回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

用K10学习编程设计的三种基础结构 简单

头像 地下铁 2025.01.22 124 0

项目来源

 

    按照新课标中五年级“身边的算法” 的要求,掌握第二单元“算法结构与描述”中顺序、分支和循环结构等概念,并运用这些知识在K10的帮助下完成一个小项目的设计。

 

信息科技课标.png
2.png
3.png

项目内容

 

    通过设计一个“能随着外部光线的强弱变化而翩翩起舞的音乐喷泉动画”为任务目标,在K10的屏幕上有12根颜色相间的柱状图,当检查到外部光线强弱发生变化时会随之改变。

4.png

将任务分解成为3个小任务:

1、 在屏幕的底部绘制一个柱状图,

2、 绘制更多的柱状图,并让图形的高度与光线强弱相关。

3、 让两两相邻的柱状图颜色不同

准备过程

 

1、 打开mind+,用数据线将K10和电脑连接起来

2、 在mind+中,在上传模式下,点击左下角的“扩展”,在弹出窗口中,点击“主控板”选项,然后选择“行空板k10”,接着点击左上角的”返回“按钮

5.png

3、 在mind+中,点击“连接设备”,在下拉菜单中选择“comxx-unihiker k10”字样的选项。

6.png

 

实践过程

 

任务一、

 

点击左侧“图形模块区”中的“行空板K10”,找到图中所示的模块,并拖拽到“图形化编程区”。

7.png

尝试将代码按照不同的方式组合,然后点击“上传到设备”,观察它们对应的执行结果,思考一下为什么。

程序代码执行结果

尝试1:

8-1.png

 

8-1-1.png
观察结果:在指定坐标位置,以矩形的左上角为起点绘制出边框为1的矩形图案。

尝试2:

8-2.png

8-2-2.png
观察结果:绘制的图形与尝试1的结果相似,但是设置线宽边框为1的语句没有生效。

尝试3:

8-3.png

8-3-3.png
观察结果:屏幕没有绘制任何图案。可以继续探究为什么图案不见了。

    通过上面的尝试,第一种顺序符合我们预期的目标结果。另外我们也可以了解到,在编程过程中,程序是按照顺序逐行执行的,如果改变编程积木的执行顺序对于程序运行的结果会有很大的影响。

 

    这就是编程的第一种基本结构:顺序结构,按顺序执行语句。

 

   我们继续来完善程序实现任务一目标,通过改变柱状图的起始位置,因为屏幕大小是240*320,可以用一个变量来保存矩形的高度值,接着我们能够换算出矩形的Y坐标值。

9.png

9-1.png

第一个小任务就完成了。

任务二、

 

     接着我们要让这个矩形的高度和外部光线强弱关联起来,也就是说光线越强,矩形的高度越高。同时还要在屏幕的底部位置绘制出更多的柱状图案。可以把这个任务再分解成三个小任务。

先来完成高度与光线强度的数值绑定。在K10的上方有一组环境光传感器可以检测出外部光线数值,尝试把数值显示在屏幕上。

 

10.png

 

程序代码执行结果

尝试一、

11.png

11-1.png

观察结果:屏幕上显示一个数值

尝试二、

12.png

11-1.png 

观察结果:屏幕上不断闪烁显示一个数值。用强光照射和遮挡传感器的方式可以知道数值的范围在0~10000之间。

    在尝试一的代码中,显示环境光强度的语句只执行了一次,在尝试二的代码中,显示环境光强度的语句被反复的执行,呈现出来的效果就是数值被不停的刷新显示。结合项目的需求,当然是需要将程序积木放置在“循环执行”语句里面。

       接着来完成第2个小任务,将柱形图的高度与光线强度绑定。因为矩形的高度范围为0~320,同样的矩形的起始点Y坐标应该为320-矩形高度。

13.png

    可以开启手机的手电筒,放置在K10的环境光强度传感器上方,通过改变和传感器的距离来得到不同的光线强度,可以看到柱形图不断变高变低。

       最后我们来完成第三个小任务,产生更多的矩形图案。

14-1.png
14.png

    重复生成12根宽度为20的矩形图案,矩形高度和当前光线强度相关。通过实践可以知道,当我们需要对某些代码重复执行或重复执行相应次数时,就可以使用我们的循环结构语句。

    这就是我们需要认识的第二种程序基础结构:循环结构。

任务三、

 

    完成任务二后,我们发现生成柱形图都是相同的颜色,能够让相邻的矩形图案呈现不同的颜色呢?这就要用上第三种程序基础结构:选择结构。

 

15.png
15-1.png

    新增一个计数变量放置在循环结构中,记录当前循环的圈数,如果是奇数的时候,就将矩形的填充颜色设置为蓝色,反之则为红色。这种根据条件来选择执行路径的程序结构就是选择结构,也叫分支结构。

   可以继续提出拓展问题,如果想增加间隔颜色的种类应该怎么修改?

 

演示视频

评论

user-avatar