Re: [問題] if是不是函數

看板PLT (程式語言與理論)作者 (ggg)時間14年前 (2010/09/29 10:50), 編輯推噓6(603)
留言9則, 5人參與, 最新討論串5/10 (看更多)
※ 引述《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 不同, 詮釋會因而有異, 還是講好適用範圍會比較好.

09/29 10:53, , 1F
越來越熱鬧了這串
09/29 10:53, 1F

09/29 11:41, , 2F
很慶幸我的想法有部份可以博得他人類似的看法.
09/29 11:41, 2F

09/29 11:58, , 3F
p->q當然可以可以寫成function的形式。但我爭論的重點是C語
09/29 11:58, 3F

09/29 11:59, , 4F
言的if,或有些網友定義的if,不是邏輯學上講的if。
09/29 11:59, 4F

09/29 12:00, , 5F
事實上p->q的boolean equation是p'+q,也可寫成function的形
09/29 12:00, 5F

09/29 12:01, , 6F
式f(p, q) = p'+q。我從頭到尾沒有否定這一點。
09/29 12:01, 6F
p -> q 是數學或邏輯上的 implied function , 不是程式語言裡的 if (p) then do {q} 這種 conditional branch instruction (statwment). ※ 編輯: ggg12345 來自: 140.115.4.12 (09/29 12:08)

09/29 12:15, , 7F
g大,我相信你也懂這分別。我那些話是講給別人聽的。
09/29 12:15, 7F

09/29 23:27, , 8F
推.
09/29 23:27, 8F

10/20 05:35, , 9F
媽 我在這裡
10/20 05:35, 9F
文章代碼(AID): #1Cegc80u (PLT)
討論串 (同標題文章)
文章代碼(AID): #1Cegc80u (PLT)