主题:写给真正想学编程的初级教程,从0起步!(2005-3-1更新)
qb45
[专家分:2880] 发布于 2006-04-30 00:34:00
写在教程前面的话
首先,读这个帖子的人是真正想学编程的,不一定是要学QBASIC,如果你只是为了书上的题目而来,请别问我,也别给我发邮件,也别在qq上加我!
很多初学编程的网友喜欢问这样的问题:
1 怎么才能学好编程?
2 编程需要E文和数学知识很优秀吗?
3 学了很长时间只会做题目,怎么在实际中用?
4 现在QBASIC能不能适应现在的编程要求吗?它对以后学习高级语言有没有什么大的用处吗?现在学习它是不是浪费时间呢?
我简单的讲讲自己的事情,让大家来参考!
我在学校学习成绩极其的烂,7门功课总分200多一点,连普通高中也没有考上,我当时的E文是蒙了20多分,数学好点,不过也没有及格,我比较喜欢的是物理!当时最喜欢看科幻小说,个人爱好非常广泛,喜欢弹吉他、拉二胡、吹笛子、练书法、还喜欢电子制作,而且都能拿得出手,最起码还有人跟我学,不过这些个人爱好在我的父亲眼里都是不务正业,他常说的就是“万般皆下品,唯有读书高”
现在回过头来我看应该是“万般皆下品,唯有文凭高”!现在社会状况是:如果你没有文凭就是有能力也没有用。
如果要学习动画制作,构建什么数学模型,工程上的应用这样的东西,那就非得数学厉害不可!
(有的人以为我知道QB的大部分语句,呵呵,其实我有时连些简单的语句的格式都不记得,这个可不是跟大家开玩笑,我写程序时碰到不知道用法的语句我就翻书或者是看QB自带的帮助,如果我要做个实用的程序,边做边就熟悉了一些语句的用法,,可做完就又忘记!), 除了QB别的编程语言我是不会的,就连VB我也不会,我在为自己申请专利的时候,要写个控制程序,就临时的看了VB的书,边看边写了3天把程序做好了,完了也就忘记VB了!我实际上会的是方法,怎样用编程解决问题的方法.
我还看到很多人在学BASIC的时候,讨论到底是学QB还是VB,学C的人讨论是学C还是学C++,或者是讨论C,QB,VB,VC,BC。。。。。等等这些语言如何如何,各执一词,弄得脸红脖子粗.....实际这些东西都有共通之处,我告诉你,别犹豫,别管什么,随便先弄个语言学习再说!不管什么语言都有判断循环这些基本东西!
至于现在QBASIC能不能适应现在编程开发的要求,这个问题很简单,Qbasic本身就不是用来做程序开发的,(注意,qbasic不是qb!)所以Qbasic不是开发工具!
也有人说学过QBASIC后感觉对后边学习的编程语言没什么用处,我想也对,学电脑这些东西关键是兴趣,如果你对qbasic没有兴趣,就别千万别学它,你对什么有兴趣就学什么,兴趣是学习的最好老师,请千万千万记住这一点!一定记住你对什么有兴趣就学什么,而且要坚持保持你始终有浓厚的兴趣,不能3分钟热情!
对于现在的QBASIC是不是一种好的基础的编程语言,对以后学习高级语言有没有什么大的用处,学习它是不是浪费时间的问题我是这样看,
:对于一个初学者来说,QB能很好的让你掌握一些编程的基本规则,比如循环,判断,什么的,对你学习别的语言有极大的帮助,如果一上来就学C,难度很大,选择这个语言也还得看你以后的职业选择,你也不一定出来就做程序员!再一个就是如果你对计算机的原理不能达到理解的深度,就无法真正的理解编程,如果你想详细的理解计算机的运作原理,不通过编程语言是无法来理解的!当然如果你做的不是和计算机底层,或者不是用软件直接控制硬件这样的操作,那就不很需要理解系统是如何运作的,比如象现在的win下的编程,你很轻易的做出一个程序,你并不需要知道,它是怎么来实现你的想法的,比如它是怎么把它显示到显示器,怎么判断鼠标的动作,怎么发出声音等等这些东西,如果只是作为一个win下编程开发人员,并不需要来了解,但是你如果偏偏对这些有个求知欲望,我想,你就不得不从上一层一层的往低层学,或者直接学!QB又是所有语言中最容易掌握的!学好了QB,别的语言就势如破竹了!
在电脑编程方面,没有什么绝对,没有什么做不到,受到限制只有你的思想!我看到过许多精彩绝伦的qb程序,我想如果你对计算机系统的理解也达到了那样的一个深度,编程对与你来说应该只是工具,算法也是,一个问题,你用A语言也是这样的思路,你用B语言也是这样的算法,这个就和武侠高手一样,什么兵器都可以用,威力都一样,只是个顺不顺手的问题
所以,我说了句自己的名言:掌握了一门编程语言,就是打开了一扇通往计算机内部的大门!
那么,怎样学习好编程呢 ??
第一 需要看你的兴趣,必须有浓厚的兴趣,浓厚到你吃饭,睡觉,走路做什么事情都会去想它,实际上学别的东西也应该如此,比如你学习一个乐器、书法等等什么的,学到废寝忘食、物我两忘的程度,在那些只喜欢吃喝玩乐的人来看他们也会认为你是个神经病........你只要做到这个了,其他什么因素都不大重要了!(当然,学习编程不一定要从QBASIC开始)。你别手里拿着编程的书,脑子里却想着:等会去网吧打游戏,去聊天,或者别的什么.做什么事情都要专一!
第二 就是要掌握学习方法,很多人学了语句不知道怎么把它弄在一起,想做个东西却无处入手,也有人一看书就挺明白的,可一到坐到电脑前手就不听使唤了,思想也短路了,一写程序就错,这个就是缺少上机锻炼恶果,一句简单的PRINT“OK”这个语句,你都必须要上机去实践一下,不要只停留在书本上,所以,我在教程里会从实际出发来教大家真正的应用,也希望大家能动手运行这些程序,可以直接复制到记事本,QB也支持纯文本格式!
第三 学会编程语言本身没有学会编程思想重要!切记切记!
第四 对于以后想做程序员的网友,学会应用基本的循环、判断......等等这些后马上转入别的语言,不要沾在QBASIC上!(真诚忠告)
第五 在写程序的时候一定要养成良好的习惯(别学我的坏习惯),我将另发帖介绍语言以外的东西
第六 不要怕程序运行出错,有了错误才能学到东西,学会调试程序非常重要,对所有语言都一样!
回复列表 (共6个回复)
沙发
qb45 [专家分:2880] 发布于 2005-03-01 14:47:00
教程一
QBASIC和QB的关系——
QB是QUICK BASIC的简称,是DOS时代的编程开发工具,QB是编译型的语言(QB版本到7.1专业板后就没有在出了)再就是VB了,DOS下也有个VBDOS,也是很方便的.
而QBASIC是DOS自带的一个解释型BASIC,因为DOS6.0版本的EDIT运行需要QBASIC,在以前的DOS6。22中带的有,还有以前的WIN95,WIN98的安装光盘中也有,那种D板的光盘中可没有,一般的就只有系统本身的安装文件,一般的QB语句都是能够在QBASIC上面运行的,但是有些低级的调用是不能在上面用的,这里所说的低级不是很差的意思,而是接近系统或者是硬件的调用,它能实现很强大的功能!
QBASIC和QUICK BASIC的界面和用法大致上都是一样的.
据说以后的计算机等级考试已经不用QBASIC了(有人就戏称QBASIC淘汰了),听到这个消息,我非常非常开心,因为以后再也不会有为了考试而学QBASIC的人来找我问书上的题目了,我希望真正学习的人来这里交流!
在看这篇文章的人,我假定你已经有了一个QB编程软件,而且写过一两句BASIC语句,并且运行过!
如果你还没有请去下载!
编写程序的步骤:
1、有个需要解决的问题
2、分析这个问题
3、制定计划
4、写程序
5、调试程序
6、发布测试
下面我们从头开始学习:
第一步当然是 启动qb拉
启动后的菜单中文意思见下图
[img]http://www.watermark.cn/hoker/bbs/UploadFile/200412221126033986.jpeg[/img]
然后 输入下面这个语句
PRINT OK
然后我们来运行这个语句来看看什么结果
[img]http://www.watermark.cn/hoker/bbs/UploadFile/2004122211321724112.jpeg[/img]
按F5键可以执行(按SHIFT+F5键也行),你也可以用鼠标把run菜单打开选择start来运行,运行会得到下面的结果
0
这是什么意思呢?
在PRINT OK这一句中 OK 是个变量,没有给这个变 量赋值,所以结果就是0
如果写成如下:
OK=5
PRINT OK
按F5键执行后,会得到下面的结果:
5
OK被赋值成5
如果写成如下:
INPUT OK
PRINT OK
按F5键执行后,会得到下面的结果:
?
屏幕上出现“?”提示符,是要求从键盘上把数输入给OK。
这时你键入23,回车后会得到下面的结果:
23
INPUT 语句格式:INPUT [“提示内容”;] 变量, 变量, 变量…
语句功能:当程序执行到这一语句时暂停,要求从键盘上输入一个数给这个变 量赋值,输入数后按回车键,程序继续运行。
如果你把OK用引号引起来
如: PRINT "OK"
运行后在屏幕上就会出现OK,凡是引号里的内容都会源源本本的输出!
如果我们想把结果输出到文件中而不是屏幕上,怎么办呢??
1、先打开文件 2、往文件中写相应的内容 3、 关闭文件
如下:
INPUT "请输入一个数 ";OK
PRINT "你输入的数是 ";OK
OPEN "TEMP.TXT" FOR OUTPUT AS #1
PRINT #1,"你输入的是",OK
CLOSE #1
你可以在WIN下用记事本打开TEMP。TXT 这个文件,就会看到你刚刚输入的数!
2、输出数据(写文件)
新文件写入记录
(1)PRINT#语句
格式:PRINT #<文件号>,<输出项>
例;PRINT #1,a;b;c
注意:逗号与分号的差别,与PRINT语句类似在对字符串存盘时,注意引入定界符3)CLOSE语句的功能是关闭已用的文件
CLOSE [#<文件号1>][,#<文件号2>]……
关闭由文件号指定的文件缓冲区,把在内存中的内容报存到瓷盘,如不指定文件号,则关闭所有已打开的文件。
例如:我们要做一个成绩单,把六门课的成绩保存到文件里.
步骤:1 打开建立一个文件 2 输入成绩 3 把输入的数据写到文件里 4 显示你的成绩单
OPEN "成绩单.TXT" FOR OUTPUT AS #1
PRINT #1,"6门课的成绩单"
FOR I=1 TO 6
PRINT "请输入第"; I; "门课的成绩__";
INPUT N
PRINT #1,"请输入第";I;"门课的成绩__",N
NEXT I
CLOSE
SHELL "NOTEPAD 成绩单.TXT"
这时就能看到你生成的文件了!
SHELL 可以调用外部的命令、程序 。 这个NOTEPAD实际上就是WINDOWS的记事本程序
板凳
qb45 [专家分:2880] 发布于 2005-03-01 14:49:00
教程二
我一开始讲文件的操作,是想通过学习文件的操作,你以后可以做很多事情,在电脑上的文件你想怎么弄都可以了,我看QB的文件操作在所有编程语言中是最方便、最简单、最强大的,而且和底成DOS中断很配合!
看到初学者有个误区,以为文件操作最难,实际上,这个放在最后一章,并不是最难,在我看来所有的都一样难,也都一样简单,最难的是书上没有讲的,可能写教材的人也不知道如何用,这个才难!
这里是关于OPEN 语句 的用法
格式:OPEN <文件名> FOR <读写方式> AS#<文件号>
<读写方式>:
OUTPUT:写数据,向文件输出;
INPUT:读数据,从文件读入;
APPEND:写数据:添加记录;
BINARY:以2进制方式打开,可以读,也可以写
<文件号>:即文件缓冲区号,每一个文件都要指定一个不同的文件号(1~225) 说明:
以OUTPUT方式打开文件,建立新文件,将删除已存在的文件。
以INPUT方式打开已存在的文件。
以APPEND方式打开文件,可在文件后面添加内容,不影响以前的东西
以BINARY方式打开文件,可在文件的任意位置读写
我们从下面这个例子来继续学习!
要求输出以下图形
*
**
***
****
*****
******
先看看书上的标准答案
FOR I=1 TO 5
FOR J=1 TO I
PRINT “*”;
NEXT J
PRINT
NEXT I
要分析这个程序,请先看看PRINT 的用法(print 如果不带分号是换行,带分号是紧奏输出,带逗号是隔几位输出,可以自己改改看看)
当I=1的时候里面的FOR循环一次,打印一个*号然后退出循环,
外面这个循环里的PRINT起换行的作用!
当I=2的时候里面的FOR循环2次,打印两个*号然后退出循环,
。。。。。。
这样就出来了!
在QB里面有个STRING的函数,STRING$S$=STRING$(n,x$)返回n个x$第一个字符组成的字符串
我们利用它可以只用一个循环就搞定!
FOR I=1 TO 5
PRINT STRING$(I,"*")
NEXT I
除了这些,很多方法能做出来
最好的就是这个
PRINT "*"
PRINT "**"
PRINT "***"
PRINT "****"
PRINT "*****"
这个好处只有真正来做一个程序时才能了解!
我写一个程序,最少有55%的时间在调试它!作为一个程序员,最希望自己的程序短小,精练,占用资源少,象这样代码少,还不要紧,如果程序规模大了,写得难看懂,是不利于调试和维护的,这个没有实践是不能体会的,各个方面得去平衡,我喜欢直接用语句显示出来.
我想这个谁都能看懂吧,也无须解释!
如果有个文本文件,内容就是这样
*
**
***
****
*****
******
我们可以用OPEN语句打开文件读出并打印来
如果没有这个文件,也可以编程弄一个!
程序如下:
OPEN "DEMO.TXT" FOR OUTPUT AS #1
FOR I=1 TO 5
PRINT #1, STRING$(I,"*")
NEXT I
CLOSE
运行以后就有了demo.txt这个文本文件,你可以在win里面直接打开看!
当然也可以自己编程读出并显示,如:
OPRN "DEMO.TXT" FOR INPUT AS #1
DO UNTIL EOF(1)
INPUT #1,RE$
PRINT RE$
LOOP
CLOSE
看到这里,大家就应该能自己用程序建立文件了!还有,你也能编程读电脑里的文本文件
我们来看个例子:题目要求写一个计算六门功课、让*号跑动、报警声这三个功能的程序!
编程思路是这样->把这3个相应的功能做成子程序,->然后根据选择执行相应的子程序!
这种编程的思想就是模块化编程
在你的主程序中是看不到子程序,按F2键可以看到所有的子程序
在qb中可以不用行号和GOSUB这样的语句来实现本功能,这样可以让自己的程序更加清晰!
PRINT "1 。计算"
PRINT "2 。*跑动"
PRINT "3 。报警声"
INPUT “请选择 1、2、3”,S$
SELECT CASE S$
CASE "1"
JISUAN '执行计算功能的子程序
CASE "2"
PAODONG '执行*跑动的子程序
CASE "3"
BAOJING '执行喇叭报警声的子程序
END SELECT
SUB JISUAN
'执行计算功能的子程序
FOR I = 1 TO 6
PRINT I; : INPUT "INPUT "; A
A = A + A
NEXT I
PRINT A
END SUB
SUB PAODONG
'执行*跑动的子程序
CLS
FOR I = 1 TO 79 STEP 1
LOCATE 12, I: PRINT "*"
SOUND 32767, 1
NEXT I
FOR I = 79 TO 1 STEP -1
LOCATE 13, I: PRINT "*"
SOUND 32767, 1
NEXT I
END SUB
SUB BAOJING
'执行喇叭报警声的子程序
FOR I1 = 1 TO 5
FOR I = 1 TO 100 STEP 1
SOUND 500 + I * 10, .5
NEXT I
FOR I = 100 TO 1 STEP -1
SOUND 500 + I * 10, .5
NEXT I
NEXT I1
END SUB
希望大家在自己的程序中也用这种缩进的方式,就象这个FOR循环
一般来说我们开始学习喜欢写成这样
1 FOR I = 100 TO 1 STEP -1
2 SOUND 500 + I * 10, .5
3 NEXT I
建议写成下面这样
FOR I = 100 TO 1 STEP -1
SOUND 500 + I * 10, .5
NEXT I
别的IF、DO、等等,这些语句都建议应该写成这样
提示(在你的主程序中看不到子程序,按F2键可以看到所有的子程序)
如果要自己建立子程序,可以在EDIT菜单中选择
[img]http://www.watermark.cn/hoker/bbs/UploadFile/2004122211403355272.jpeg[/img]
3 楼
qb45 [专家分:2880] 发布于 2005-03-01 14:57:00
教程三(菜单制作原理)
做菜单很简单,在下面我主要讲讲原理,这个也不需要什么高深的算法知识,但是又得去做,而且很多初学的人也不知道怎么做。
1、最简单的菜单选择(做了一个要显示的菜单后,用的是输入语句来判断你的选择 ),这个就象上面的帖子里一样
2、复杂一些的就是用键盘的上下键来选择菜单
我们来学习用键盘上的上下键来选择菜单
我就用文本下的菜单选择来举例说明这个方法!
做这个东西,思路上大致有这么几步
1,在屏幕上显示要选择的菜单项
2,一些初始化工作,把选择光条停在菜单的某一行中,记住这行
3,进入一个循环,对键盘进行捕捉(如果按的是下,就把行加一,如果是上就减一,如果按回车就退出循环)
4,先把旧的光条还原,再把光条停在新的行,(以前记住的旧行就更新)
5,根据选择执行相应的功能(最好用选择语句)
请看下面我给出的代码,自己漫漫分析
CLS
''用一个数组来定义这些个菜单(这样选择会很方便)
DIM MenuTxt$(4)
MenuTxt$(0) = "Menu Demo 1.0 XXX:_QB45"
MenuTxt$(1) = " 1. Test1 "
MenuTxt$(2) = " 2. Test2 "
MenuTxt$(3) = " 3. Test3 "
MenuTxt$(4) = " 4. Exit "
''在屏幕上显示菜单(如果标题用些彩色的话效果会很好)
COLOR 4
LOCATE 3, 25: PRINT MenuTxt$(i)
COLOR 7
FOR i = 1 TO 4
LOCATE 5 + i, 30: PRINT MenuTxt$(i)
NEXT i
''把光条停留在第一行,并且记住它(当燃你也可以停留在别的行,方便自己做成子程序)
Mx = 1 ' '这个是要停留的行 (在实用中最好定义成整数)
MxOld = Mx ' '这个是记住的行
COLOR 0, 7 ' '用颜色设置语句来加亮你要选择的行
LOCATE 5 + Mx, 30: PRINT MenuTxt$(1)
''进入一个循环判断
DO
WHILE k$ = "": k$ = INKEY$: WEND' '当键盘有键按就退出小循环
IF k$ = CHR$(0) + "P" THEN Mx = Mx + 1' '按的是下键就加1
IF k$ = CHR$(0) + "H" THEN Mx = Mx - 1
IF k$ = CHR$(13) THEN EXIT DO' '按回车就退出
IF Mx > 4 THEN Mx = 1' '超过4行光条就回到第一行
IF Mx < 1 THEN Mx = 4' '这里最大最小的行可以用个变量来定义会更方便
COLOR 7, 0' '把以前旧的行还原
LOCATE 5 + MxOld, 30: PRINT MenuTxt$(MxOld)
COLOR 0, 7' '显示新的行
LOCATE 5 + Mx, 30: PRINT MenuTxt$(Mx)
MxOld = Mx: k$ = ""' '把当前新的记住
LOOP
COLOR 7, 0
LOCATE 10, 5
''根据选择执行
SELECT CASE Mx
CASE 1
PRINT " You Select is ";
COLOR 29, 0
PRINT 1
CASE 2
PRINT " You Select is ";
COLOR 29, 0
PRINT 2
CASE 3
PRINT " You Select is ";
COLOR 29, 0
PRINT 3
CASE 4
PRINT " Exit Program "
END SELECT
COLOR 7
END
4 楼
qb45 [专家分:2880] 发布于 2005-03-01 15:15:00
我们来做个文件分割程序
这个程序网上遍地都是,所以我们就从这个简单的东西入手
不要说已经有了就不用做,关键是你没有,你没有做过!
通过做这个程序来锻炼一下自己!
用途:一个文件太大,用u盘装不下,或者上传时有的对大小有限制,总而言之,这个东西有用才有人做!
前期思路准备:把一个文件分成规定的大小,在这里可以自定义每个分割的大小,也可以规定分割的份数,在这里我们要学习一下有关文件操作相关的语句
我在真正开始做的时候就是从文件这个开始的,一个学dos编程的人必须对dos系统有所了解,一定要对路径这个概论很清楚,目前微软的操作系统在文件的管理上都是这个东西!
(1).OPEN 语句
格式:OPEN <文件名> FOR <读写方式> AS#<文件号>
<读写方式>:
这里我们只用二进制方式BINARY
<文件号>:即文件缓冲区号,每一个文件都要指定一个不同的文件号(1~225);
说明:
以BINARY方式打开已存在的文件,指针指向首记录;
(2)CLOSE语句
关闭已用的文件
CLOSE [#<文件号1>][,#<文件号2>]……
关闭由文件号指定的文件缓冲区,将内容存盘,如不指定文件号,则关闭所有已打开的文件;
(3)、GET#语句
格式:GET #<文件号> [,<地址>][,<记录变量>]
功能: 用于从文件中读一个指定地址的记录,赋给一个记录变量。
(4)、PUT#语句
格式:PUT #<文件号> [,<地址>][,<记录变量>]
功能: 将一个记录变量的内容写到指定地址的记录中去
(5)SEEK语句
格式:SEEK#<文件号>,<字节位置>
把指针移动指定地方
(6)LOF语句
格式:LOF<文件号>
获得文件的大小!
(7)EOF语句
格式:EOF<文件号>
判断文件是否到最后!
5 楼
qb45 [专家分:2880] 发布于 2005-03-01 15:15:00
积累了相关知识后我们来做下面的程序
先要得到一个要分割的文件名,用INPUT语句,或者自己指定一个都可以
用 INPUT filename$
或者 filename$ = "c:\MP3\2002.mp3"
获得文件名后用二进制方式打开它
OPEN filename$ FOR BINARY AS #1
用LOF语句可以得到文件的长度,大家可以先是是看,如果为0,那么可以判断这个文件不存在!
PRINT "这个文件大小为: ";LOF(1)
if lof(1)=0 then PRINT "没有这个文件"
在就是要确定要分割的大小了,这里,我用份数来确定要分割的大小,当然这个在使用中是不方便的,这里让大家自己去想想看!我只是给个思路
x = 10 '在这里我把这个文件分成10份
x1 = INT(LOF(1) / x) '得到每份的长度!
如果长度要自己输入来确定那么份数的就不可能是10份,用这个公式x=INT(LOF(1) / x1)
用两个循环来做分割,第一个循环是份数,第二个循环是每份的大小
FOR i = 1 TO x
file$ = LTRIM$(STR$(i)) '自动获得分割后的文件名
OPEN file$ FOR BINARY AS #2
FOR i1 = 1 TO x1
LOCATE 10, 10: PRINT i, i1
IF EOF(1) THEN PRINT "File Cut ok!!!!": END
GET #1, , r% '从要分割的文件读
PUT #2, , r% '写入要分割的文件
NEXT i1
CLOSE #2
NEXT i
现在我们把整个程序从新看一遍
cls
INPUT filename$
OPEN filename$ FOR BINARY AS #1
IF LOF(1)=0 THEN END
x = 10
x1 = INT(LOF(1) / x)
FOR i = 1 TO x
file$ = LTRIM$(STR$(i))
OPEN file$ FOR BINARY AS #2
FOR i1 = 1 TO x1
LOCATE 10, 10: PRINT i, i1
IF EOF(1) THEN PRINT "File Cut ok!!!!": END
GET #1, , r%
PUT #2, , r%
NEXT i1
CLOSE #2
NEXT i
在这里如果你要分割的是一个很大的文件,比如要分割一个mp3,可能得4\5分钟!
怎么半呢?
r%这个变量是一个整数,每次读写只有两个字节,当然慢,我们可以用字符变量来读写
例如R$=SPACE$(512)每次可以读写512个字节,如果用R$=SPACE$(1024)可以每次读写1024个字节,当然也可以只读写一个字节!
我丢了个砖头,剩下的有兴趣的自己去弄吧!
别只是做题目!
当然做题目也没有错!
6 楼
qb45 [专家分:2880] 发布于 2005-03-01 15:16:00
网上也有把一些把文本或者什么内容放到图象里的软件,很简单,比如你想把QQ号放到一个图象文件里,先用2进制方式打开,然后在一个位置写进去,还原的时候自己在这个位置读出来
大家可以自己是是做这个小软件!
设计程序:
先把要做的程序分成很多个模块,列成一个表,各个模块之间的关系要清楚!
写的时候一般首先考虑键盘和屏幕的布局,也就是要最先考虑界面!
在就是要考虑程序中的核心技术难题,如果不能解决就没有必要写程序!
写程序的时候也是调试程序的一个过程,我们不能保证程序能正确的出来你需要的结果,所以调试就狠重要了,一般可以一个模块一个模块的调试成功,然后装配!
需要输出的信息必须容易理解、整齐美观!必须考虑各种错误的情况!
未完待续(等有心情有时间再继续写)下面的显示16进制的程序不属于教程中的内容
'********显示16进制的原代码************
FILE$ = "QB.EXE"
OPEN FILE$ FOR BINARY AS #1
if lof(1)=0 then end '没有文件就结束
r$ = "1"
CLS
COLOR 4
PRINT " 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F"
PRINT
COLOR 7
PRINT " 0 ";
FOR I = 1 TO 104
GET 1, I, r$
Show$ = HEX$(ASC(r$))
IF LEN(Show$) = 1 THEN Show$ = "0" + Show$
PRINT Show$; " ";
IF I MOD 15 = 0 THEN PRINT : PRINT " "; I;
NEXT I
我来回复