數學式

數學式包含了許多數學運算,從基本的加減乘除,到四捨五入、平均值、中位數...等無所不包,不論是簡單的程式或複雜應用,一定會用到各式各樣的數學式運算。

打開 Webduino Blockly 編輯器 ( https://blockly.webduino.io ),展開左側目錄「基本功能」,點選「數學式」,可以看到對應的數學式積木。

Webduino Blockly 數學式積木

以下數學式積木的解說,將會使用網頁互動測試區域展示,打開網頁互動測試區,下拉選單選擇「顯示文字」,左側積木的目錄最下方會出現「顯示文字」相關積木,接下來將會使用這些積木來顯示數學式所運算的結果。

網頁互動測試 - 顯示文字

(積木) 數字

數字的積木用來讓我們輸入數字,可輸入整數或是帶有小數點的浮點數。

數字積木

(積木) 基本運算式

基本運算式積木包含了加 (+)、減 (-)、乘 (×)、除 (÷) 以及平方 (^),只要在空格處放入數字就可以進行運算。

運算式積木1 除以 5 就會等於 0.2

例如 1 除以 5 就會等於 0.2。

數學是積木 1 除以 5 顯示 0.2

3 的 6 次方就會等於 729。

數學是積木 3 的 6 次方顯示 729

如果會使用變數,也可以用變數來裝載數字進行相加,舉例來說變數 a 等於 3,變數 b 等於 6,變數 a 加上變數 b 就會等於 9。

變數積木裝載數字進行相加

(積木) 常用數學函數

除了數學式的基本運算,Blockly 還提供了壹些常用的數學公式積木。

數學函數積木

從下拉選單可以看到,常用數學公式包含以下幾種:開根號、絕對值、負數 (-)、對數函數 (ln)、log10 函數 (log10)、指数函数 (e^) 和 10 的幾次方 (10^)。

選取不同數學函數

舉例來說如果使用 10^ 後方接著數字 3,表示的是 10 的 3 次方,顯示出來就會是 1000。

顯示數學式結果

(積木) 三角函數

三角函數積木裡頭提供了兩種三角函數用法,分別是角度 ( sin、cos、tan ) 以及徑度 ( asin、acos、atan ),三角函數可以從下拉選單選擇切換。

三角函數積木

使用三角函數有個必較需要注意的地方,因為 JavaScript 網頁語言特性,有些小數點後方會變成 9999 循環下去,例如 sin(30) 應該等於 0.5,出來卻變成 0.49999...,所以有時候必須要用四捨五入的方式才能呈現我們想要的結果。

顯示三角函數數值

(積木) 常數函數

常數,顧名思義就是一個不會變動的數值,常數函數包含了以下幾個數值:圓周率 (π)、指數 (e)、黄金分割率 (φ)、sqrt(2)、sqrt(½) 和無限大 (∞)。

常數函數積木

如果我們直接將圓周率 (π) 顯示出來,結果就會是 3.1415926...

顯示圓周率

(積木) 數字判斷

數字判斷的積木主要是和「邏輯」積木搭配,可以判斷數字的類型是否符合對應的條件。

數字判斷積木

數字判斷的類型分別有:偶數、奇數、質數、非負整數、正值、負值和可被整除的。

選取數字判斷類型

如果輸入的數字符合判斷的類型,就會回傳「true」( 也就是「真」 ),否則會回傳「false」( 也就是「否」 ),舉例來說,如果設定 4 為奇數,就會顯示 false。

顯示數字判斷結果

如果和邏輯積木搭配,就可以判斷數字的類型,顯示對應的文字,以下面的例子來說,如果判斷 4 不是奇數得到的結果是 true,就顯示「答對了,是奇數」,如果得到的結果不是 true,就顯示「答錯了,是偶數才對」。

數字判斷搭配邏輯積木

(積木) 變數相加

變數相加的積木,就是在把原本的變數加上一個數字。

變數相加積木

假設有一個變數 a 原本的值是 5,使用變數相加 5 之後,得到的結果就是 10。

顯示數值

但如果這個變數是「文字」,得到的結果就會只有後方的數字而已。

顯示數值

如果在某些情形下,必須要把文字和數字相加成為一個字串,可以使用建立字串的積木來完成。

文字和數字相加成為字串

(積木) 小數點進位

小數點進位分成四捨五入、無條件進位以及無條件捨去三種,而在 Blockly 裡頭預設將小數點進位至「整數」。

小數點進位積木

如果需要「進位至小數點第幾位」,可以使用「進階功能 > 數值轉換」目錄裡的小數點進位積木,就可以進位至指定的小數點位數。

進位至小數點第幾位積木

除了使用數值轉換積木,也可以透過「基本運算式」的積木,手動做出「進位至小數點第幾位」,舉例來說,要把圓周率 π 四捨五入到小數點三位,必須先把 π 乘以 1000 變成 3141.926...,接著對這個數值四捨五入,四捨五入之後再除以 1000。

手動做出進位至小數點第幾位積木

組合上列的計算公式,執行之後得到的答案就會是 3.142。

顯示小數點進位結果

(積木) 列表運算

在面對「許多數據」的時候,常常會使用「列表」來裝載這些數字,而列表運算的積木,就是針對裝載數字的列表來做運算。

列表運算積木

列表運算得到的結果有以下幾種:總和、最小值、最大值、平均值、中位數、比較眾數、標準差、隨機抽取。

選取列表運算結果

如果有個列表裡的數字為 1、5、100,計算出的平均值就是 35.3333...。

顯示列表數字平均值

(積木) 取得餘數

只要是除不盡的數字且不用小數點表現,就會出現餘數,餘數積木的作用就是回傳餘數。

取得餘數積木

舉例來說 5 除以 3 的餘數就是 2。

顯示 5 除以 3 結果

(積木) 限制數字範圍

限制數字範圍積木可以將數字限制在指定的範圍中,如果太小就只會呈現範圍的最小值,太大就只會呈現範圍的最大值。

限制數字範圍積木

如果在限制範圍 1 到 100 的積木內,放入 200 的數字,最後顯示出來的數值就會是 100。

顯示限制數字範圍值

(積木) 取出範圍內的隨機數

我們可以指定一個數字範圍,從這個數字範圍內取出隨機的整數,因為是隨機的,所以每一次執行取得的數字都可能會不同。

取出範圍內的隨機數積木

舉例來說如果取得 1 到 100 之間的隨機數,結果就可能會是 55。

顯示取出範圍內的隨機數值

(積木) 取出隨機分數

使用隨機分數積木,會隨機產生 0 到 1 之間的浮點數。

取出隨機分數積木

執行之後,就可以看到顯示出浮點數,如果想讓小數點好看些,可以使用四捨五入的積木來轉換。

顯示取出隨機分數值