作者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