易码技术论坛

 找回密码
 加入易码
搜索
楼主: laugj

[GVBASIC]出错分析->讨论

[复制链接]
发表于 2005-2-2 15:34:00 | 显示全部楼层
FN 在大于8k的文件中会出错。
 楼主| 发表于 2005-2-2 17:16:00 | 显示全部楼层
FN吗?不怎么用到过它
发表于 2005-2-2 22:41:00 | 显示全部楼层
是的,MATHTOOL的几何版就只好8K了.
发表于 2005-2-8 18:01:00 | 显示全部楼层
为什么有的程序在pc1300中提示:next without for error in 100
可是这个程序这个位置并没有使用for 循环
 楼主| 发表于 2005-2-9 10:40:00 | 显示全部楼层
100 有NEXT吗?

你把代码发上来

[此贴子已经被作者于2005-2-9 10:41:13编辑过]

发表于 2005-2-10 19:44:00 | 显示全部楼层
其实,最容易出错的就是用多了GOSUB。。。。。。

呵呵!!

也要多用些POP哦!

可惜PC1000的POP语句有BUG。。。。用了就死机。。。。。
 楼主| 发表于 2005-2-10 20:16:00 | 显示全部楼层
哎,PC1000还存在啊........    XD
发表于 2005-3-25 11:42:00 | 显示全部楼层
我很菜,能不能说一下APPEND和RANDOM的一些区别?
还有为什么把多个数据组存到一个文件里就会出错呢?
例如:
a$(1)="aaa":a$(2)=”bbb":b$(1)="ccc":b$(2)="ddd"
open "bbdt" for output as #1
write #1,a$(1),a$(2),b$(1)=,b$(2)
等会显示b$(2)时却是AAA
         
 楼主| 发表于 2005-3-25 11:58:00 | 显示全部楼层
NC2600下测试没有出错
楼上注意,用完OUTPUT需要使用CLOSE关闭文件
你仔细在检查一下程序,这个没错,不过楼上多添了个=
发表于 2005-3-26 13:12:00 | 显示全部楼层
10 N =1:X =1:I =1
20 S$ ="Al2(SO4)3"
30 WHILE I <=LEN(S$)
40 IF MID$(S$,I,1) ="(" GOTO 50  ELSE GOTO 90
50 K =I
60 WHILE ( MID$(S$,K,1) <>")")
70 K =K +1
80 WEND
90 K =K +1
100 FOR Q =K  TO LEN(S$)
101 IF K <LEN(S$) THEN K =K +1  ELSE GOTO 140
110 TEMP$ =MID$(S$,K,1) +TEMP$
130 NEXT Q
140 I =I +1
150 WEND
160 X =VAL(TEMP$)
170 FOR I =1  TO LEN(S$)
180 IF ( ASC( MID$(S$,I,1)) >=65) AND ( ASC( MID$(S$,I,1)) <=90) THEN NY =NY +1
190 NEXT I
200 DIM ENAME$(NY): DIM ENUM(NY):NYN =1
201 FOR I =1  TO NY
202 EMUN(I) =1
203 NEXT I
210 FOR I =1  TO LEN(S$)
220 IF ( ASC( MID$(S$,I,1)) >=65) AND ( ASC( MID$(S$,I,1)) <=90) GOTO 230  ELSE GOTO 280
230 ENAME$(NYN) =MID$(S$,I,1)
240 NYN =NYN +1:K =I
250 IF ( ASC( MID$(S$,K +1,1)) <=122) AND ( ASC( MID$(S$,K +1,1)) >=97) GOTO 260  ELSE GOTO 280
260 ENAME$(NYN -1) =ENAME$(NYN -1) +MID$(S$,K +1,1)
280 IF ( ASC( MID$(S$,K +1,1)) <=57) AND ( ASC( MID$(S$,K +1,1)) >=49) GOTO 290  ELSE GOTO 300
290 ENUM(NYN -1) =VAL( MID$(S$,K +1,1))
300 NEXT I
310 FOR I =1  TO 3
320 PRINT ENAME$(I);ENUM(I),
330 NEXT I
帮我看一下
我想把元素名和数字打出来
但是老是没有对
我知道是乱用GOTO的错
但我太菜了,不知道怎么修改
请各位帮忙
发表于 2005-3-27 15:06:00 | 显示全部楼层
关于BASIC的一点小问题
我的机子是TC 1000 不知到别的机子是不是也这样                              
在打开一个顺序文件A(数据类型,其中有多个数据),然后创建一个顺序文件B,并读取A中的数据,如果直接写入B中就不会出错,但对A中数据进行+  -  *  /  等操作后再写入B中,就会出错
例如已下程式
10 OPEN  ‘A’ FOR  OUTPUT AS#1
20 FOR  A=1  TO 100
30 WRITE #1,A
40 NEXT:CLOSE #1
50 OPNE  ‘A’ FOR  INPUT AS#1:OPEN  ‘B’ FOR OUTPUT AS#2
60 FOR  A=1 TO 100
70 INPUT#1,X:Y=X+500:WRITE#2,Y
80 NEXT:CLOSE #1:CLOSE #2
90 END
当再打开文件B时,会发现B里没有100个数据,而是少于100个,有的数据连到了一起,结果被算作了一个
不知道是怎回事
      
zzz 该用户已被删除
发表于 2005-4-2 09:02:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2005-4-2 11:51:00 | 显示全部楼层
楼上的第2个情况实在不可能吧,我认为是1啊,我wqx被同学剥削了,n天没见到我的文兄了,下午试试
发表于 2005-4-3 18:20:00 | 显示全部楼层
我用nc2600c试了,果然是这样,想不到这种错误都有!
发表于 2005-4-8 14:27:00 | 显示全部楼层
poke 地址,数据
是不是,每个地址,都对应每个数据都有意思?
 楼主| 发表于 2005-4-8 23:03:00 | 显示全部楼层
楼上的,我汗,有些地址是系统用的变量
有些地址是堆栈
有些地址是程序
有些地址是IO端口
有些地址是ROM
有些地址是空闲区域
汗....怎么回答你
LeLige 该用户已被删除
发表于 2005-4-18 11:03:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2005-4-18 12:26:00 | 显示全部楼层
彼此彼此[em05]
发表于 2005-4-18 22:39:00 | 显示全部楼层
那个可能不算bug  可能是浮点精度的问题
100/100.00000001<1

可能是这样子的
 楼主| 发表于 2005-4-19 11:41:00 | 显示全部楼层
为什么是100.00000001~~~~~?
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-27 03:54 , Processed in 0.013776 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表