看板 PLT 關於我們 聯絡資訊
※ 引述《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 不同, 詮釋會因而有異, 還是講好適用範圍會比較好.
purpose:越來越熱鬧了這串 09/29 10:53
yauhh:很慶幸我的想法有部份可以博得他人類似的看法. 09/29 11:41
zxvc:p->q當然可以可以寫成function的形式。但我爭論的重點是C語 09/29 11:58
zxvc:言的if,或有些網友定義的if,不是邏輯學上講的if。 09/29 11:59
zxvc:事實上p->q的boolean equation是p'+q,也可寫成function的形 09/29 12:00
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)
zxvc:g大,我相信你也懂這分別。我那些話是講給別人聽的。 09/29 12:15
VictorTom:推. 09/29 23:27
subnet:媽 我在這裡 10/20 05:35