编程实现存在量词和全程量词真值的计算。使用c语言来实现该如何处理,如何去编译
2条回答 默认 最新
- threenewbee 2023-04-16 12:44关注
#include <stdio.h> #include <stdbool.h> #define MAX_LENGTH 1000 // 判断命题中是否包含特定的变量 bool contains(char* proposition, char var) { for (int i = 0; proposition[i] != ‘\0’; i++) { if (proposition[i] == var) { return true; } } return false; } // 判断一组真值下命题的真假 bool isTrue(char* proposition, bool* truthValues) { for (int i = 0; proposition[i] != ‘\0’; i++) { if (proposition[i] >= ‘a’ && proposition[i] <= ‘z’) { // 如果是变量,则根据真值数组中该变量对应的值判断 int index = proposition[i] - ‘a’; if (truthValues[index] == false) { return false; } } } return true; } // 计算存在量词真值 bool existQuantifier(char* proposition, char var, bool* truthValues) { // 先判断命题中是否包含该变量,不包含则返回false if (!contains(proposition, var)) { return false; } // 枚举该变量的真值,其中存在任意一个真值使得命题为真即返回true bool temp[MAX_LENGTH]; // 临时存储一组真值 for (int i = 0; i < 2; i++) { int index = var - 'a'; truthValues[index] = (bool)i; if (isTrue(proposition, truthValues)) { return true; } } return false; } // 计算全称量词真值 bool universalQuantifier(char* proposition, char var, bool* truthValues) { // 先判断命题中是否包含该变量,不包含则返回true if (!contains(proposition, var)) { return true; } // 枚举该变量的真值,其中存在任意一个真值使得命题为假即返回false bool temp[MAX_LENGTH]; // 临时存储一组真值 for (int i = 0; i < 2; i++) { int index = var - 'a'; truthValues[index] = (bool)i; if (!isTrue(proposition, truthValues)) { return false; } } return true; } // 测试 int main() { char proposition[MAX_LENGTH]; scanf("%s", proposition); bool truthValues[MAX_LENGTH] = { false }; char quantifier = proposition[0]; char var = proposition[1]; // 根据量词类型进行真值计算 switch (quantifier) { case 'E': if (existQuantifier(proposition + 2, var, truthValues)) { printf("True\n"); } else { printf("False\n"); } break; case 'A': if (universalQuantifier(proposition + 2, var, truthValues)) { printf("True\n"); } else { printf("False\n"); } break; default: printf("Invalid quantifier\n"); break; } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 1
悬赏问题
- ¥15 下图接收小电路,谁知道原理
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探