2012年2月22日 星期三

Data Flow Programming #3

計算三角形面積的程式

承上篇,這次我們來寫個計算三角形面積的程式。

首先,我們建立一個 Blank VI,然後在 Front Panel 上利用 Numeric Control 和 Numeric Indicator 設計一個像這樣子的人機介面:

 image
▲ 計算三角形面的人機介面

這時候 Block Diagram 會出現三個對應的 Terminals:

2012-01-19 20h53_16

接著在 Block Diagram 工作區域上的任何位置點滑鼠右鍵打開 Functions Palette,點選 Numeric Palette:

image_thumb[1]

然後在 Block Diagram 上放一個 Multiply 和 Divide 的 Function:

2012-01-19 21h00_27 

如果你還記得話,我們在小學數學課上學過,三角形面積的計算公式為: 三角形面積 = 底 x 高 / 2。所以,我們先用接線將底和高接到 Multiply function 的輸入端:

2012-01-19 21h01_23

接著把 Multiply function 的輸出接到 Divide function 的輸入:

2012-01-19 21h01_43

把滑鼠移到 Divide function 上,按 Ctrl + H 可以叫出 Help 視窗,你會看到 Divide function 的說明:

2012-01-19 21h02_54

從 Divide function 的說明可以知道,Divide function 有兩個輸入端 x 和 y,上面是 x,下面是 y,而輸出是 x /y。所以現在我們要建立一個常數 2 作為除數 y,首先在 y 點上按滑鼠右鍵:

image

然後點選 Create > Constant:

2012-01-19 21h08_58

輸入 2:

2012-01-19 21h10_29

完成之後,再把 Divide function 的輸出接到面積:

2012-01-19 21h11_59

這樣程式就完成了。

執行程式

一開始底、高和面積都是 0:

2012-01-19 21h13_55 

把底設為 10,高設為 5,執行程式後,就會自動算出面積等於 25:

2012-01-19 21h14_13

動動腦

打開 Controls Palette,找出 Numeric > Vertical Pointer SlideNumeric > Thermometer

image
▲ (1) 是 Vertical Pointer Slide (2) 是 Thermometer

請利用 Vertical Pointer Slide 和 Thermometer 寫一支華氏溫度轉攝氏溫度的程式。華氏轉換攝氏的公式為:

攝氏 = (華氏 – 32) * 5/9

你可以參考下圖設計人機介面。如果華氏為 77 度,執行程式後,應該會得到攝氏等於 25 度:

2012-01-19 21h26_29

如果華氏為 53.6 度,執行程式後應該會得到攝氏等於 12 度:

2012-01-19 21h27_00

提示:這個題目會用到 Substract, Multiply 和 Divide 三個 functions。另外,不管是 Vertical Pointer Slide 或 Thermometer,它們預設都不會有數位顯示:

2012-01-19 22h47_36

如果你想要數位顯示,只要打開這兩個物件的 property window,然後勾選 Showdigital display(s) 即可:

image
▲ Show digital display(s)

0 意見: