From Test-Scratch-Wiki

Translate: - English - 中文 
() * ()
() * ()
類別 運算類積木
形狀 橢圓形積木

() * () 積木是一個運算類積木且是一個橢圓形積木。它將兩個數相乘並返回結果。在 Snap! 里, 它表示為 () × ().

數字可以直接輸入,你也可以放入其他橢圓形積木。

這個積木可以放在自己裡面——這樣,他可以進行連乘或指數運算。

用法示例

在許多專案里,數字需要相乘,這積木可以做到。

() * () 積木的常見用法

  • 模擬計算器
變數 [结果 v] 設為 ((a) * (b))
  • 將列表里的數字相乘
變數 [结果 v] 設為 (1)
變數 [编号 v] 設為 (1)
重複 (清單 [数字 v] 的項目數 :: list) 次 
  變數 [结果 v] 設為 ((结果) * (清單第 (编号) 項項目\( [数字 v] \) :: list))
  變數 [编号 v] 改變 (1)
end
  • 數學方程式
([平方根 v] ((((y1) - (y2)) * ((y1) - (y2))) + (((x1) - (x2)) * ((x1) - (x2))))) // 勾股定理
  • 分數成倍增加
變數 [成绩 v] 設為 ((成绩) * (2))
當 @greenflag 被點擊
變數 [加速度 v] 設為 [0]
重複無限次 
  如果 <[空白 v] 鍵被按下?> 那麼 
    變數 [加速度 v] 改變 (2)
    變數 [加速度 v] 設為 ((加速度) * (0.87)) // 模拟因为摩擦力而减速
  end
end

科學計數法

Scratch 1.4 及更早版本,它有時通過將數字使用科學計數法來表示來節省空間。科學計數法通常是以 a*10b 的格式出現。 這些可以通過對其執行任何數學函數(例如加法)轉換為正常數字。 所以,如果有一個變量叫做「數字」,它的值是3*103,如果你想讓他以正常形式顯示,你可以這樣做:

((数字) + (0))

它會返回"3000".

應用

Main article: 互通積木


使用自然數的情況下,以下代碼具有相同的功能,假設兩個數分別是a和b。

變數 [结果 v] 設為 [0]
重複 (b) 次 
  變數 [结果 v] 改變 (a)
end

以下代碼支持所有情況。a除以b的倒數等於a乘b。

如果 <(b) = (0)> 那麼 
  變數 [结果 v] 設為 [0]

  變數 [结果 v] 設為 ((a) / ((1) / (b)))
end

以下代碼支持小數和負數。

刪除第 (全部 v) 項 \( [数值1的数字 v] \) // 准备
刪除第 (全部 v) 項 \( [数值2的数字 v] \)
刪除第 (全部 v) 項 \( [乘积的每一位 v] \)
變數 [乘积 v] 設為 [0]
變數 [小数点位置1 v] 設為 [0]
變數 [小数点位置2 v] 設為 [0]
詢問 [数值1] 並等待 //获取
如果 <(詢問的答案) < [0]> 那麼 
  變數 [计数 v] 設為 [1]
  變數 [1负? v] 設為 [y]

  變數 [计数 v] 設為 [0]
  變數 [1负? v] 設為 [n]
end
重複 (字串長度\( (詢問的答案) \)) 次 
  變數 [计数 v] 改變 (1)
  如果 <<(字串中第(计数)字\( (詢問的答案) \)) = [.]> 不成立> 那麼 
    新增項目 (字串中第 (计数) 字\( (詢問的答案) \)) \( [数值1的数字 v] \)
  
    變數 [小数点位置1 v] 設為 ( (字串長度\( (詢問的答案) \)) - (计数))
  end
end
詢問 [数值2] 並等待
如果 <(詢問的答案) < [0]> 那麼 
  變數 [计数 v] 設為 [1]
  變數 [2负 v] 設為 [y]

  變數 [计数 v] 設為 [0]
  變數 [2负 v] 設為 [n]
end
重複 (字串長度\( (詢問的答案) \)) 次 
  變數 [计数 v] 改變 (1)
  如果 <<(字串中第(计数)字\( (詢問的答案) \)) = [.]> 不成立> 那麼 
    新增項目 (字串中第 (计数) 字\( (詢問的答案) \)) \( [数值2的数字 v] \)
  
    變數 [小数点位置2 v] 設為 ((字串長度\( (詢問的答案) \)) - (计数))
  end
end
變數 [数值1 v] 設為 (数值1的数字 :: list)
變數 [数值2 v] 設為 (数值2的数字 :: list)
重複 (数值1) 次 
  變數 [乘积 v] 改變 (数值2)
end // 开始
變數 [小数点位置 v] 設為 ((小数点位置1) + (小数点位置2))
變數 [计数 v] 設為 [0]
重複 (字串長度\( (乘积) \)) 次 
  變數 [计数 v] 改變 (1)
  新增項目 (字串中第 (计数) 字\( (乘积) \)) \( [乘积的每一位 v] \)
end
如果 <<(小数点位置) = [0]> 不成立> 那麼 
  添加 [.] 為第 (([乘积的每一位 v]的长度 :: list) - ((小数点位置) - (1))) 項\( [乘积的每一位 v] \)
end
如果 <<<(1负) = [y]> 或 <(2负) = [y]>> 且 <<<(1负) = [y]> 且 <(2负) = [y]>> 不成立>> 那麼 
  添加 [-] 為第 (1 v) 項\( [乘积的每一位 v] \)
end
變數 [乘积 v] 設為 (乘积的每一位 :: list)

參見