首页 QBasic教程(全)

QBasic教程(全)

举报
开通vip

QBasic教程(全) BASIC Qbasic 教程      BASIC(Beginner’s All-purpose Symbolic Instruction Code 的缩写,意为初学者通用符号指令代码)语言是在1964年由美国的两位教授Thomas 和John G.Kemeny在Fortran语言的基础上设计的语言系统,这个简单、易学的程序设计语言当时只有17条语句,12个函数和3个命令,现在一般称其为基本BASIC。     BASIC语言自诞生起,几十年间,经过世界和地的微机生产厂家的不断扩充和完善,先后出现了许多版本,I...

QBasic教程(全)
BASIC Qbasic 教程      BASIC(Beginner’s All-purpose Symbolic Instruction Code 的缩写,意为初学者通用符号指令代码)语言是在1964年由美国的两位教授Thomas 和John G.Kemeny在Fortran语言的基础上设计的语言系统,这个简单、易学的程序设计语言当时只有17条语句,12个函数和3个命令,现在一般称其为基本BASIC。     BASIC语言自诞生起,几十年间,经过世界和地的微机生产厂家的不断扩充和完善,先后出现了许多版本,IBM-PC及其兼容机上用的BASIC和GWBASIC.这些不同版本的BASIC语言并不兼容,在很大程度上依赖于具体的硬件,这些BASIC语言都是非结构化的,一般称其为第一代BASIC。70年代初,提出了结构化程序设计思想,BASIC语言的两位创始人Thomas 和John G.Kemeny于1985年推出了BASIC语言的新版本TrueBASIC,意思是说这才是真正的BASIC,以区别于各微机生产厂家自行开发的“街头BASIC”,它既保留了BASIC语言原有的简单,易学的特点,又使其成为结构化的程序设计语言,开创了BASIC语言的新纪元,属于第二代BASIC。     目前,比较流行的第二代BASIC还有Microsoft公司于1986年推出的Quick BASIC(快速BASIC)和Borland公司于1987年推出的TurboBASIC(增强BASIC),尤其是Quick BASIC提供了集编辑、调试、编译、运行于一体的集成环境,具有下拉菜单、多窗口及在线帮助功能,并和以前IBM-PC机上的各种BASIC版本保持兼容。     进入90年代,Microsoft公司研制的Windows视窗软件问世之后,微软公司又开发了一个在Windows下运行的、面向对象的Visual BASIC(可视BASIC,即图形界面式的BASIC),称为第三代BASIC,Visual BASIC与Quick BASIC完全兼容,有Quick BASIC编写的程序不经修改就可在Visual BASIC下运行。属于第三代BASIC语言的还有GFA-BASIC和CA-Realizer。     今天的BASIC语言与最初的BASIC语言相比,无论是在功能上,还是在使用方法上,已经发生了巨大的变化,再也不是当初所谓的“初学者通用符号指令代码”了,但BASIC无论怎样变化,始终保持其简单、易学的特点,拥有最广泛的用户。     1991年6年,伴随着MS-DOS 5.0的推出,微软公司也同时推出了QBASIC,并作为MS-DOS 5.0的一个组成部分免费提供给用户。现在的MS-DOS 5.0及其以上版本都含有QBASIC。QBASIC与Quick BASIC完全兼容,是Quick BASIC的简化版本,除不能编译及减少了初学者暂时用不着的一些调试方法外,具有Quick BASIC的大部分功能。QBASIC采用解释方式,是一种会话式的语言,编写的程序可以立即运行并得到结果。 由于QBASIC、Quick BASIC都是Microsoft公司开发的,BASIC语言保持着高度的兼容性和良好的继承性,在学习QBASIC的基础上,可以很容易地掌握和使用Quick BASIC。另外,QBASIC只有两个文件QBASIC.EXE和QBASIC.HLP,用一张360K字节的软盘就可以存放下,无论是使用,还是维护、管理都很方便,所以,QBASIC是最适合初学者学习和掌握的程序设计语言。 Qbasic 教程  第一章 BASIC语言概述 一、程序设计语言的选择   程序是用来实现算法的。   1、应用范围     .数值计算(科学计算)      FORTRAN 、True BASIC、QBasic     .商业和管理                    COBOL、数据库系统(dBASE、FoxBASE、Foxpro)     .人工智能                   Lisp、ProLog                .系统设计                     C语言、C++、                    .多媒体(图、声、文技术)                      Visual BASIC                    .计算机网络                    分布处理数据库系统:SYBASE、ORACLE       WWW文件:HTML(Hyper Text Markup Language)、Java                  2、语言所提供的功能强弱   3、语言提供的数据结构                   数据类型   4、语言的使用环境                   DOS、WINDOWS、UNIX、NOVELL                  5、程序设计环境      集成环境(菜单功能)、图形界面、软件开发工具                  6、使用者的背景                   熟练程度、使用环境               二、BASIC语言的发展                   .BASIC语言于1964年问世      作者:John.G.Kemeny 和 Thomos E.Kurtz     .Beginner's All-purpose Symbolic instruction Code"    1、初期的BASIC(第一代)                    .14——17个语句,Minimal BASIC                    .自己操作(输入、运行、修改、输出    2、微机BASIC(第二代)      .Microsoft总裁Bill.Gates编写只有4k字节的解释程序                    .TRS-80 BASIC                   .Apple BASIC                   .MSBASIC(BASICA)                   .GWBASIC              3、结构化BASIC(第三代)                   .限制GOTO语句,程序模块化                 .True BASIC   真正的BASIC        .Quick BASIC                   .Turbo BASIC                   .QBasic(DOS5.0以上)     4、面向对象的BASIC                  .windows环境下的Visual BASIC,图形界面,支持多媒体.                  三、QBasic的特点      QBasic是结构化的程序设计语言,与第二代BASIC相比有如下特点:              1、扩充了变量和常量的类型              .变量名长度:40个字符              .增加了长整型、定长字符型变量              .可定义数值常量、字符串常量              2、提供了新的选择结构               .条件语句                 IF  <条件>  THEN                 <语句组1>               ELSE                 <语句组2>               END IF              .多分支语句SELECT              3、改进了循环结构               增加以下两个循环语句:              .WHILE循环                WHILE <条件>                  <循环体>                 WEND               .DO循环                DO WHILE <条件>                  <循环体>                 LOOP              4、子程序和函数作为单独的模块      5、不需要行号    6、具有良好的编辑环境    7、提供联机“Help”    8、提供“分步执行”“跟踪”等调试    9、采用先进的解释执行方式      10、与Visual BASIC完全兼容          四、QBasic使用环境    1、启动            .在DOS状态下运行QBASIC,如: F:\>QBASIC                   .在WIN98下双击QBASIC图标;      .软盘启动             把QBASIC系统文件(QBASIC.EXE、QBASIC.HLP) 复制到A盘,再执行:A:\>QBASIC    2、工作窗口           .程序窗口(上)           .命令窗口(下)           .两窗口之间的切换F6 3、基本操作           光标、行列位置、鼠标指针、菜单、窗口的缩放         五、运行程序    1、从键盘输入程序    2、运行程序         .选择菜单RUN中的“Start"命令         .直接按F5键或Shift+F5         .在命令窗口中输入run命令    3、修改和编辑源程序         删除、插入、复制、粘贴    4、程序存盘和从磁盘读入程序    5、退出QBasic   Qbasic 教程   第二章 QBasic程序设计初步 一、概述   程序设计要掌握如下几点:     1、语法规则                            计算机是忠实的执行者    2、根据算法写出程序                             掌握算法,会画流程图    3、数据结构      数据的组织形式     4、结构化程序设计方法                            掌握三种基本结构的运用     5、程序运行的环境        了解计算机系统的硬件和软件配置 程序设计=算法+数据结构+程序设计方法+语言工具和计算机环境  二、源程序结构     1、一个程序由若干个语句行组成,每一行称为一个语句行,一行中可以包含多个语句(语句间用“:”号相隔)。    2、语句行可以没有行号,程序按语句排列的顺序依次执行,但也允许有行号,行号仅作为行标号(源程序转移的目标)而不代表执行顺序。      3、语句结构        <语句定义符> [<语句体>]                          (关键字)   4、程序以END语句结束      可以有多个END语句,一般放在程序的最后。    5、行标号                            .行的标志                            .只能在一行的开头                            .可独占一行(即为空语句)      6、主程序与子程序                            一个程序只包含一个主程序,但可包含若干个子程序或函数。  三、常量        常数——不变的数   常量——不能改变的数据     1、数值常量(常数)        1)整型常量(整数)                       由若干个数字组成的序列          2)实型常量(实数)          .定点数(日常记数法) 小数位固定       .浮点数(科学记数法) 用E代表以10为底的幂数,即把常量用指数形式来表示       例如:12.34E2表示1234                       .单精度实数(普通型实数)——7位有效数字            .双精度实数——16位有效数字(用D代替E)                     3)数的范围             类型       标记符  字节  有效位数                    整数         %    2            长整数        &    4                    单精度定点数     !   4     7                单精度浮点数     E    4     7              双精度定点数    #    8    15                双精度浮点数     D    8    15                               2、字符串常量     用双引号把若干个合法字符括起来,如:               "QBasic"      "abc123"                                               3、符号常量                                            CONST  <符号>=<常量>              例如:CONST  pi=3.14159            四、变量               可改变的量,如:                let a=1                let a=2.3                let a=45.9                print a                end                             1、变量名和变量的值                                   1)变量名规则               .变量名的第一个字符必须是字母                     .变量名中第2个字符及其后的字符可以是字母、数   字或小数点             .变量名的长度范围为1-40个字符             .表示变量类型的符号应作为最后一个字符             .QBasic的保留字不能用作变量名.             .变量名中的大小写字母等效             .变量名中不可有空格              2)变量的名与值                变量名——符号地址               变量值——存储 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容               系统自动生成变量名与内存地址对照表              2、变量类型                                   1)变量名后加类型定义符                                  %——整型(INTEGER)             &——长整型(LONG)            !——单精度实数(SINGLE)            #——双精度实数(DOUBLE)            $——字符串(STRING)                                   2)DIM语句              DIM <变量名> as <类型>             .<变量名>不加类型符             .用DIM定义了的变量其末尾加或不加类型定义     符都是合法的且都表示同一变量            3)字符串变量             .可变长字符串变量               a$="abcde"               a$="1234567"             .固定长度的字符串变量           例如:  DIM a as string*5                a="China"                a$="Shanghai"                PRINT a,a$                END            运行结果如下:            Shang        Shang              课本P78表4.3列出了变量的类型定义方法及占用的内存量           五、标准函数                                .课本P80表4.4列出了最常用的一些数学函数         .课本P361第13.4节列出了QBasic的所有函数                                      标准函数——类似数学函数y=f(x)       例如:计算x+y的平方根  SQR(x+y)          计算sin(a+b)    SIN(a+b)         六、运算符和表达式    QBasic的三种运算:算术运算、关系运算、逻辑运算       1、算术运算符        加    +    4+5   =9        减    -    8-3   =5        乘    *    2*3   =6        除    /    5/2   =2.5        整除   \    5\2   =2          求余  MOD  5 MOD 2  =1        乘方   ^    2^3   =8    注:对于整除和求余运算,若参与运算的数不是整数,则先按四舍五入的原则变成整数后再运算。        2)算术表达式        .QBasic表达式         用运算符和括号将若干运算量(包括常量、变量、函数等)连接起来的式子。(例4.1)       .算术运算符的优先顺序:      括号—正负号—函数—乘方—乘、除、整除—余数—加、减        .表达式的写法       表达式应写出在同一行,注意分式的写法。     Qbasic 教程  第三章 顺序程序设计 程序的执行次序,从上到下,由一些非控制转移语句组成  一、输出语句     输出用户所需的信息                                                          1、一般格式                                           PRINT [<表达式>]  表达式—常量、变量、函数                                              如: PRINT  2,4,6                                 PRINT "X=";X                                 显示:                              X= ...    2、作用                                                           (1)输出数值计算的结果(P92)                                    (2)输出字符串(P93)                                            (3)输出系统信息(P94)                                  3、输出格式                                                       (1)标准格式—输出项以逗号分隔                                           五区—每区14列                                                      (2)紧凑格式—输出项以分号相隔                            (3)TAB(X)—第X列        定位输出,但在同一行中、TAB(X)中的X应从左到右逐渐增大。还可利用SPACE(X)插入空格         (4)PRINT <....>, 不换行(光标到下一区)                         PRINT <....>; 不换行(光标在输出项后)                       PRINT <....>  换行                           PRINT      空行    4、打印输出                                       LPRINT                                           其使用方法与PRINT相同 二、赋值语句    1、一般格式     [LET]<变量名>=<表达式>                                   LET  a=100                           LET  a$="BOOK"                                 2、作用                                                         计算右边的表达式,将其值赋给左边变量;           主要作用:运算。                                                              “=”的作用于是赋值,与等于的差别                             如:X=Y 与 Y=X 不同(例P100)           3、对变量的赋值操作                           (1)变量的初值为0                                        未赋值的变量     (2)一个变量只有一个值                                    变量的当前值由最后一次赋值决定                             n=n+1                           (3)变量值的传递        a=b  b的值不变                           b=a  a的值不变     (4)关于赋值类型        以左边变量的类型为准                       (5)两个变量交换值         a=b                              c=a                              a=b  c为中间结果为?/font>           b=c                                              三、键盘输入语句                1、一般格式:                                          INPUT[“提示信息”;]< 变量表>                                          说明:(1)执行该语句从键盘输入数据的数目应与语句    中的变量个数相同                     (2)从键盘输入的数据只能是常量                         (3)输入时数据间用逗号分隔                                   例:求学生三门课的平均成绩        INPUT "a,b,c=";a,b,c                                  V=(a+b+c)/3                               PRINT "average="; v                           END                                                                                  四、读入语句                                            1、格式: READ <变量表>                            DATA <数据表>                        例:READ a,b,c,                             DATA 75,60,90                        V=(a+b+c)/3                         END                                          2、说明:                  (1)<数据表>中的数据个数不能少于<变量表>      中的变量个数。                        (2)DATA语句可放在程序的任何位置,可使用     多个DATA语句来存放数据,这时将按DATA       语句的先后顺序,把数据放数据区。        (3)关于“数据指针”当指针移到数据区之外       时,屏幕给出错误信息:        Out of DATA   (例P109)                     (4)DATA语句中的数据只能是常量                                         五、恢复数据指针语句                                                RESTORE                                    将数据指针移至首位或指定的DATA语句标号。                                                              六、结束语句和暂停语句                                                                 1、END语句                                            结束程序运行。一个程序可有多个END语句,但运行程序时,只有一个起作用,即执行其中一个END语句都会使程序结束。                                 2、STOP语句                                 使程序暂停,选择RUN-CONTINUE继续运行。                      七、程序调试                                  1、分步执行                              F9—单步执行,STEP                                     F6—窗口转换,WINDOWS                                      F5—运行或继续运行。                                  2、设置断点                                     F9—设置断点     F5—运行或继续运行   Qbasic 教程  第四章 选择结构程序设计 一、概述    分支结构:                                                  二、关系式和逻辑表达式   1、关系运算符                      < 、 >、 =、 <=、 >=、 < >    2、关系式                     关系式是由一个关系运算符把两个表达式连起来的式子。结果(值)为逻辑值:                        真 True    假 False                         QBASIC用数值表示: 真: -1(非零值)                              假: 0                       if x< >0 then print x和if x then print x 相同                                      3、逻辑运算符及逻辑表达式       (1)、not (非、逆、取反)                                   7>4 值为真                                       not (7>4) 值为假                   (2)、and (与、交)                     所连接的两个关系式为真时条件成立。        x>0 and x<10     (3)、or (或 、并)                        所连接的两个关系式中有一个(以上)为真,则条件成立。                                                   X> 10 or X<0                         集合表示        A and B    A or B     not A                                   4、逻辑表达式的运算规则                                                       5、运算次序(优先级别)                          算术运算—关系运算—逻辑运算(例P123)                          关于逻辑表达式结果:                          x=6>4                          print x         x=-1                          a=5=3 =>a=(5=3)     a=0                      三、行IF语句                                     1、一般格式                        if <条件> then <语句1> [else<语句2>]                                               2、嵌套关系                                            (1)if…then if…then…else…else              内层                              外层                                    (2)if…then if…then…else if …then…else               四、块if语句                        1、一般格式                         if <条件> then                            <语句组1>                          [else                         <语句组2>]                       end if                      2、应用举例   例6.5: 输入3个整数、按从大到小的顺序输出。                                     算法:                      (1)先将a与b比较,把小者放b中,大者放a。                  (2)再将a与c比较,把小者放c中,大者放a中,此时 a 已是三者最大的。                       (3)最后将b与c比较,大者放b中,小者放c中,此时 a、b、c已按从大到小的顺序排例好。                程序:                            inpnt "a,b,c,=";a,b,c          if b>a then             t=a                              a=b    交换a、b(swap a,b)           b=t                            end if                        if c>a then             t=a                              a=c   交换a、c(swap a,c)           c=t                            end if             if c>b then             t=b                              b=c   交换b、c (swap b,c)                 c=t                            end if          print a, b,c              end                                        3、块if的嵌套                    if then                            …                     if then          …                     else                              …                     end if                            …                   else                            …                   end if                                                   4、块IF中的ELSEIF格式        if  then          …                    else                              if then           …                      else           …                      end if                            end if                      写成:  if  then                           …                  elseif then       …                  else                           …                  end if                      P125 改写为:                           Input "m=";m      If m<100 then        d=0                          elseif m<200 then        d=0.01      elseif m<300 then        d=0.02      elseif m<500 then        d=0.03      elseif m<1000 then        d=0.04      elseif m<2000 then        d=0.05      else                            d=0.08      end if                          a=m*(1-d)                          print "amount=";a      end                      五、多分支选择语句                           用嵌套的IF语句可实现多分支选择                  1、基本格式                  select case <变量>        case <值1>                              <语句组1>        case <值2>                              <语句组2>        …                  case <值n>                              <语句组n>        case else                              <语句组n+1>      end select                        每一个CASE句中指定一个值条件,当CASE变量的值符合条件时,执行该子句下面的语名组,在执行完该语句组后,跳过其它CASE子句,从END SELECT转出。                c=int(s/250)             2、在CASE子句中使用TO                 CASE <值1> TO <值2>                   3、在CASE子句中使用IS               CASE IS <关系运算符> <表达式>           4、在CASE子句中使用多个条件             允许在一个CASE子句中指定多个条件,各条件   之间用逗号分开。              条件=单值、值范围、单条件                5、SELECT CASE语句的一般格式              select case <测试表达式>        case <条件11>,<条件12>,…          <语句组1>        case <条件21>,<条件22>,…          <语句组2>        …                   case <条件n1>,<条件n2>,…          <语句组n>        case else                              <语句组n+1>      end select          六、多分支转移语句                    格式:ON <算术表达式> GOTO <标号1>,<标号2>,…           七、多分支选择结构小结           1、IF-THEN-ELSE(用IF的嵌套)            分支(条件)较少时使用。           2、SELECT CASE            分支(条件)较多时使用。          3、ON GOTO            非结构化程序设计,不宜使用。     Qbasic 教程  第五章 循环结构程序设计 一、概述                                                              循环结构:                            (1)、WHILE循环                            (2)、FOR循环                            (3)、DO循环                             循环体——反复执行的一组语句                             例:求s=1+2+3+...+100                             编写如下程序:                            s=0                            for i=1 to 100                             s=s+i     反复执行100次                            next i                            print "1+2+3+...+100=";s                            end                                                二、WHILE循环结构               WHILE  <条件>                                 <循环体>                                 WEND                             注: <条件>是终止循环的逻辑表达式,<条件>应随循环的执行而变化,最终退出循环。                             如: s=0                               i=1                               WHILE  i<=100    s=s+i                               WEND                             构成“死循环”——无终止的循环。这时可用Ctrl+Break终止其程序运行。                             例1(P152例7.5): 如果我国工农业生产每年以12%速度增长,问多少年后产值翻一番:基值设为100。 (逐年计算产值,看是否达到200)     p=100     r=.12     n=0                                WHILE p<200       p=p*(1+r)       n=n+1     WEND     PRINT n; "years","p=";p     END                             例2 (P152例7.6) : 给出两个正整数,求它们的最大公约数。                             算法:(辗转相除法)                               (1)、以大数m作被除数,小的数n作为除数,相除后余数为r。                             (2)、如果r=0,则n就是最大公约数。否则将n=>m, r=>n, 重复(1)。                          程序及框图 :                                INPUT "m,n=";m,n     r=m MOD n      WHILE  r < >0        m=n        n=r       r= m MOD n                   WEND     PRINT "最大公约数为:",n      END                             例3 (P153例7.7):给一个整数n(>2),判别它是否素数(质数)。                             算法:判别n是否素数,只要将n被1~(n-1)各数轮流作除数除,若都不被整除,则为素数。                            若n不是素数,则n=n1*n2,而n1和n2中必然有一个大于或等于n的开方根,另一个小于或等于n的开方根。 即若n是非素数,则必然有一个因子小于或等于n开方根。                         程序及框图:                          INPUT  "n="; n k=INT(SQR(n)) i=2                            flag=0                           WHILE i<=k AND flag=0   if n MOD i=0 THEN flag=1 ELSE i=i+1 WEND                           IF flag=0 THEN  PRINT n;"是素数!" ELSE                             PRINT n;"不是素数!"  END IF                            END                            二、FOX循环结构  1、格式                        FOR <变量>=<初值> TO <终值> STEP <增量>    循环体   WEXT <变量>   如: for i=1 to 10 step 2       print i,      next i                            2、说明                          (1)FOR与NEXT必须配对;                          (2)FOR必须在NEXT的前面;                          (3)FOR中的循环变量与NEXT的变量一致;                          (4)步长为1时“ STEP 1”可省略;                          (5)循环终止的条件是循环变量赋值超过终值,而不是等于终值。                          (6)循环次数的计算                             次数=(终值一初值)/步长+1                          (7)循环变量尽量用整型变量;                          (8)循环变量初值和终值、步长值均可以是正值、负值或零,也可是整数或小数;                          终止条件:当步长>0时,循环变量>终值                              当步长<0时,循环变量<终值                              当步长=0时,永不终止                          (9)循环变量主要用来控制循环、可在循环体内引用,也可不在循环体出现
本文档为【QBasic教程(全)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_149732
暂无简介~
格式:doc
大小:276KB
软件:Word
页数:63
分类:互联网
上传时间:2013-09-12
浏览量:323