Docy

数学与逻辑 1

此章节中,包含《回圈》《逻辑》《函式方块》《变数》分类下的程式方块内容。
👉 有关《数学式》、《文本》与《列表》分类下的程式方块内容,请阅读:数学与逻辑 2

📎 《回圈》

重复“当/直到” _ ,执行+

  • 定义重覆 (回圈)

在编辑程式的过程中,常常需要某一些特定的指令连续地重复执行。此时会使用「重覆」的指令来简化程式码。重覆_次、永久重覆、重覆当,执行等属于重覆 (回圈) 的方块。

  • 说明

此方块的下拉选单有两个选项,第一个选项是「重复 当」,表示「当发生某些事情,回圈就会启动」,第二个选项是「重复直到」,表示「直到发生某些事情,回圈就会停止」。

  • 基本操作

点击方块内的下拉选单,选择「重复 当」或「重复直到」。把启动或停止重复的条件拖拉至缺口里,把需要重复的流程拖拉至「执行」的缺口里。

  • 范例
    1. 点击左侧选单「变数」的目录,点击「建立变数」,设定变数名称为「a」,将「赋值 成」拖拉到画布中。
    2. 点击左侧选单「回圈」的目录,将「重复当,执行」拖拉到「赋值 成」的下方。
    3. 点击左侧选单「数学式」的目录,将「随机取数」拖拉到「赋值 成」的缺口;将「0是偶数」拖拉到「重复 当」的缺口。
    4. 点击左侧选单「变数」的目录,把变数「a」取代「0」;将「是偶数」更改为「是奇数」。
    5. 点击左侧选单「动作」的目录,把两个左肩上抬拖拉到「执行」的缺口。上抬角度分别为「100°」和「」。
    6. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

‼ ️ 注意事项:回圈目录下的重复块通常用来执行 blockly 自带的方块(如逻辑、有返回值函式、数学式、文本、列表等块),要运行订制块(如控制动作、画布、声音、灯光的方块),请使用控制目录下的重复、永久重复方块。

循环计数 _ 从 _ 到 _ 间隔数_,执行+

  • 说明

类似「重复执行」的进阶版,差别在于「循环计数」使用了一个变数,透过改变这个变数的数值,来决定重复几次、如何重复以及重复的间隔。

  • 基本操作

点击方块内的下拉选单,重新命名变数,变更数学式的数字或方块。将需要执行此循环的方块拖拉进「执行」的缺口里。


    1. 点击左侧选单「回圈」的目录,将「循环计数,执行」拖拉到画布中。
    2. 点击下拉选单,选择重新命名变数为「双数」,并将后面的数字改为从「2」到「100」,间隔数「2」。
    3. 点击左侧选单「声音」的目录,将「说 “__”」拖拉到画布中。
    4. 点击左侧选单「变数」的目录,将「双数」这个变数拖拉进「说 “__”」的缺口里。再将其放在「执行」里。
    5. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

取出每个_自清单,执行 +

  • 说明

此方块会取出清单里的内容,为清单建立变数,并执行清单中的程式。

👉🏻 关于列表,请查看 这一页

  • 基本操作

点击左侧选单「列表」的目录,选择关于建立清单的方块,并建立清单项目,最后执行清单中的程式。

  • 范例
    1. 重新命名变数为「数字」。
    2. 点击左侧选单「列表」的目录,将「使用这些值建立清单」拖拉到方块的缺口,并点击左上方的「齿轮」,将「项目」拖拉到「清单」里。
    3. 点击左侧选单「数学式」的目录,将 个「0」拖拉到「使用这些值建立清单」的缺口,并从上到下输入数字「到 4」。
    4. 点击左侧选单「声音」的目录,将「说 ”__”」拖拉到「执行」的缺口。
    5. 点击左侧选单「变数」的目录,将「数字」这个变数拖拉进「说 “__”」的缺口里。
    6. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

中断循环/ 继续下一个循环

  • 说明

所有的回圈的行为,都可以透过「中断循环」积木来中断;下拉选单还有另外一个选项是「继续下一个循环」。

📒  补充:这个积木只能在回圈里使用,如果放在回圈外,就无法正常使用。

  • 范例
    1. 先完成上一个案例(取出每个_自清单,执行的案例),延续此案例。
    2. 将「说数字」先拖拉出「执行」外。
    3. 点击左侧选单「逻辑」的目录,将「如果,执行」拖拉到「执行」里,并点击左上方的「齿轮」,将「否则」拖拉到「如果」的下方。
    4. 点击左侧选单「逻辑」的目录,将「’__’  =  ’__’ 」拖拉到「如果」的缺口,并改为「 数字 > 3 」。
    5. 把「中断循环」拖拉进「执行」的缺口,把「说数字」拖拉进「否则」的缺口
    6. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

📎 《逻辑》

如果+,执行+

  • 说明

「如果」是「判断条件」,「执行」是「执行内容」,当程式满足判断条件时,就会执行对应的内容。

  • 基本操作

点击方块内左上方的「齿轮」,可以新增逻辑判断的条件。逻辑判断条件有三种:「如果」必须在第一层,「否则如果」则在中间,「否则」一定在最下方。

当没有满足「如果」和「否则如果」的条件,就会执行「否则」的内容。

  • 范例
    1. 点击左侧选单「变数」的目录,点击建立变数,新增变数名称为「分数」,并将「赋值分数成」拖拉到画布中。
    2. 点击左侧选单「数学式」的目录,将「随机取数」拖拉进「赋值分数成」的缺口。
    3. 将「如果,执行」拖拉到「赋值分数成」的下方,点击左上方的「齿轮」,将「否则」拖拉到「如果」的下方。
    4. 点击左侧选单「逻辑」的目录,将「’__’  =  ’__’ 」拖拉进「如果」的缺口,并改为「分数 > 60」。
    5. 点击左侧选单「声音」的目录,将两个「说 __ 」拖拉到画布中,一个输入「及格」,拖拉进「执行」的缺口;另一个输入「不及格」,拖拉进「否则」的缺口。
    6. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

’__’ = ’__’

  • 定义-执行参数

左侧有一个突起,可以在左侧连接其他方块,作为其他方块执行数据的方块。参数可以是一个变数、字符串、数据、列表、有返回值的函式等类型,列如在目录:「逻辑」、「数学式」、「文本」、「列表」里的多数方块都是属于执行参数。

  • 说明

此方块为「判断条件」的一种,条件式会放在此方块的缺口里,提供不同情境的逻辑判断,判断的条件分为:等于 (=)、不等于 (≠)、小于 (<)、小于等于 ()、大于 (>)、大于等于 ()

  • 范例
    1. 点击左侧选单「变数」的目录,点击建立变数,新增变数名称为「分数」,并将「赋值分数成」拖拉到画布中。
    2. 点击左侧选单「数学式」的目录,将「随机取数」拖拉进「赋值分数成」的缺口。
    3. 点击左侧选单「声音」的目录,将「说 ”__” 」拖拉到「赋值分数成」的下方,并将「分数」这个变数拖拉进「说 “__”」的缺口里。
    4. 点击左侧选单「逻辑」的目录,将「如果,执行」拖拉到「说分数」的下方,将「’__’  =  ’__’ 」拖拉到画布中,并改为「分数 < 60」,拖拉进「如果」的缺口里。
    5. 点击左侧选单「声音」的目录,将「说 __ 」拖拉进「执行」的缺口里,并输入「不及格」。
    6. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

’__’ 且 ’__’

  • 定义-逻辑运算子

「逻辑运算子」把语句连接成更复杂的语句。例如:假设有两个逻辑命题,分别是「台风来袭」和「我在睡觉」,我们可以将它们组成复杂命题「台风来袭,并且我在睡觉」或「如果台风来袭,那么我在睡觉」。将两个语句组成的新的语句或命题,称「逻辑运算子」,又称复合语句或复合命题。

  • 说明

逻辑运算子为逻辑判断提供了更弹性的判断条件,当中包含了「且」与「或」,如果使用「且」,两端判断条件的空格必须都同时满足,才会执行往下的流程,如果是使用「或」,则只要其中一个判断条件的空格满足就会执行往下的流程。

📒 补充:通常当逻辑判断里出现「如果否则」的时候,就一定会用到「逻辑运算子」。

  • 范例
    1. 点击左侧选单「变数」的目录,点击建立变数,新增变数名称为「分数」,并将「赋值分数成」拖拉到画布中。
    2. 点击左侧选单「数学式」的目录,将「随机取数」拖拉进「赋值分数成」的缺口里。
    3. 点击左侧选单「声音」的目录,将「说 ”__” 」拖拉到「赋值分数成」的下方,并将「分数」这个变数拖拉进「说 “__”」的缺口里。
    4. 点击左侧选单「逻辑」的目录,将「如果,执行」拖拉到「说分数」的下方,并点击左上方的「齿轮」,将两个「否则,如果」跟一个「否则」拖拉到「如果」的下方。
    5. 点击左侧选单「逻辑」的目录,将「’__’  =  ’__’ 」拖拉到画布中,并改为「分数 = 0」,拖拉进「如果」的缺口,再点击左侧选单「声音」的目录,将「说__」拖拉到画布中,并输入「0分」,拖拉进第一个「执行」的缺口里。
    6. 将两个「’__’  =  ’__’ 」分别拖拉进「’__’    ’__’」的空格。前者改为「数字 > 0」,后者改为「数字 < 60」,并拖拉进第一个「否则如果」的缺口,再将「说__」拖拉到画布中,并输入「不及格」,拖拉进第二个「执行」的缺口里。
    7. 将两个「’__’  =  ’__’ 」分别拖拉进「’__’    ’__’」的空格。前者改为「数字 ≥ 60」,后者改为「数字 < 99」,并拖拉进第二个「否则如果」的缺口,再将两个「说__」拖拉到画布中,并输入「及格」,拖拉进第三个「执行」的缺口,输入「满分」,拖拉进「否则」的缺口里。
    8. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

  • 说明

「非」的方块就如字面一样,表示「不是」,通常会和「真或否」或「空值」的方块搭配使用。

  • 范例
    1. 点击左侧选单「变数」的目录,点击建立变数,新增变数名称为「数字」,并将「赋值数字成」拖拉到画布中。
    2. 点击左侧选单「数学式」的目录,将「随机取数」拖拉进「赋值数字成」的缺口。
    3. 点击左侧选单「声音」的目录,将「说 ”__” 」拖拉到「赋值数字成」的下方,并将「数字」这个变数拖拉进「说 “__”」的缺口里。
    4. 点击左侧选单「逻辑」的目录,将「如果,执行」拖拉到「说数字」的下方,并点击左上方的「齿轮」,将「否则」拖拉到「如果」的下方。
    5. 将「非」拖拉进「如果」的缺口,将「是偶数」拖拉进「非」的缺口,并将「数字」这个变数拖拉进「是偶数」的缺口里。
    6. 将两个「说 __ 」拖拉到画布中,分别输入「是奇数」和「是偶数」。前者拖拉进「执行」的缺口里,后者拖拉进「否则」的缺口里。
    7. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

  • 说明

此方块有下拉选单,可选择「真」或「假」。主要表示 ture false 两个值,让判断的时候在数字、文字之外,多一些判断的条件,同时也可以将 ture false 提交给变数。

  • 范例
    1. 点击左侧选单「变数」的目录,点击建立变数,新增变数名称为「i」。
    2. 点击左侧选单「逻辑」的目录,将「如果,执行」拖拉到画布中,并点击左上方的「齿轮」,将「否则」拖拉到「如果」的下方。
    3. 将「’__’  =  ’__’ 」拖拉进「如果」的缺口里,并改为「 i = 假 」。
    4. 将「赋值 成」拖拉进「执行」的缺口里,将「真」拖拉进「赋值 成」的缺口里。
    5. 点击左侧选单「控制」的目录,将「等待机器人被摸头」拖拉到「赋值 成」的下方。 点击左侧选单「动作」的目录,将「左肩上抬 90°」拖拉到「等待机器人被摸头」的下方。
    6. 将「赋值 成」拖拉进「否则」的缺口里,将「假」拖拉进「赋值 成」的缺口里。
    7. 将「等待机器人被摸头」拖拉进「否则」的缺口里,将「左肩上抬 180°」拖拉到「等待机器人被摸头」的下方。
    8. 将以上的流程拖拉进「永久重覆」的缺口里。
    9. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

  • 说明

当遇到某个变数或是某个数值需要变成空值(null)的时候,就可以使用「空」这个方块,用法和「真或否」的用法类似。

  • 范例
    1. 先完成上一个案例(「真」的案例),延续此案例。
    2. 将「 i = 假 」改为「 i = 空」。
    3. 将「赋值 成真 」改为「 赋值 成非空」。
    4. 将「赋值 成假 」改为「 赋值 成空」。
    5. 选择播放的设备-我的机器人(或模拟器)。

测试,如果为真,如果为假

  • 定义-三元逻辑运算子

「三元逻辑运算子」是针对只有「两种条件」,并针对根据条件传回「两个运算式」的其中一个。即根据条件判断,从两种条件选择其中一种执行。

  • 说明

如果两种条件,就可以透过元逻辑运算子来轻松实现,可以使用比较少的积木完成同样的结果。


    1. 点击左侧选单「变数」的目录,点击建立变数,新增变数名称为「成绩」,将「赋值成绩成」拖拉到画布中。
    2. 点击左侧选单「数学式」的目录,将「随机取数」拖拉进「赋值数字成」的缺口里。
    3. 点击左侧选单「声音」的目录,将两个「说 ”__”」拖拉到「赋值成绩成」的下方。
    4. 点击左侧选单「变数」的目录,将「成绩」拖拉进第一个「说 ”__”的缺口里,并将「测试,如果为真,如果为假」拖拉进第二个「说 ”__”的缺口里。
    5. 点击左侧选单「逻辑」的目录,将「’__’  =  ’__’ 」拖拉进「测试」的缺口,并改为「 成绩 > 60 」,并点击左侧选单「文本」的目录,将两个「“_”」拖拉进「如果为真」和「如果为假」的方块,并改为「及格」和「不及格」。
    6. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

📎 《函式方块》

到功能1,+

到功能1
  • 定义-函式体

函式体指函式方块目录中,上下都无法连接其他地方的方块,函式体会拥有一个执行体,在执行体中可以含其他块的方块。

  • 说明

「函式方块」可以将许多重复会用到的流程包装成一个函式。使用「到功能 1」并不会执行函式,需要建立完「到功能 1」缺口里的流程后,在「函式方块」的目录里,就会出现对应的方块(预设名称为「功能 1」),要使用这方块才表示执行这个函式。

  • 基本操作

可以更改「功能 1」的名称,并点击左上方的「齿轮」,将「输入名称」拖拉进「输入」的缺口里。

  • 范例
    1. 点击左侧选单「函式方块」的目录,将两个「到功能 1」拖拉到画布中,并将「功能 1」改为「手部动作」,将「功能 2」改为「头部动作」。
    2. 点击左侧选单「动作」的目录,将两个「左肩上抬」拖拉进「到手部动作」的缺口里,上抬角度分别改为「90°」与「」。
    3. 点击左侧选单「动作」的目录,将两个「头部垂直转动」拖拉进「到头部动作」的缺口里,转动角度分别改为「20°」与「」。
    4. 点击左侧选单「函式方块」的目录,将两个「手部动作」和「头部动作」拖拉到开始下方。
    5. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

到功能1 +,返回 +

  • 定义-返回

有「返回」字样,并且在右端连接一个参数块的函式体所产生的函式块,可以作为其他块的执行参数,这个参数表示的数据就是返回值。有返回值的函式体只能包含 blockly 自带的块,而没有返回值的函式体可以包含 blockly 块和订制块。

  • 说明

与「到功能 1」的方块相似,但此方块加入带有返回的函式,可以让执行的函式,变成单纯的数值。

  • 基本操作

可以更改「功能 1」的名称,并点击左上方的「齿轮」,将「输入名称」拖拉进「输入」的缺口里,亦可以选择是否允许陈述式。

  • 范例
    1. 点击左侧选单「函式方块」的目录,将「到功能 1,返回」拖拉到画布中,点击左上方的「齿轮」,将两个「输入名称」拖拉进「输入」的缺口里,并选择不允许陈述式。
    2. 点击左侧选单「数学式」的目录,将「1 + 1」拖拉进「返回」的缺口里。
    3. 点击左侧选单「变数」的目录,将「x」和「i」拖拉到画布中,并将「1 + 1」改为「x + i」。
    4. 点击左侧选单「声音」的目录,将「说 “_”」拖拉到「开始」的下方。
    5. 点击左侧选单「函式方块」的目录,将「功能 1与:」拖拉进「说 “_”」的缺口里。
    6. 点击左侧选单「数学式」的目录,将两个数字方块拖拉到画布中,数字改为「1」和「2」,分别拖拉进「x」和「i」的缺口里。
    7. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

如果 +,返回 +

  • 说明

此方块必须配合「函式方块」使用,并必须带有「返回值」的方块,意思就是此方块必须放在「到功能1,返回」里才能使用。主要作为判断要回传什么数值时使用。

  • 基本操作

点击左上方的「齿轮」,将「输入名称」拖拉进「输入」的缺口里。并将「到功能 1,返回」拖拉「如果,返回」的缺口里。

  • 范例
    1. 点击左侧选单「函式方块」的目录,将「如果,返回」及三个「到功能 1,返回」拖拉到画布中。
    2. 点击左上方的「齿轮」,将两个「输入名称」拖拉进「输入」的缺口里,并三个「到功能 1,返回」拖拉「如果,返回」的缺口里。
    3. 点击左侧选单「逻辑」的目录,将三个「’__’  =  ’__’ 」分别拖拉进「如果」的缺口里。
    4. 点击左侧选单「变数」的目录,将「x」和「i」拖拉到画布中。将三个「’__’  =  ’__’ 」分别改为「x =  i」、「x <  i」、「x >  i」。
    5. 点击左侧选单「文本」的目录,将「“__”」拖拉进「返回」的缺口里,并分别改为「a」、「b」、「c」。
    6. 点击左侧选单「声音」的目录,将三个「说 “__”」拖拉到画布中,并将三个「功能1与:」分别拖拉进「说 “__”」的缺口里。
    7. 点击左侧选单「数学式」的目录,将 个「0」拖拉进「x」「i」的缺口里,并分别改为「1」「1」、「1」「0」、「0」「1」。
    8. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

📎 《变数》

赋值 _ 成

  • 定义-变数

变数,也称作变量,使用变数前,会赋予变数一个名称,并用变数来储存文字、数字、列表等内容,例如「变数 a 」等于「文字」,它型别就是「字串」,如果再把「变数 a」 等于「数字」,它的型别就会变成「数字」。

为什么要使用变数呢?因为在程式编辑常常会遇到许多「重复」的部分,用变数装载这些重复的部分,就能很简单的进行「一次性」新增、删除或修改动作。

  • 说明

要使用左侧选单「变数」的目录里的方块,需要先点击「建立变数」,输入新变数的名称。假设设定一个变数 a,在左侧变数的目录就会看到变数 a 相关的方块。

  • 基本操作

点击「建立变数」,输入新变数名称后,在「变数」的目录将「赋值_成」拖拉到画布中。

  • 范例
    1. 点击左侧选单「变数」的目录,点击「建立变数」,输入新变数名称为「a」,将「赋值 成」拖拉到画布中。
    2. 点击左侧选单「数学式」的目录,将「0」拖拉进「赋值 成」的缺口里,并改为「1」。
    3. 点击左侧选单「声音」的目录,将「说 “_”」拖拉到「赋值 成」的下方,并将「a」这个变数拖拉进「说 “__”」的缺口里。
    4. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。

修改 _ 自 ” _ “

  • 说明

要使用左侧选单「变数」的目录里的方块,需要先点击「建立变数」,输入新变数的名称。假设设定一个变数 a,在左侧变数的目录就会看到变数 相关的方块。

在使用此方块前,必须先赋值变数,因为此方块可以修改之前所建立的变数,此方块表示「让变数的值改变多少」,假设原本变数 的值为 1,使用「修改 自 1」之后,这个变数就会变成 2,同理,如果「修改  -1」,那么这个变数就会变成 0

  • 基本操作

点击「建立变数」,输入新变数名称,在「变数」的目录将「赋值_成」拖拉到画布中,并赋予数值后,再将「修改_自」拖拉到画布中,并输入想修改的数值。

  • 范例
    1. 先完成上一个案例(「赋值_成」的案例),延续此案例。
    2. 点击左侧选单「变数」的目录,将「修改 自 1」拖拉到「说 a」的下方。
    3. 复制一个「说 a」,拖拉到「修改 自 1」的下方。
    4. 将流程拖拉到「开始」的下方后,选择播放的设备-我的机器人(或模拟器)。
Share this Doc
CONTENTS