【离散数学】Java语言实现利用真值表法求主析取范式和主合取范式 |
您所在的位置:网站首页 › 合取范式和析取范式 › 【离散数学】Java语言实现利用真值表法求主析取范式和主合取范式 |
C++版本的看这个链接: 【离散数学】C++语言实现利用真值表法求主析取范式和主合取范式_zhtstar的博客-CSDN博客 Python版本的看这个链接: 【离散数学】Python语言实现利用真值表法求主析取范式和主合取范式 实验内容: 针对给定的包含任意个变量的真值表,编程实现用真值表法求取其所对应的主析取范式和主合取范式。 实验要求: 能够掌握通过真值表求取相应主析取和主合取范式的方法及原理。 先复习一下基本概念:或者直接跳到下面看源代码 1.主合取范式:若干个极大项的合取(交集)。例如: 2.主析取范式:若干个极小项的析取(并集)。例如: 3.极大项:就是包含全部数目的命题变元的析取表达式。例如:p∨¬q∨r 4.极小项:包含全部数目的命题变元的合取表达式。例如:¬p∧¬q∧r Java实现 源代码如下: package P3; import java.util.Scanner; public class 离散数学01 { public static void main(String[] args) { int length = 150; char[] arr = new char[length]; int[][] brr = new int[length][14]; int beg=80, sta1=0, sta2=0; int num = 0; System.out.print("输入变量的个数:"); Scanner sc = new Scanner(System.in); num = sc.nextInt(); int sum = (int)Math.pow(2,num); System.out.print("请输入"+sum+"个字符(用T或F表示):"); for (int i = 1; i = 0; i--) { cnt1 = 0; int val = i; while (cnt1 < num) { cnt1++; brr[cnt2][cnt1] = val % 2; val = val / 2; } cnt2++; } int h = 0; for(int i[]:brr){ for(int j:i){ h++; System.out.print(j+" "); if(h%14==0) System.out.println(); } } System.out.println("输出公式对应的真值表 :"); for (int i = 1; i |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |