What kind of BASIC is this?
我完全预料到投票会被否决,但这让我很好奇,我希望至少有人能回答。我们的离散数学教授非常喜欢使用老语言,因为它们提供了大量的位运算符。现在,他给了我们一个家庭作业,用来确定以下基本陈述的输出:
我已经解决了它,我非常确定它应该输出-105,但我想编译它只是为了确保。然后我发现我正面临一个问题。我不知道这是什么基础!原始基本语言的编译器未能编译它。QBasic编译器未能编译它。一个vb.net编译器未能编译它,即使在我将它修改为我认为应该是vb.net的语法之后,仍然如此:
问题是:是否有一种基本的分类或方言,在这种语言中,一个程序可以编译这种语句?如果是,哪一个?
这在"原始"的Microsoft Visual Basic中有效。vb.net版本不完全兼容。
最简单的方法是使用Visual Basic for Applications,您可以在Microsoft Office中找到它。实际上,表达式的计算结果是
可能还有其他一些基本的方言可以很好地工作-PowerBasic可能是其中之一,但我不能真正检查:)
在不知道老师的背景的情况下,辨别准确的方言是很困难的——有很多这样的方言,很多都非常相似。
也许您的教授以这种形式专门提供了这个问题,作为一个挑战来分析解决它,而不是通过将代码输入编译器。这不是一个复杂的表达。
均无EQV也不是小鬼已经支持基本功能了(MS总是向后兼容!).
要验证您的答案,您应该使用函数定义并手动解决它。
如果不能做到这一点,有趣的是,它仍然在VBA中得到支持。您可以在大多数MS Office套件应用程序中找到隐藏的VBA。
对我来说,这似乎是一个VBA语法。
可能您可以在MS Excel宏中试用它。
1 2 3 4 5 |
因此,从方程中去掉eqv和imp,并将其建立回:
1 2 3 4 5 6 7 |
解决你的问题。
其他布尔真值表:
1 2 3 4 5 6 7 8 |
基本布尔真值表示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | X EQV Y Computes NOT XOR X IMP Y Computes NOT(x AND NOT y) Boolean truth tables: X | NOT X | Y | OR X | Y | AND ----------- ----------------- ------------------ 1 | 0 1 | 1 | 1 1 | 1 | 1 0 | 1 1 | 0 | 1 1 | 0 | 0 0 | 1 | 1 0 | 1 | 0 0 | 0 | 0 0 | 0 | 0 X | Y | XOR X | Y | IMP X | Y | EQV ------------------ ------------------ ------------------ 1 | 1 | 0 1 | 1 | 1 1 | 1 | 1 1 | 0 | 1 1 | 0 | 0 1 | 0 | 0 0 | 1 | 1 0 | 1 | 1 0 | 1 | 0 0 | 0 | 0 0 | 0 | 1 0 | 0 | 1 |