【问题标题】:What is the pound/hash symbol for in BASIC?BASIC 中的英镑/哈希符号是什么?
【发布时间】:2013-11-20 01:10:55
【问题描述】:

所以,我正在为一个学校项目苦苦挣扎,我有一个在 PALM 上编程的 BASIC 代码,我需要将它翻译到 LabView,所以首先我将代码翻译为伪代码,但我已经以前从未使用过 BASIC,所以我遇到了一些问题。

到目前为止,我知道:VariableName# = 15,表示变量的类型是双精度数,并且可以在数字的右侧使用它来将其转换为双精度,例如 VariableName# = 15#

我的代码上也有:OPEN "LPT1" FOR OUTPUT AS #1,打开在 COM1 上找到的串行端口,并将其命名为“LPT1”

但是几行之后我发现了这个,我不知道它应该做什么:

225 FOR J = 1 TO 6000: PRINT #1, 40; : NEXT J
226 FOR ZZ = 1 TO S9: PRINT #1, 41; : NEXT ZZ

我知道 FOR 语句是如何工作的,但它应该打印什么?

PS:这是一个太阳能定位系统。

编辑:S9 是在程序开始时定义的,它是 450。

【问题讨论】:

    标签: basic


    【解决方案1】:

    第 225 行和第 226 行正在打印到映射到行式打印机 1 的 #1(例如并行端口,通常是 centronics 连接器)

    OPEN "LPT1" FOR OUTPUT AS #1
    

    接下来,十进制的 40 和 41 分别是 ()。所以它正在格式化这些符号并将其打印到您的打印机。

    【讨论】:

    • 所以它基本上是打印( 6000 次,然后)450 次?找不到原因,这是一个奇怪的代码
    • 我想是的。它可能适用于在非常特定的打印机型号和纸张尺寸上制作格式良好的输出。
    • 我刚刚在太阳能跟踪器的手册上找到它,40 使太阳能跟踪器的高度下降,而 41 使其上升,所以它将太阳能跟踪器发送到它的零位。谢谢!
    【解决方案2】:

    我认为发生的情况是它在该端口上输出 40 6000 次(有关 BASIC 中的文件输出,请参阅 link),然后是 41。不确定 S9 是什么。

    LPT1 通常是并行端口,COM1 是串行端口,所以可能会出现问题。

    来自同一链接:

    打印 #

    PRINT # 命令将数据写入文件 - 数据写入 编号跟在“#”之后的文件。该命令的工作方式类似于 PRINT 命令,除了将信息发送到文件而不是 打印到屏幕上。声明

    【讨论】:

    • 对不起,我以为是59。S9在开始时定义为450
    【解决方案3】:

    所有打印 #1 意味着它将输出您从该点到 #1 所做的任何信息,在您的情况下是“LPT1”,此打印之后的任何内容都将输出到它,直到出现“关闭 #1"

    至于 S9,我相信这将是在程序某处设置的变量。尝试在代码中使用 CTRL-F 在程序的其他位置找到 S9。 如果您使用 GW-Basic 作为解释器,请输入 'save "NAME.txt",a' 以获取文本文件。 我可以假设它会转化为的唯一另一件事是 对于 ZZ= 1 到(无穷大)第 9 步,这是不现实的,但会使其计数为 9,直到它不再计数为止。

    【讨论】:

      猜你喜欢
      • 2012-03-26
      • 2022-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多