Navigation

    CreatiCode Scratch Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode

    变量循环

    二维积木
    1
    1
    210
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • info-creaticode
      CreatiCode last edited by admin

       

      介绍

      当我们在循环中重复一些代码积木时,我们经常需要同时使用一个变量,这样在循环的每一步这个变量都会有不同的数值。比如下面是一个典型的重复循环:

       
      变量“索引”在一开始被设置为 1,然后我们重复3次说出它的数值,并在每次使用“说”积木后将其数值增加 1。

      由于这是一个非常常见的用法,我们可以使用“变量循环”来简化程序。

       
       

      变量循环

      变量循环是指下面这个积木:

      8e847f59-cd3a-4009-b335-439ebf8daf77-image.png

      这个积木重复的更新一个索引变量,让它从初始值开始逐步改变,等它到了极限值就结束循环。比如下面的变量循环会先把索引变量设置为1,然后每步把它增加2,到第4次迭代时,索引变量到达7这个极限值的时候停止。

      0c7300f5-41dc-49cf-8c4c-9e9f8518c4d9-image.png

       

      参数

      • 索引变量:在每次迭代中被更新的变量。你可以从下拉列表中选择任何变量作为索引变量。
      • 初始值:在第一次循环开始之前给索引变量设置的值。
      • 约束值:指标变量的极限值。如果索引变量每一步都在增加(正步长),那么只要索引即将大于约束值,变量循环就会停止;如果索引变量正在减小(负步长),则只要索引即将小于约束值,变量循环就会停止。
      • 改变量:这个数值决定了索引变量的值在每一步变化多少。如果我们需要使索引变量逐步减小,我们需要将约束值设置为不大于初始值,并将改变量设置为负数。

       
       

      更多示例

       
       

      更大的步长

      say3.gif

       

      约束值不一定是变量的最终数值

      在下面的例子中,每次索引变量增加2。所以在它变成5之后,如果变量循环继续,它将变为7。但是,由于约束值为6,因此当索引变量变为5后这个循环将停止。

       
       

      负的改变值

       
       

      自动制作或展开变量循环

      为了帮助你了解变量循环的工作原理,创益编程游乐场可以帮你自动的制作或者展开变量循环。

      如下所示,对于任何变量循环,如果你右键单击这个积木,你将看到一个“展开变量循环”的选项。该命令会将变量循环转换为一组不包含循环的积木,其功能与原来的变量循环相同。

      say.gif

       
      如示例所示,我们首先将索引变量设置为初始值 1,然后运行 ​​变量循环内的 2 个块,然后我们按步长更改索引变量。重复此操作,直到索引变量达到 5。

       
      另一方面,如果你右键单击这一组积木,并选择“制作变量循环”,你将得到一个变量循环,它的结果和这一组积木相同。

      ff.gif

       
      请注意,原始变量循环的约束值为 6,但在“展开变量循环”和“制作变量循环”步骤之后,约束值变为 5。这是没有问题的,因为这两个约束值都会产生相同的运行结果。

      1 Reply Last reply Reply Quote 0
      • First post
        Last post