gpt4 book ai didi

basic - 在 BASIC 中,是否有一个函数可以返回 DATA 语句中常量的长度或计数?

转载 作者:行者123 更新时间:2023-12-01 13:11:44 24 4
gpt4 key购买 nike

例如,这在 FOR/NEXT 循环中很有用。我意识到 BASIC 的标准情况很粗略。我不是在寻找确切的答案,只是在寻找可能包含此功能的 BASIC 的任何版本更新:我应该提到我已经编写了一个 BASIC 编译器,我想知道是否有 BASIC 方言提供了这个内置函数。我在一些微型计算机中添加了 MAX_DATA() ,它看起来类似于 MAX_ROW/MAX_COL 。第一个答案是没有此功能的解决方法..

最佳答案

这个问题基本上有两种解决方案,其中只有一种涉及使用 For/Next。另一个涉及使用 Do/Loop。

一种方法是将数据元素的个数作为第一个数据元素,即

DATA 10,A,B,C,D,E,F,G,H,I,J

READ Num
DIM D$(Num)
FOR I = 1 TO Num
READ D$(I)
NEXT I

选项二是使最后一个数据项具有唯一性,然后检查值。它可以是数字或字符串,随您喜欢。例如,如果您正在阅读价格,负数可能表示列表结束。请注意,在这种情况下,您要么需要具有 REDIM PRESERVE 的能力,要么需要将数组的尺寸设置得足够大以处理您需要的最大数量,或者您需要一次处理一个数据元素。 (或者您需要通读列表两次,一次以确定数量)。

DATA 1.50, 2.95, -1
NumEls = 0
DO
READ Num
IF Num < 0 THEN
EXIT DO
END IF
NumEls = NumEls + 1
IF NumEls = 1 THEN
DIM P(1)
ELSE
REDIM PRESERVE P(NumEls)
END IF
P(NumEls) = Num
LOOP

关于basic - 在 BASIC 中,是否有一个函数可以返回 DATA 语句中常量的长度或计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59548000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com