作者ggg12345 (ggg)
看板PLT
標題Re: [問題] if是不是函數
時間Wed Sep 29 10:50:46 2010
※ 引述《zxvc (眾生都是未來佛)》之銘言:
: ※ 引述《yauhh (喲)》之銘言:
: : <cut />
: : C 的 if 意思確實是這樣子. 對同一個事實q而言,p是true,q就跟著是true.
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 這句話就錯了。
: p q p->q
: 1 0 0
: 0 0 1
: p是true,q沒有跟著是true。
: [恕刪]
==============================================================================
如果針對 C 程式語言來講, 前面已有網友提到 if(a) 跟 function procedure foo(x)
形式雖同, 但其實不稱為 function statement 而是被指定為特定的 keyword 稱為
if statement.
在程式語言上, if(a) 不會被 compiler 認定為這是一個 function statement.
===========================
如果是一段片段程式
input x;
if (x > 0) then y=x else y=-x ;
output y;
這片段程式 敘述了 input x 與 output y 的關係, y 對 x 的結果符合
數學上的下列 y=fun(x) 函數關係:
-- x , x > 0;
fun(x) = :
:
-- -x , x < = 0;
這個片段程式 代表一個 function block ; y = fun(x) 的等效計算敘述.
===================================================================
input output
-----------------------
p q | fun(p,q)
===================
0 0 | 1
0 1 | 1
1 0 | 0
1 1 | 1
符合此真值表關係的 功能(函數) fun(p,q) 被稱為 p -> q implied function.
fun(p,q) 在此 當然是符合數學上函數的關係.
Note: p q 是 fun(p,q) 的 輸入 (是自變數, 不是依變數) 不是 輸出.
=======================================================================
流程圖對 decision block 的說法是 conditional branch , 因條件不同而改
變執行次序, 執行不同的 statement.
if (condition .EQ. true) then s1 else s2;
實況是程式語言的 if statement 由 conditional brach 基本指令來實現.
若是 procedure oriented PL , branch 指明的是執行時的次序步驟.
=======================================================================
View point 不同, 詮釋會因而有異, 還是講好適用範圍會比較好.
1F:推 purpose:越來越熱鬧了這串 09/29 10:53
2F:推 yauhh:很慶幸我的想法有部份可以博得他人類似的看法. 09/29 11:41
3F:推 zxvc:p->q當然可以可以寫成function的形式。但我爭論的重點是C語 09/29 11:58
4F:→ zxvc:言的if,或有些網友定義的if,不是邏輯學上講的if。 09/29 11:59
5F:→ zxvc:事實上p->q的boolean equation是p'+q,也可寫成function的形 09/29 12:00
6F:→ zxvc:式f(p, q) = p'+q。我從頭到尾沒有否定這一點。 09/29 12:01
p -> q 是數學或邏輯上的 implied function , 不是程式語言裡的
if (p) then do {q} 這種 conditional branch instruction (statwment).
※ 編輯: ggg12345 來自: 140.115.4.12 (09/29 12:08)
7F:推 zxvc:g大,我相信你也懂這分別。我那些話是講給別人聽的。 09/29 12:15
8F:推 VictorTom:推. 09/29 23:27
9F:推 subnet:媽 我在這裡 10/20 05:35