离散数学与计算机编程(一)

命题函数
                                 author:misko_lee


global var:设含有变量的命题是命题函数,记作P(X)(P(X1,X2,Xn))(若无说明,本系列全部以单变量函数为描述方式)。则有:
1.∀xP(x)表示该命题论域的合取。
2.∃xP(x)表示该命题论域的析取。


Content:


上面的定理在计算机中的描述可以表示为。


exp1:∀xP(x)


bool function fcn(x){
//the var x is a array type.


foreach(value as x){
if(value==false)
return false;
}
return true; //if the value as x all equal true.the function return true;
}


exp2:∃xP(x)


bool function fcn(x){
//the var x is a array type.


foreach(value as x){
if(value==true)
return true; //if the array x has a true value.the function return true.
}
return false; //if all false.return false;
}


上面介绍了全称变量和存在变量的意义。现在我们将一个稍微复杂的组合命题用计算机语言描述出来。


exp3:对于学校的每一个学生而言,他有台计算机或者有个有计算机的朋友。(例子来自于《离散数学及其应用》)。
设命题函数C(X)表示X有台计算机。
命题函数F(X,Y)表示y是x的朋友。
我们将该命题用离散语言描述出来为



我们将该命题用离散语言描述出来为
∀x(C(x)∨ ∃y(C(y)∧F(x,y)))

计算机中描述为
struct x{
bool computer; //if has the var equal true
x[] friends; //x’s friends
}

function C(x){ //the fucntion return value from x.computer
if(x.computer==true)
return true;
return false;
}

function F(x){ //foreach he’s friends
foreach(f as x->friends)
if(f==y&&C(y))
return true;

return false;
}

function main(x){ //the main function;
if(C(x)||F(x))
return true;

return false;
}
欢迎讨论,如有疑问Email:misko_lee@hotmail.com

转载于:https://www.cnblogs.com/miskolee/archive/2012/12/02/2798592.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值