易码技术论坛

 找回密码
 加入易码
搜索
12
返回列表 发新帖
楼主: coolmoon

[求助]原来一个高手做的,可是我没看懂

[复制链接]
发表于 2007-4-23 13:58:06 | 显示全部楼层
输入SIN(30)时,结果不对。
发表于 2007-4-28 09:25:47 | 显示全部楼层
这个问题我以前也发生过,就是因为basic刚开始就计算好了所有的偏移量,你在basic的使用范围内插入自己修改的内存值会导致偏移出现错误,最后还是在basic程序结束后的地方poke入内容,这样可以避免类似情况!
发表于 2007-4-28 17:06:18 | 显示全部楼层
呵呵,小CASE,程序没问题,大家看一看90和平共处130行,是不是发现K$="cos"和k$="-"时P都等于202,实际上K$="cos"时p=219.我把上面的改一下你们再试一下,我是高三学生了,我已经决定封机了。
90 P=(K$="SIN")*220+(K$="COS")*219+(K$="SQR")*215+(K$="ABS")*213
100 P=P+(K$="ATN")*222+(K$="INT")*212+(K$="LOG")*217+(K$="SGN")*211
110 P=P+(K$="TAN")*221+(K$="EXP")*218+(K$="")*0+(K$="")*0
120 IF P=0 THEN PRINT "ERROR":INKEY$:0 ELSE 150
130 P=(K$="+")*201+(K$="-")*202+(K$="*")*203+(K$="/")*204+(K$="^")*205
另外你们好好把程序检察一遍,不能出现什么语法错误。
 楼主| 发表于 2005-10-20 12:22:48 | 显示全部楼层 |阅读模式
以下是一个高手用BAS的计算器,但是我没看懂

0 GOTO 30
10 S=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
20 GRAPHRINT N$;"=";S:INKEY$
30 CLEAR:TEXT:INPUT "请输入计算式:";N$
40 W=8207
50 FOR I=1 TO LEN(N$)
60 K$=MID$(N$,I,1):O=ASC(K$)
70 IF NOT(O>64 AND O<91)THEN 130
80 K$=MID$(N$,I,3):I=I+2
90 P=(K$="SIN")*220+(K$="COS")*202+(K$="SQR")*215+(K$="ABS")*213
100 P=P+(K$="ATN")*220+(K$="INT")*212+(K$="LOG")*217+(K$="SGN")*211
110 P=P+(K$="TAN")*221+(K$="EXP")*218+(K$="")*0+(K$="")*0
120 IF P=0 THEN PRINT "ERROR":INKEY$:0 ELSE 150
130 P=(K$="+")*201+(K$="-")*202+(K$="*")*203+(K$="/")*204+(K$="^")*205
140 P=P+O*(P=0)
150 REM IF W>THEN P=0:120
160 POKE W,P:W=W+1
170 NEXT
180 POKE W,58:W=W+1OKE W,147:GOTO 10


谁能解释一下第10行是什么意思...
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

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

GMT+8, 2024-3-29 01:13 , Processed in 0.009748 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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