给一个命题公式 求出它的主合取范式和主主析取范式 写出极小项 极大项 用c语言实现
时间: 2023-06-13 09:04:37 浏览: 130
假设命题公式为 p ∧ (q ∨ r),则它的主合取范式为 (p ∧ q ∧ ¬r) ∧ (p ∧ ¬q ∧ r)。
它的主析取范式为 (p ∨ q ∨ r) ∧ (p ∨ ¬q ∨ r) ∧ (p ∨ q ∨ ¬r)。
极小项为 p ∧ q ∧ ¬r、p ∧ ¬q ∧ r。
极大项为 p ∨ q ∨ r、p ∨ ¬q ∨ r、p ∨ q ∨ ¬r。
以下是用 C 语言实现的代码:
```c
#include <stdio.h>
int main() {
int p = 1, q = 0, r = 1;
int mh1 = p && q && !r;
int mh2 = p && !q && r;
int md1 = p || q || r;
int md2 = p || !q || r;
int md3 = p || q || !r;
printf("主合取范式:(%d ∧ %d ∧ ¬%d) ∧ (%d ∧ ¬%d ∧ %d)\n", p, q, r, p, q, r);
printf("主析取范式:(%d ∨ %d ∨ %d) ∧ (%d ∨ ¬%d ∨ %d) ∧ (%d ∨ %d ∨ ¬%d)\n", p, q, r, p, q, r, p, q, r);
printf("极小项:%d ∧ %d ∧ ¬%d、%d ∧ ¬%d ∧ %d\n", p, q, r, p, q, r);
printf("极大项:%d ∨ %d ∨ %d、%d ∨ ¬%d ∨ %d、%d ∨ %d ∨ ¬%d\n", p, q, r, p, q, r, p, q, r);
return 0;
}
```
阅读全文