今天给学习Scratch的朋友们介绍一个Scratch编程任务时思维套路:ADOPT法则。

Scratch编程思维导图_ADOPT法则_与非学堂出品
Scratch编程思维导图ADOPT法则与非学堂出品标题

 

大家可以放大来看。

ADOPT法则要点:

A:分析任务

B:拆解任务

O:列出选项

P:编程

T:测试运行和优化。

 

这里我们举一个例子来说明这个思路套路:

注:本题为第十届蓝桥杯大赛青少年创意编程 SCRATCH 初级组样题 编程题 第二题,难度系数2(本比赛难度共分10级)    

Scratch编程思维导图_ADOPT法则_与非学堂出品

ʕ•̫͡•ʔ❤ʕ•̫͡•ʔ 题目要求ʕ•̫͡•ʔ❤ʕ•̫͡•ʔ

准备工作:

        导入背景库中的“bench with view”。

编程实现:

        小猫从坐标点(-144,-81)出发向右行走,当走到长椅最右端时,转头向左行走回到起点,然后再转头向右,就这样重复循环地行走下去。

        将程序保存到桌面,命名为“2.sb2”。

注意:

        1. 点击绿旗,小猫从长椅左侧位置出发,在长椅上来回行走。

        2. 角色应该是在行走(造型切换),而不是移动,且不能超出长椅范围。

 

评判标准:(共50分)

        10 分: 能够设置出题目要求的舞台背景。

        10 分: 小猫从长椅左侧出发。

        10 分: 小猫在行走(造型切换),而不是移动。

        10 分: 行走和转头的方向是一致的。

        10 分: 行走到长椅右侧时,能够转头向左走,并走回起点,然后再次向右行走。

 

ʕ•̫͡•ʔ❤ʕ•̫͡•ʔ 解题思路•ʔ❤ʕ•̫͡•ʔ 

 

本题考查同学们对循环、位置移动、方向变化等编程知识和技能的掌握。
 

如何按要求完成程序呢?首先大家一定要仔细读懂题意,特别是要实现什么?有什么注意事项?还有评判标准,这些每一条都要清楚。

这里我们按下面这样的思路模板思考
 

  1. 审题,确定题目要求,即任务现状(限制)、任务目标(目标状态)、可利用材料和方法(操作选项)
    任务现状:小猫在长椅左端。
    任务目标:让小猫在长椅上来回走动。
    可利用材料和方法:移动、切换造型、转方向、循环等代码块。

     

  2. 拆解任务。

    任务开始的时间(WHEN):小绿旗一点击。
    任务进行的方式(HOW):重复进行,不停止。

    任务涉及到哪个角色(WHO):小猫。
    任务步骤需要做什么(WHAT):总体要让小猫在长椅范围内来回走动。具体小步骤:小猫从长椅左端开始,一边走一边变换造型,走到长椅右端时,改变方向朝左,再一边走一边变换造型,走到长椅右端时,改变方向朝右。重复这一过程。

     

  3. 细化可利用材料和方法,选择最好的材料和方法,进行组装。

    首先,要用到哪些材料和方法呢?

    使用“列举法”,列出在拆解的小任务中,可能用到所有材料和方法。要结合题目整体要求中的任务现状和任务目标,又要结合每一个小任务的限制条件,进行分析。

    A. 循环:“重复执行……次”、“重复执行”、“重复执行直到……”。
    B. 移动:“移动……步”、“移到x……y……”、“移到……(角色)”、“在……秒内滑行到x……y……”、“在……秒内滑行到……(角色)”。
    C. 切换造型:“换成……造型”、“下一个造型”。
    D. 改变方向:“面向……方向”。



    其次,选哪个好一点呢?

    需要用到“排除法”。排除的实现,可以是直接推理判断,排除不合要求的,也可以使用“尝试法”。

    A. 循环:
    我们需要让小猫在长椅上一直来回走动,不能走出长椅,所以整体来讲,小猫的x坐标一直在一个范围变化,而y坐标不变。
    因为有“一直”,所以肯定在最外面应该用“重复执行”。
    而这个重复执行里,要做什么呢?应该让小猫慢慢移动,并同时变造型,所以我们可以使用“重复执行……次”或“重复执行直到……”,两个都可以。

    B. 移动:
    我们需要让小猫一边走一边换造型,还得改变方向,所以使用“移动……步”是可以的,而且最容易做。
    当然,使用“移到x……y……”也行,不过需要用到更多变量的知识,稍微复杂一点。
    “在……秒内滑行到x……y……”也行,它可以实现小猫移动时的动画效果,但是如果题目不要求,可以不用这个代码块,用“移动……步”就好了。
    “移到……(角色)”、“在……秒内滑行到……(角色)”,没有其他角色,用不着。

    C. 切换造型:
    如果只是实现小猫走路动作,而且造型能够连起来形成一系列的动画,就不断切换“下一个造型”就可以了。
    “换成……造型”这个代码块,适用于特别需要设置成一个造型的时候。

    D. 改变方向:这个没选择,就用“面向……方向”。


    接着,把选好的材料和方法组装起来。

    这时有一些数值到底是多少,也需要用“尝试法”。

    比如不超出长椅范围的坐标,到底多少合格?

    组装的时候,注意动作的顺序按先后顺序执行的,从上到下拼接代码,同时执行的,用“并行”结构
    这里因为移动和切换造型都是不带“时间词”,不占用太长时间的代码块,所以可以写在一个循环里按上下顺序执行,也可以使用并行结构,都可以。
    关于“时间词”的问题,可以参考:【Debug Scratch】老师,这声音为什么停不下来呢?
                 

    4. 测试、运行、优化。
        如果发现bug,不要着急,按照下面的步骤:
        A. 仔细观察bug、分析可能出现原因;
        B. 定位到bug可能出现的代码;
        C. 修改这些代码;
        D. 测试运行。

        C和D可能会重复很多次,这也是在用“尝试法”。

 

大家按这个思路,动手编写程序试试吧!

如果你编写完成了,想知道写得对不对、好不好,可以发送代码截图给公众号后台哦!

 

相关文章: