﻿ Logic Block

# 邏輯指令Logic Block

This block performs a logical operation on its inputs and sends out the true/false answer by a data wire. The inputs (which must also be “true” or “false”) can be set using the radio buttons or supplied dynamically from data wires.

The Logic block uses only two possible values, “true” and “false,” for both input and output. Often these values are written as the numbers “1” and “0” where any true statement is written as a 1 and any false statement is written as a 0.

This system is very simple for computers to understand because computer memory has an easy time recording “binary” values, values that come in only two states like the 1 and 0. Computers handle more complicated numbers and equations by building up from 1 and 0.

Note: you can use the values 1 and 0 as input to this block but they must be supplied by logic data wires.

1. 當邏輯指令放在工作區上時,會自動打開兩個輸入埠和三個輸出埠.輸入埠必須用資料線與其他指令連接.除非用單選按鍵來指定
A Logic block dropped into the work area will open with two input ports and three output ports. The input ports will have to be connected to other blocks using data wires (except when one of them is supplied by a constant value that you set with radio buttons).

邏輯運算的結果會從最下方的輸出埠送出.而其他兩個輸出埠會傳遞出相對應的輸入值.如果需要可以用來傳遞輸入值到其他指令.(參考下方的資料集線器說明).
Output from the logical operation will be delivered from the bottommost output plug; connect this plug using a data wire to another block’s data hub. The two output plugs opposite the input plugs allow you to pass the input values on to other blocks if this is necessary. (See the Data Hub section below for more information.)

## 設定邏輯指令Configuring the Logic Block

1. 在輸入A或輸入B上使用單選按鍵來指定數值或是用資料線來輸入.
Use the radio buttons to choose inputs A and B or let input data wires supply the input values dynamically.
2. 共有四種邏輯判斷方式可供選擇.
The pull-down menu will let you choose from four operations you can perform on the inputs:
• "而且"運算 An “And” Operation
• "或者"運算 An “Or” Operation
• "互斥"運算 An “Xor” Operation
• "反相"運算 A “Not” Operation

### 而且"運算“And” Operation

With the “And” operation, if your two input values are both “true,” then the output is also equal to “true”; in all other cases the output will be “false.”

This is easy to understand if you look at a “logic table”:

 輸入A Input A 輸入B Input B 輸出 Output 偽 False (0) 偽 False (0) 偽 False (0) 偽 False (0) 偽 True (1) 偽 False (0) 真 True (1) 偽 False (0) 偽 False (0) 真 True (1) 真 True (1) 真 True (1)

You can see that only when both input values are equal to “true” is the answer “true”; in all other cases the output is value is “false.”

### "或者"運算 “Or” Operation

With the “Or” operation, if one or both of your two input values is “true,” then the output is equal to “true.”

 輸入A Input A 輸入B Input B 輸出 Output 偽 False (0) 偽 False (0) 偽 False (0) 偽 False (0) 真 True (1) 真 True (1) 真 True (1) 偽 False (0) 真 True (1) 真 True (1) 真 True (1) 真 True (1)

### "互斥"運算 “Xor” Operation

With the “Xor” operation, if either one of your two input values is “true,” but not both, then the output is equal to “true.”

 輸入A Input A 輸入B Input B 輸出 Output 偽 False (0) 偽 False (0) 偽 False (0) 偽 False (0) 真 True (1) 真 True (1) 真 True (1) 偽 False (0) 真 True (1) 真 True (1) 真 True (1) 偽 False (0)

### "反相"運算 “Not” Operation

"反相"運算有時稱為"反轉",只有一個輸入值,如果輸入值為"真",輸出即是"偽";如果輸入值為"偽",輸出即是"真".
The “Not” operation is sometimes called an “inverter.” This operation has only one input value. If this input value is “true,” the output is equal to “false”; if the input value is “false,” the output is equal to “true.” It just flips the input value.

 輸入A Input A 輸出 Output 真 True (1) 偽 False (0) 偽 False (0) 真 True (1)

## 設定邏輯指令的資料集線器 Configuring the Logic block’s Data Hub

You can control the Logic block dynamically by connecting data wires (from other blocks’ data hubs) to the Logic block’s data hub.

Open a block’s data hub by clicking the tab at the lower left edge of the block after it has been placed on the work area.

Data wires carrying input information to a block are connected to the plugs on the left side of its data hub. Data wires carrying output information are connected to the plugs on the right side.

[A]輸入連接埠 [A] Input plug
[B]輸出連結部 [B] Output plug
[C]數字資料線(黃) [C] Number data wire (yellow)
[D]邏輯資料線(綠) [D]Logic data wire (green)
[E]文字資料線(橘) [E]Text data wire (orange)
[F]無效資料線(灰) [F]Broken data wire (gray)

### 資料由輸入端傳至傳出端Passing from the input plug to the output plug

If an input plug has a corresponding output plug (see A above), the input data will pass through from the input plug to the output plug without being changed. In this case, you can only use the output plug if the input plug is connected to an input data wire; connecting an output data wire to such an output plug without a connected input data wire will cause the output data wire to be “broken” (and colored gray).

### 特定的資料型態Data wire colors carry specific types of data

Each data wire carries a specific type of data between blocks. For example, if a data wire is dragged from a logic plug on a block’s data hub, it can only be connected to a logic plug on another block’s data hub. The chart below shows what kind of data each plug can accept or send out.

### 資料線顏色Data wire colors

Data wires are identified with specific colors: wires carrying number data are colored yellow, wires carrying logic data are colored green, and wires carrying text data are colored orange.

### 無效的資料線“Broken” data wires

If you try to connect a data wire to a plug of the wrong data type, the data wire will be broken (and colored gray). You will not be able to download your program if a data wire is broken.

If you click a broken wire you can read why it is broken in the small help window in the lower right corner of the work area.

### 資料必須在連接埠的限制範圍內Data must bewithin the possible range of the plug

If an input data wire transmits a value outside the possible range of the plug it is connected to, the block will either ignore the value or change it to a value within its range. For plugs that allow just a few input values (example: just 0, 1, or 2), the plug will ignore the input if a value arrives outside its range.

For plugs that accept larger input ranges (example: 0 – 100), the plug will force any input outside its range to fit. For example, if a Move block’s Power plug receives an input value of 150, the block will change the input value to 100 (i.e., a number within the Power plug’s range).

### 下表列出本資料集線器中各連接埠的特性This chart shows the different characteristics of the plugs on the Logic block’s data hub:

 連結埠Plug 資料型態Date Type 資料範圍Possible Range 資料意義What the Values Mean 連接埠例外說明This Plug is Ignored When... A 邏輯Logic 真/偽True/False 左邊運算元Left operand B 邏輯Logic 真/偽True/False 右邊運算元Right operand 結果Result 邏輯Logic 真/偽True/False 運算結果Result of operation