- 注册时间
- 2005-11-27
- 最后登录
- 1970-1-1
|
BASIC初学者问答录和范例程序[1]
高手看这篇文章就是浪费时间,我是给初学者写的
[1]我想在屏幕上打字怎么办?
如在屏幕上打"WQX"
10 PRINT "WQX"
20 END (PS:END 是程序的结束语句,程序运行到此就不在运行了)
[2]我想在打字的时候那个光标不闪烁
10 GRAPH (PS:GRAPH是图形模式,此时光标会消失,还有其他方法暂且不说)
20 PRINT "WQX"
30 END
[3]我想在屏幕第五行打字
很多人在打到第五行时,就自动跳到第四行了,用LOCATE 这个语句同样也是
如我要在第五行打"WQX"
10 LOCATE 5,1 : PRINT "WQX"; (PSOCATE后的5,1是告诉系统我要在第五行的第一列打字,而且打完之后要在最后一个引号后打"分号;")
20 END (PSOCATE X,Y 文曲星正常字体在屏幕上是5行20列[半脚字符])
[4]示例程序:我要编一个把自己名字输进去,在打出来的软件
10 TEXT (PS:TEXT与GRAPH相对,输入TEXT后就有光标了,即转为文本模式)
20 INPUT "你叫什么名?";NAME$ (PS:注意,前面用的是INPUT而不是PRINT,INPUT就是从键盘输出的语句,可以打字,也可以打代词)
后面的NAME$,是我们自己随便起的名字,代表我们运行时输入的字符,意思是给NAME$赋了一个词语)
30 PRINT NAME$ (PS: 等待我们输入后在把它PRINT 出来)
40 END
[5]GOTO 语句
10 PRINT "WQX"
20 A$= INKEY$ (PS: A$=INGKEY$是读键值,在这里用做停顿,否则上句运行完后,不会停下来,而是继续运行下面的句子)
30 PRINT "NC3000"
40 A$= INEKY$
50 GOTO 10 (PS: 此时的GOTO是告诉系统运行到这的时候执行 GOTO 后行号的语句 GOTO 行号)
[6]CLS语句
(PS:此语句就是清屏,比如说在打下面这个语句的时候,屏幕打满的时候,不会清屏,会一直打下去,所以就要将第50行的改为 50 CLS : GOTO 10)
(PS:CLS后的冒号: 是表示运行下一个语句,节省了空间,不用换行)
10 PRINT "WQX"
20 A$= INKEY$
30 PRINT "NC3000"
40 A$= INEKY$
50 GOTO 10
[7]ASC
此语句就是求取字符s$中的ASCII码,例如作一个这样的程序
10 INPUT A$
20 PRINT ASC(A$) (PS: 这句就是打出A$的ASCII码,而不是打出A$这个字)
[8]INVERSE和NORMAL
10 INVERSE (PS:执行INVERSE屏幕反显语句)
20 PRINT "WQX"
怎么样,发现了什么?你会发现"WQX"这个字被反显了
但是如果你再打别的字时还是反显,可你想正常打出来字就需要用NORMAL
如:
10 INVERSE
20 PRINT "WQX"
30 A$= INKEY$
40 PRINT "HAHA!!"
50 PRINT "HEHE"
60 NORMAL
70 PRINT "WQX" (PS:此时,你会发现这时"WQX"就是正常显示的了,)
[9]REM 此语句后的文字对编程无效果,只是起着注释的作用
如
10 REM HAHA WQX
[10]RND : 产生0-1之间的随机数
如下面这个程序
10 X=RND(1) (PS:括号里的1是产生不同的随机数 X=RND(X) X的大小决定了每次打出随机数的形式)
20 PRINT X (PS:这里为何不是 PRINT "X" ,这两者是不同的,PRINT "X"是把"X"这个字母打在屏幕上,而PRINT X是把X所代表的数打在屏幕上,每个文曲星的PEEK值不同)
[11]PEEK\POKE\CALL
这三个系统函数很有用
比如下面这个语句
10 POKE 914,1 (PS: POKE 后面有一个914这是代表文曲星字体显示的地址,后面的1就是将914地址的值POKE成1,文曲星共有65535个)
20 PRINT "WQX!"
此时你会发现WQX!变成小字体了
再如
10 PRINT PEEK(914)
此时你会发现屏幕打出了PEEK地址914的值
PEEK,只能浏览
CALL我就不说什么了
这三个语句如果合理充分利用那对编程有极大帮助,如果乱用那后果就不堪设想了!!
有什么问题和想法跟帖说 |
|