网站建设公司软文wordpress附件扩展格式
任务描述
 相关知识
 实验用例
 实验原理和方法
 编程要求
 测试说明
 任务描述
 本关任务:用命题逻辑推理的方法解决逻辑推理问题。加深对命题逻辑推理方法的理解。
相关知识
 为了完成本关任务,你需要掌握:1.命题符号化,2.命题推理。
实验用例
 根据下面的命题,试用逻辑推理方法确定谁是作案者,写出推理过程。
 (1)营业员A或B偷了手表; 
 (2)若A作案,则作案不在营业时间; 
 (3)若B提供的证据正确,则货柜未上锁; 
 (4)若B提供的证据不正确,则作案发生在营业时间; 
 (5)货柜上了锁。
实验原理和方法
 1、符号化上面的命题,将它们作为条件,得一个复合命题。
 定义命题变元如下:
 p: 营业员A偷了手表       q: 营业员B偷了手表
 r: 作案在营业时间       s: B提供的证据正确
 t: 货柜上锁
 则条件符号化为:
 (1)p∨q
 (2)(略,自行补充)
 (3)(略,自行补充)
 (4)(略,自行补充)
 (5)(略,自行补充)
 2、将复合命题中要用到的联结词定义为C语言中的逻辑运算,用变量表示相应的命题变元。将复合命题写成一个逻辑表达式。
 例如 p∨q 对应C语言中的p∣∣q。
 3、编写程序利用穷举法找出pqrst的一组赋值使得逻辑表达式成立。若p=1则表示A作案,q=1则表示B作案。
编程要求
 根据提示,在右侧编辑器补充代码,计算并输出p、q、r、s、t的值。例如,10111
测试说明
 平台会对你编写的代码进行测试:
开始你的任务吧,祝你成功!
/** step3.c* 
利用命题逻辑求解实际问题* *///p∨q   p->!r  s->!t  !s->r t
//p||q   p==!r||!r=0 s==!t||!t=0   !s==r||r=0   t
//p||q&&p&&!r&&s&&t&&!s&&r&&t
//01101
#include <stdio.h>int main(int argc, char **argv)
{int p,q,r,s,t;//在下面Begin和End之间补全代码
/*********** Begin ***********/for(p=0;p<2;p++)for(q=0;q<2;q++)for(r=0;r<2;r++)for(s=0;s<2;s++)for(t=0;t<2;t++){if((p||q)&&(!p&&r)&&(!s&&t)&&(!s&&r)&&t){printf("%d%d%d%d%d",p,q,r,s,t);}}/*********** end ***********/return 0;
} 
