QBASIC程序设计

QBASIC程序设计

BASIC是英文Beginner’s All-purpose Sybol——初学者通用符号指令代码。BASIC语言是一种常用的高级程序设计语言之一。目前比较流行的BASIC语言版本有True BASIC、Turbo BASIC、 QBASIC、GWBASIC。本讲义仅介绍QBASIC。

BASIC语言基本知识与要求

1、QBASIC语言的基本知识:

QBASIC语言的基本特点;

常量、变量、字符串、算术表达式的概念;

数的表式方法及范围;

语句的基本格式;

顺序、选择、循环结构的程序设计;

程序设计的基本步骤。

2、QBASIC语句:

LET INPUT PRINT END IF FOR DO WHILE REM 3、算术运算符、关系运算符与逻辑运算符:

+、—、*、/、\、MOD、^

=、>、=、

AND、OR、NOT

4、流程图的基本符号;流程图的作用。

5、循环语句

循环变量、循环体、循环初值、循环终值、步长的概念;循环语句的基本格式。

6、常用函数

数值函数

INT(X)、ABS(X)、SQR(X)、RND(X)、

SGN(X)、SIN(X)、COS(X)、TAN(X)

字符串函数(了解)

ASC、LEN 、TAB(X)、VAL、LOG(X)、STR$、CHR$、 LEFT$、RIGHT$、 MID$

7、数组及其应用(了解)

下标变量、一维、二维数组的概念;数组说明语句

第一章 BASIC语言基础

第一节 QBASIC的环境

1、 QBASIC的进入

用QBASIC语言编写程序,首先要进入QBASIC集成环境。QBASIC主要由QBASIC.EXE和QBASIC.HLP两个文件组成,按照教师的要求进入指定的位置,运行QBASIC.EXE后,屏幕上会出现一个如图1-1的对话框:

图1-1

直接单击“确定”按钮,便进入

QBASIC的集成环境,其界面如下图2-2

再按“Esc

”键即可取消屏幕中央的对话框,进入图1-3所示的主屏幕。

图1-2 图1-3

屏幕被分成了四部分:顶端的“菜单栏”,中部的“编辑窗口”,下部的“立即窗口”及底部的提示行。

菜单栏列出了QBASIC提供的所有功能。用鼠标单击菜单的标题,或按一下“Alt”+标题的首字母都可以打开功能菜单,比如Alt+F可以打开File菜单。各功能菜单的功能是:

编辑窗口是输入、修改程序的地方。

立即窗口是可以用来直接执行QBASIC的命令,输入一行按回车后,这个命令就立即执行了,比如是显示命令PRINT 2*5,按回车后在输出屏幕上就立即显示结果10。

同一时刻只能在一个窗口中输入程序或命令,光标在哪个窗口,输入的内容就在哪个窗口。可以按“F6”在编辑窗口和立即窗口之间进行切换。

2、 程序的输入、编辑和运行程序

输入:启动QBASIC后,在编辑窗口有一个闪烁的“_”号光标,输入字符或数字后,光标会自动向后移动,输入完一行后按回车,光标回到下一行首,你可以继续输入下一行内容了。

在编辑窗口中,一次只能输入并运行一个程序。因此,在输入下一个程序前要先点“File”下的“Save”保存现有程序,再点“File”下的“New”新建一个程序。

编辑:在输入程序的过程中,如果发生输入错误可以随时修改,常用的键盘编辑命令进行修改,与文字处理软件中的方法类似。(程序中大小写不会影响程序的执行,并且,程序会把各语句的关键词自动变为大写,这样在录入时最好用小写字母,可以检查是否把关键词录入错误)

小技巧:在录入时,可以用“?”来代替PRINT。 运行:把程序输入、修改完毕后,点“Run”菜单中的“Start”命令或按Shift+F5键,程序即可运行。

第二节 常量、变量与标准函数

一、常量、变量的类型及其表示方法

1、数据类型

BASIC语言中可以使用许多种类的数据, 从数据的内在本质可分为数值型和字符型两大类;从数据的存储形式可分为常量和变量。在程序执行过程中,具体本身始终不变的量,称为常量。

数值型常量就是我们日常生活中经常使用的常数,分为整数型和实数型两类。数据型数据有“日常记数法”和“科学记数法”两种形式表示。

38、89536、-321.44、-0.00376属于“日常记数法”

1.25e+4、3.2e—10、-7.67e+19属于“科学记数法”

字符串常量是非数值数据。字符串常量必须用双引号括起来, 以区别于数值常量。字符串常量可以由任何字符所组成,只是双引号本身除外。

在程序运行中可以改变的量,称为变量。

变量可分为数值型变量和字符型变量。在程序执行时,数值型变量总有一个数值,而字符串变量只有一个字符串常量。数值型变量在未赋值前,其值为零。字符型变量在程序在程序开始则为“空”,也称为字符串长度为零。

2、变量的命名规则

在数值变量名中允许出现的字符是英文字母(大写、小写均可)、 数字和下划线,但变量不区分大小写;第一个字符必须是字母;不允许使用某些关键字(语句定义符中的单词或命令词)和函数名作为变量名;有效字符长度为40个。

如下列是一些正确的数值变量名:A X class grade average sum S1 s2

如下是一些错误的变量名: 9A 不是以字母开头; A> >号不能组成变量名 PRINT PRINT是关键字

字符串变量的命名规则与数值变量的命名规则相同, 但字符串变量名的末尾必须有一个“$”,如X$、A1$、ADD$

第三节 算术、关系、逻辑运算符和表达式

将数据类型相同的常量、变量和函数用规定的运算符连接起来,就构成了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

算术表达式是用BASIC语言规定的算术运算符和圆括号,将常量、 变量、标准函数连接起来的代数式,它的所有字符必须写在同一行内,它的运算结果为数值常量,在运行中只有除而没有分式的概念。

算术表达式运算的先后次序为:

括号—正负号—函数—乘方—乘、除、整除—余数—加、减 例如:

9*SQR((5*x)+2)^6/2-15

↓ ↓ ↓ ↓ ↓ ↓ ↓

⑤ ③ ① ② ④ ⑥ ⑦

算术表达式的书写方法:根据运算次序,正确使用圆括号,且将所有字符写在同行一行上。例:

a+b ─── ——>(a+b)/(x-y) x-y

二、关系运算符和关系表达式

六种关系运算符:

两个数据类型相同(或相容)的表达式用一个关系运算符连接起来,就构成了关系表达式。关系表达式具有逻辑值,或为真,或为假。真用数字“-1”表示,假用数字“0”表示。

三、逻辑运算符与逻辑表达式

NOT 逻辑非 AND 逻辑与 OR 逻辑或

逻辑运算符运算的优先次序排列为: NOT AND OR

用逻辑运算符连接具有逻辑值的表达式,构成逻辑表达式。逻辑表达式的值也是逻辑值,真用“1”表示,假用

例:已知三条线段的长度分别为a、b、c,写出它们能否构成三角形的逻辑表达式。 (a+b>c) and (a+c>b) and (b+c>a)

四、字符串运算符

字符串运算符只有一个 “+”表示连接运算符

如:“ABCD”+“123”——>“ABCD123”

第四节 BASIC程序和构成

让我们先从一个简单和例子说起。

假定某甲有人民币15元,某乙有人民币20.5元,求甲、 乙二人共有人民币多少?把这个问题写成BASIC程序,是如下的内容。

LET A=15

LET B=20.5

LET C=A+B

PRINT C

END

电脑在执行这个程序时,先让A取值15,再让B取值20.5。 然后让C取得A与B之和,即35.5(以上都是LET的作用); 再把C的值打印出来(PRINT的作用);最后停止程序的运行(END的作用)。BASIC程序的构成规则是:

1、一个BASIC程序由若干个程序行组成的。上例程序就是由五个程序行组成的。 2、一个程序行又是由行号和语名两部分组成(QBASIC中可以不用行号)。

①行号如上例中的10,20,30,40,50。它必须是一个正的十进制整数,其作用是用来规定计算机在执行程序时的先后顺序。通常计算机总是先以最小的行号执行起,依序执行下去,直到最大的行号。行号不连续,有间隔,是为了以后修改或完善程序时用。 ②语句:上面程序中,每个行号右边的部分,都分别地称为一个语句。语句又可以分为语句定义符和语句体两部分。

A、语句定义符:如上例中的LET、PRINT 、 END都是语句体表明所需执行何种功能的。语句定义符是语言本身规定的,解释程序能够识别它们,通常称为保留字,用户不得修改或自造。

B、语句体:如上例中的A=15,B=20.5, C=A+B等都是,语句体表明所需执行的具体内容。有些语句不带语句体,如“END”等。

3、一般来讲,一个程序行只可以写一个语句,但在较多的BASIC版本中,也可以写多个语句,这时必须在两个语句之间加一个语句分隔符“:”(冒号)。

4、一个语句必须在一个程序行内写完,不允许将一个语句拆开写在两个程序行中,如例中的30行语句不能写成:30C 35A+B

5、一个程序,一般应以语句END结束。

第一章练习题

1、数X四舍五入保留2位小数的表达式为( )

2、写出判断X是否为偶数的表达式( )

3、条件1<X≤2或10≤X<15在BASIC中应写成条件表达式( )

第二章 BASIC语句

一、提供数据语句

1、赋值语句(LET)

格式 【LET】 变量=表达式

使用注意要点:

(1)赋值语句中的“=”号,称为赋值号, 作用是将它右面的值赋给它左面的变量;如果右边也是变量,赋值后右边的变量(与左边不同的变量)的值不会消失。

(2)赋值号两侧的内容不能随意互换;

(3)赋值号左边只能是变量,可以是数值变量, 也可以是字符串变量,同样其右边的表达式可以是数值表达式或字符串表达式, 但变量类型与表达式的类型应当一致。

(4)可以多次向同一个变量赋值, 但一个变量在一个瞬时只有一个确定值,在向一个变量赋值时,该变量原有的值即被新赋予的值取代。

(5)LET 语句具有计算功能。

(6)LET在语句中可以省略。

例、

B=2

A=B (赋值后,A、B的值都为2了) A=A+4 (赋值后,A的值变为6,原来的2就消失了) END

2、键盘输入语句(INPUT)

格式 INPUT 【提示信息;】 输入变量表列

使用注意要点:

(1)使用INPUT语句以键盘输入数据时,数据只能是常量,而不允许是变量或表达式;因INPUT没有计算功能。

(2)INPUT 语句常用于参加运算的数据事先不确定, 需要随时修改的情况;

(3)在INPUT 语句的格式中“输入变量表列”,每个变量间必须用“,”号分隔,执行INPUT语句时,由键盘上提供的常量应常列中的变量类型匹配。

例、

INPUT A,B

PRINT A,B

END

运行程序:(下面是在输出屏幕,“1,2”是自己输入的内容,“1 2”是电脑自动输出的内容)

?1,2

1

二、数据输出语名

2

打印语句PRINT语句

格式 PRINT [输出项表列]

功能 (1)用PRINT语句能输出数值常量、变量或表达式的值。

(2)用PRINT语句可以输出字符串。

输出格式(标准格式、紧凑格式、指定格式输出)

(1)按标准格式输出

BASIC将输出行分为5个输出区,前4个区均占14列,最后1个区占24列。当PRINT 语句中各输出项之间用“,”逗号分隔,则各输出项自左至向依次输出在各输出区中,从各区的最左面位置开始输出。

例 PRINT 1,2,3,4,5

运行结果:

1 2 3 4 5

(2)按紧凑格式输出

在PRINT语句中各输出项之间不是用逗号分隔而是用“;”分号分隔,则在输出时以“紧凑格式”组织输出,即在输出完一个输出项之后紧接着输出下一个输出项,而不是跳到下一个标准输出区输出。

例 PRINT 1;2;3;4;5

运行结果:

1 2 3 4 5

(3)输出行的控制

如果PRINT语句的末尾无逗号或分号,则输出完本PRINT 语句所指定的输出项后,自动换行;如果有逗号或分号,表示执行完本PRINT语句后,输出行不换行,下一个PRINT 语句的输出项仍在本行后面输出。如果末尾是逗号,下一输出项从下一个输出区输出;如果是分号,则以紧凑格式接着输出。

如果PRINT语句中无任何输出项,表示将输出一个“空行”。

例 PRINT 1,2,

PRINT 3,4

PRINT 1;2;

PRINT 3;4

END

运行结果:

1 2 3 4

1 2 3 4

三、清屏、暂停、结束、注释语句。

(1)清屏(CLS)语句

格式 CLS

功能 用作清除显示器的输出屏幕。光标回到输出屏幕的起始位置。

(2)结束语句

格式 END

功能 终止程序的运行。

(3)注释语句

格式 REM 注释内容

功能 为程序或程序中某些语句作注释。

注意:REM语句是非执行语句,对程序的执行结果不起任何影响,只是在用LIST列源程序清单时将REM语句原样列出,除此以外无其他作用。因而,REM语句可放在程序中的任何位置。

练习:写出下列程序运行后的打印结果。

1.10 LET A=3.5: LET B=-4.6 2.P=1:S=0

20 PRINT

30 X=A: A=B: B=X P=P*I

40 PTINT

50 END PRINT

NEXT I

END

第三章 分支结构程序设计

一、分支语句

(1)行IF语句

格式: IF 条件 THEN 语句组1 [ELSE 语句组2]

说明:“[ ]”代表里面的内容可以省略。

(2)块IF语句

格式:IF 条件 THEN

语句组1

[ELSE

语句组2]

END

功能:如果条件成立(为真),执行THEN后面的语句组1,否则(即条件不成立,为假)

有语句组2就执行语句组2,没有语句组2就执行IF语句后面的其它语句。

使用注意要点:

(1)IF后的条件系关系表达式或逻辑表达式, 其结果只有两种:“真”或“假”。THEN后的语句组1,ELSE后的语句组2可以是一个行号,可以是一个语句,也可以是多个语句(行IF中须用冒号分隔)。

(2)下面是无语句组2的执行流程图是图3-1,有语句组2的执行流程图是图3-2

例1、

INPUT X

IF X>0 THEN

PRINT X

END IF

END

运行结果:

1)?5

5 图3-1 图3-2

2)?-5

例2 比较三个数的大小,找出最大值(用三种方法给变量赋值)。

CLS

INPUT A,B,C

IF A>B THEN MAX=A ELSE MAX=B (行IF语句)

IF C>MAX THEN MAX=C

PRINT “MAX=”;MAX

END

运行结果:

?2,3,1

例3、一个商店为了促销,实行满100打9

折的活动,请为他编写一个简单的程序,实现输

入购买金额X,屏幕显示打折后的应付金额。

INPUT “请输入购买金额”;X IF X>=100 THEN

S=X*0.9

ELSE S=X END IF PRINT “实际付款”;S;“元” END

例4、输入一个数,判断它是否是3的倍数。是就显示“YES”,否则显示“NO”。

INPUT X

IF X/3=INT(X/3) THEN

PRINT “YES”

ELSE

PRINT “NO”

END IF

END

运行结果:

1)

?4

NO

2)

?12

YES

第四章 循环结构程序设计

一、 FOR循环结构

FOR 循环变量=初值 TO 终值 STEP 步长值

循环体

NEXT 循环变量

几点说明:

(1) FOR 语句与NEXT语句必须成对出现,缺一不可,且循环变量名必须保持一致。

(2)循环变量是在FOR循环中控制循环次数的变量,它只能是数值型变量。

(2) 步长值是指循环体每执行一次后,循环变量的增量,步长值可正可负。

(3) 当步长值为1时,STEP及步长值可以省略。

- 11 - (一)FOR语句格式:

(5)初值、终值、步长值可以是常数、变量或算术表达式。

(6)终止条件:当步长>0时,循环变量>终值;当步长

(7)循环次数公式:循环次数=INT((终值-初值)/步长)+1

(二)FOR循环的执行过程(如图4-1)

计算机执行FOR语句时,首先把初值赋给循环变量,并记下终值和步长值,然后将循环变量的值与终值进行比较,如果循环变量的值未越过终值,则执行FOR语句后面的语句,否则退出循环,执行NEXT 语句后面的语句。当执行NEXT语句时,有两个操作:

(1)给循环变量增加一个步长值;

(2)将增值后的循环变量的值进行比较,如果循环变量的值未越过终值,则继续执行循环体,否则终止循环,转去执行NEXT语句后面的语句。

例1、 比较分析下列2个程序的运行结果。

1)PRINT “*”;

PRINT “*”;

PRINT “*”;

PRINT “*”;

PRINT “*”;

END

运行结果:

*****

2)FOR I =1 TO 5 STEP 1

PRINT “*”;

NEXT I

END

运行结果:

*****

语句只输出一个“*”。

例2、求100以内偶数的和。

S=0

FOR I=2 TO 100 STEP 2

S=S+I (说明:此语句是累加语句)

NEXT I

PRINT “S=”;S

END

例3、求100以内有多少个3的倍数

T=0

FOR J=3 TO 100 STEP 3

T=T+1

NEXT J

PRINT T

END

- 12 - 图4-1

从上面两个程序可以看出,第2)个程序的PRINT语句反复执行了5次,因为每次PRINT

例4、求1*2*3*„„*10的结果。

T=1 FOR I=1 TO 10 T=T*I (说明:此语句是累乘语句) NEXT I PRINT “1*2*3*„„*10=”;T END

DO WHILE语句格式:

DO WHILE

循环体

LOOP

功能:当指定条件为真时继续循环,否则结束循环。

说明:DO WHILE循环是当条件成立时开始执行循环体,到LOOP时返回又进行条件比较,若成立又执行循环体,否则退出循环,执行LOOP后的语句。故在设计循环体是一定要包含有使条件不成立可能的语句,否则将会形成死循环。

例1、求100以内偶数的和。

S=0

I=0

DO WHILE I

S=S+I

I=I+2

LOOP

PRINT S

END

例2、如果一个企业的产值每年以8%速度增长,问多少年后产值翻两番:基值设为100。 P=100

R=.08

N=0

DO WHILE P

P=P*(1+R)

N=N+1

LOOP

PRINT N;

END

例3、统计一个班某科考试的平均分。

分析:设输入分数为X,班总分为S,人数为R。问题可化为以输入的X>=0为循环条件循环输入考试分数并累加(S=S+X)、统计人数(R=R+1),否则终止循环然后求出平均分(S/R)。 程序如下:

S=0

R=0

INPUT X

DO WHILE X>=0

- 13 - 二、DO WHILE语句

S=S+X

R=R+1

INPUT X

LOOP

E=S/R

PRINT E

END

练习题:

1、按下列题目要求编写程序,并上机运行(两种方式:FOR 和 DO WHILE)。

(1)S=1+3+5+„„ +99

(2)T=1*2*3*„„*20

(3) 要使下面等式成立,○中应填入哪个相同的数字:

- 14 - 3○×8256=○3×6528

QBASIC程序设计

BASIC是英文Beginner’s All-purpose Sybol——初学者通用符号指令代码。BASIC语言是一种常用的高级程序设计语言之一。目前比较流行的BASIC语言版本有True BASIC、Turbo BASIC、 QBASIC、GWBASIC。本讲义仅介绍QBASIC。

BASIC语言基本知识与要求

1、QBASIC语言的基本知识:

QBASIC语言的基本特点;

常量、变量、字符串、算术表达式的概念;

数的表式方法及范围;

语句的基本格式;

顺序、选择、循环结构的程序设计;

程序设计的基本步骤。

2、QBASIC语句:

LET INPUT PRINT END IF FOR DO WHILE REM 3、算术运算符、关系运算符与逻辑运算符:

+、—、*、/、\、MOD、^

=、>、=、

AND、OR、NOT

4、流程图的基本符号;流程图的作用。

5、循环语句

循环变量、循环体、循环初值、循环终值、步长的概念;循环语句的基本格式。

6、常用函数

数值函数

INT(X)、ABS(X)、SQR(X)、RND(X)、

SGN(X)、SIN(X)、COS(X)、TAN(X)

字符串函数(了解)

ASC、LEN 、TAB(X)、VAL、LOG(X)、STR$、CHR$、 LEFT$、RIGHT$、 MID$

7、数组及其应用(了解)

下标变量、一维、二维数组的概念;数组说明语句

第一章 BASIC语言基础

第一节 QBASIC的环境

1、 QBASIC的进入

用QBASIC语言编写程序,首先要进入QBASIC集成环境。QBASIC主要由QBASIC.EXE和QBASIC.HLP两个文件组成,按照教师的要求进入指定的位置,运行QBASIC.EXE后,屏幕上会出现一个如图1-1的对话框:

图1-1

直接单击“确定”按钮,便进入

QBASIC的集成环境,其界面如下图2-2

再按“Esc

”键即可取消屏幕中央的对话框,进入图1-3所示的主屏幕。

图1-2 图1-3

屏幕被分成了四部分:顶端的“菜单栏”,中部的“编辑窗口”,下部的“立即窗口”及底部的提示行。

菜单栏列出了QBASIC提供的所有功能。用鼠标单击菜单的标题,或按一下“Alt”+标题的首字母都可以打开功能菜单,比如Alt+F可以打开File菜单。各功能菜单的功能是:

编辑窗口是输入、修改程序的地方。

立即窗口是可以用来直接执行QBASIC的命令,输入一行按回车后,这个命令就立即执行了,比如是显示命令PRINT 2*5,按回车后在输出屏幕上就立即显示结果10。

同一时刻只能在一个窗口中输入程序或命令,光标在哪个窗口,输入的内容就在哪个窗口。可以按“F6”在编辑窗口和立即窗口之间进行切换。

2、 程序的输入、编辑和运行程序

输入:启动QBASIC后,在编辑窗口有一个闪烁的“_”号光标,输入字符或数字后,光标会自动向后移动,输入完一行后按回车,光标回到下一行首,你可以继续输入下一行内容了。

在编辑窗口中,一次只能输入并运行一个程序。因此,在输入下一个程序前要先点“File”下的“Save”保存现有程序,再点“File”下的“New”新建一个程序。

编辑:在输入程序的过程中,如果发生输入错误可以随时修改,常用的键盘编辑命令进行修改,与文字处理软件中的方法类似。(程序中大小写不会影响程序的执行,并且,程序会把各语句的关键词自动变为大写,这样在录入时最好用小写字母,可以检查是否把关键词录入错误)

小技巧:在录入时,可以用“?”来代替PRINT。 运行:把程序输入、修改完毕后,点“Run”菜单中的“Start”命令或按Shift+F5键,程序即可运行。

第二节 常量、变量与标准函数

一、常量、变量的类型及其表示方法

1、数据类型

BASIC语言中可以使用许多种类的数据, 从数据的内在本质可分为数值型和字符型两大类;从数据的存储形式可分为常量和变量。在程序执行过程中,具体本身始终不变的量,称为常量。

数值型常量就是我们日常生活中经常使用的常数,分为整数型和实数型两类。数据型数据有“日常记数法”和“科学记数法”两种形式表示。

38、89536、-321.44、-0.00376属于“日常记数法”

1.25e+4、3.2e—10、-7.67e+19属于“科学记数法”

字符串常量是非数值数据。字符串常量必须用双引号括起来, 以区别于数值常量。字符串常量可以由任何字符所组成,只是双引号本身除外。

在程序运行中可以改变的量,称为变量。

变量可分为数值型变量和字符型变量。在程序执行时,数值型变量总有一个数值,而字符串变量只有一个字符串常量。数值型变量在未赋值前,其值为零。字符型变量在程序在程序开始则为“空”,也称为字符串长度为零。

2、变量的命名规则

在数值变量名中允许出现的字符是英文字母(大写、小写均可)、 数字和下划线,但变量不区分大小写;第一个字符必须是字母;不允许使用某些关键字(语句定义符中的单词或命令词)和函数名作为变量名;有效字符长度为40个。

如下列是一些正确的数值变量名:A X class grade average sum S1 s2

如下是一些错误的变量名: 9A 不是以字母开头; A> >号不能组成变量名 PRINT PRINT是关键字

字符串变量的命名规则与数值变量的命名规则相同, 但字符串变量名的末尾必须有一个“$”,如X$、A1$、ADD$

第三节 算术、关系、逻辑运算符和表达式

将数据类型相同的常量、变量和函数用规定的运算符连接起来,就构成了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

算术表达式是用BASIC语言规定的算术运算符和圆括号,将常量、 变量、标准函数连接起来的代数式,它的所有字符必须写在同一行内,它的运算结果为数值常量,在运行中只有除而没有分式的概念。

算术表达式运算的先后次序为:

括号—正负号—函数—乘方—乘、除、整除—余数—加、减 例如:

9*SQR((5*x)+2)^6/2-15

↓ ↓ ↓ ↓ ↓ ↓ ↓

⑤ ③ ① ② ④ ⑥ ⑦

算术表达式的书写方法:根据运算次序,正确使用圆括号,且将所有字符写在同行一行上。例:

a+b ─── ——>(a+b)/(x-y) x-y

二、关系运算符和关系表达式

六种关系运算符:

两个数据类型相同(或相容)的表达式用一个关系运算符连接起来,就构成了关系表达式。关系表达式具有逻辑值,或为真,或为假。真用数字“-1”表示,假用数字“0”表示。

三、逻辑运算符与逻辑表达式

NOT 逻辑非 AND 逻辑与 OR 逻辑或

逻辑运算符运算的优先次序排列为: NOT AND OR

用逻辑运算符连接具有逻辑值的表达式,构成逻辑表达式。逻辑表达式的值也是逻辑值,真用“1”表示,假用

例:已知三条线段的长度分别为a、b、c,写出它们能否构成三角形的逻辑表达式。 (a+b>c) and (a+c>b) and (b+c>a)

四、字符串运算符

字符串运算符只有一个 “+”表示连接运算符

如:“ABCD”+“123”——>“ABCD123”

第四节 BASIC程序和构成

让我们先从一个简单和例子说起。

假定某甲有人民币15元,某乙有人民币20.5元,求甲、 乙二人共有人民币多少?把这个问题写成BASIC程序,是如下的内容。

LET A=15

LET B=20.5

LET C=A+B

PRINT C

END

电脑在执行这个程序时,先让A取值15,再让B取值20.5。 然后让C取得A与B之和,即35.5(以上都是LET的作用); 再把C的值打印出来(PRINT的作用);最后停止程序的运行(END的作用)。BASIC程序的构成规则是:

1、一个BASIC程序由若干个程序行组成的。上例程序就是由五个程序行组成的。 2、一个程序行又是由行号和语名两部分组成(QBASIC中可以不用行号)。

①行号如上例中的10,20,30,40,50。它必须是一个正的十进制整数,其作用是用来规定计算机在执行程序时的先后顺序。通常计算机总是先以最小的行号执行起,依序执行下去,直到最大的行号。行号不连续,有间隔,是为了以后修改或完善程序时用。 ②语句:上面程序中,每个行号右边的部分,都分别地称为一个语句。语句又可以分为语句定义符和语句体两部分。

A、语句定义符:如上例中的LET、PRINT 、 END都是语句体表明所需执行何种功能的。语句定义符是语言本身规定的,解释程序能够识别它们,通常称为保留字,用户不得修改或自造。

B、语句体:如上例中的A=15,B=20.5, C=A+B等都是,语句体表明所需执行的具体内容。有些语句不带语句体,如“END”等。

3、一般来讲,一个程序行只可以写一个语句,但在较多的BASIC版本中,也可以写多个语句,这时必须在两个语句之间加一个语句分隔符“:”(冒号)。

4、一个语句必须在一个程序行内写完,不允许将一个语句拆开写在两个程序行中,如例中的30行语句不能写成:30C 35A+B

5、一个程序,一般应以语句END结束。

第一章练习题

1、数X四舍五入保留2位小数的表达式为( )

2、写出判断X是否为偶数的表达式( )

3、条件1<X≤2或10≤X<15在BASIC中应写成条件表达式( )

第二章 BASIC语句

一、提供数据语句

1、赋值语句(LET)

格式 【LET】 变量=表达式

使用注意要点:

(1)赋值语句中的“=”号,称为赋值号, 作用是将它右面的值赋给它左面的变量;如果右边也是变量,赋值后右边的变量(与左边不同的变量)的值不会消失。

(2)赋值号两侧的内容不能随意互换;

(3)赋值号左边只能是变量,可以是数值变量, 也可以是字符串变量,同样其右边的表达式可以是数值表达式或字符串表达式, 但变量类型与表达式的类型应当一致。

(4)可以多次向同一个变量赋值, 但一个变量在一个瞬时只有一个确定值,在向一个变量赋值时,该变量原有的值即被新赋予的值取代。

(5)LET 语句具有计算功能。

(6)LET在语句中可以省略。

例、

B=2

A=B (赋值后,A、B的值都为2了) A=A+4 (赋值后,A的值变为6,原来的2就消失了) END

2、键盘输入语句(INPUT)

格式 INPUT 【提示信息;】 输入变量表列

使用注意要点:

(1)使用INPUT语句以键盘输入数据时,数据只能是常量,而不允许是变量或表达式;因INPUT没有计算功能。

(2)INPUT 语句常用于参加运算的数据事先不确定, 需要随时修改的情况;

(3)在INPUT 语句的格式中“输入变量表列”,每个变量间必须用“,”号分隔,执行INPUT语句时,由键盘上提供的常量应常列中的变量类型匹配。

例、

INPUT A,B

PRINT A,B

END

运行程序:(下面是在输出屏幕,“1,2”是自己输入的内容,“1 2”是电脑自动输出的内容)

?1,2

1

二、数据输出语名

2

打印语句PRINT语句

格式 PRINT [输出项表列]

功能 (1)用PRINT语句能输出数值常量、变量或表达式的值。

(2)用PRINT语句可以输出字符串。

输出格式(标准格式、紧凑格式、指定格式输出)

(1)按标准格式输出

BASIC将输出行分为5个输出区,前4个区均占14列,最后1个区占24列。当PRINT 语句中各输出项之间用“,”逗号分隔,则各输出项自左至向依次输出在各输出区中,从各区的最左面位置开始输出。

例 PRINT 1,2,3,4,5

运行结果:

1 2 3 4 5

(2)按紧凑格式输出

在PRINT语句中各输出项之间不是用逗号分隔而是用“;”分号分隔,则在输出时以“紧凑格式”组织输出,即在输出完一个输出项之后紧接着输出下一个输出项,而不是跳到下一个标准输出区输出。

例 PRINT 1;2;3;4;5

运行结果:

1 2 3 4 5

(3)输出行的控制

如果PRINT语句的末尾无逗号或分号,则输出完本PRINT 语句所指定的输出项后,自动换行;如果有逗号或分号,表示执行完本PRINT语句后,输出行不换行,下一个PRINT 语句的输出项仍在本行后面输出。如果末尾是逗号,下一输出项从下一个输出区输出;如果是分号,则以紧凑格式接着输出。

如果PRINT语句中无任何输出项,表示将输出一个“空行”。

例 PRINT 1,2,

PRINT 3,4

PRINT 1;2;

PRINT 3;4

END

运行结果:

1 2 3 4

1 2 3 4

三、清屏、暂停、结束、注释语句。

(1)清屏(CLS)语句

格式 CLS

功能 用作清除显示器的输出屏幕。光标回到输出屏幕的起始位置。

(2)结束语句

格式 END

功能 终止程序的运行。

(3)注释语句

格式 REM 注释内容

功能 为程序或程序中某些语句作注释。

注意:REM语句是非执行语句,对程序的执行结果不起任何影响,只是在用LIST列源程序清单时将REM语句原样列出,除此以外无其他作用。因而,REM语句可放在程序中的任何位置。

练习:写出下列程序运行后的打印结果。

1.10 LET A=3.5: LET B=-4.6 2.P=1:S=0

20 PRINT

30 X=A: A=B: B=X P=P*I

40 PTINT

50 END PRINT

NEXT I

END

第三章 分支结构程序设计

一、分支语句

(1)行IF语句

格式: IF 条件 THEN 语句组1 [ELSE 语句组2]

说明:“[ ]”代表里面的内容可以省略。

(2)块IF语句

格式:IF 条件 THEN

语句组1

[ELSE

语句组2]

END

功能:如果条件成立(为真),执行THEN后面的语句组1,否则(即条件不成立,为假)

有语句组2就执行语句组2,没有语句组2就执行IF语句后面的其它语句。

使用注意要点:

(1)IF后的条件系关系表达式或逻辑表达式, 其结果只有两种:“真”或“假”。THEN后的语句组1,ELSE后的语句组2可以是一个行号,可以是一个语句,也可以是多个语句(行IF中须用冒号分隔)。

(2)下面是无语句组2的执行流程图是图3-1,有语句组2的执行流程图是图3-2

例1、

INPUT X

IF X>0 THEN

PRINT X

END IF

END

运行结果:

1)?5

5 图3-1 图3-2

2)?-5

例2 比较三个数的大小,找出最大值(用三种方法给变量赋值)。

CLS

INPUT A,B,C

IF A>B THEN MAX=A ELSE MAX=B (行IF语句)

IF C>MAX THEN MAX=C

PRINT “MAX=”;MAX

END

运行结果:

?2,3,1

例3、一个商店为了促销,实行满100打9

折的活动,请为他编写一个简单的程序,实现输

入购买金额X,屏幕显示打折后的应付金额。

INPUT “请输入购买金额”;X IF X>=100 THEN

S=X*0.9

ELSE S=X END IF PRINT “实际付款”;S;“元” END

例4、输入一个数,判断它是否是3的倍数。是就显示“YES”,否则显示“NO”。

INPUT X

IF X/3=INT(X/3) THEN

PRINT “YES”

ELSE

PRINT “NO”

END IF

END

运行结果:

1)

?4

NO

2)

?12

YES

第四章 循环结构程序设计

一、 FOR循环结构

FOR 循环变量=初值 TO 终值 STEP 步长值

循环体

NEXT 循环变量

几点说明:

(1) FOR 语句与NEXT语句必须成对出现,缺一不可,且循环变量名必须保持一致。

(2)循环变量是在FOR循环中控制循环次数的变量,它只能是数值型变量。

(2) 步长值是指循环体每执行一次后,循环变量的增量,步长值可正可负。

(3) 当步长值为1时,STEP及步长值可以省略。

- 11 - (一)FOR语句格式:

(5)初值、终值、步长值可以是常数、变量或算术表达式。

(6)终止条件:当步长>0时,循环变量>终值;当步长

(7)循环次数公式:循环次数=INT((终值-初值)/步长)+1

(二)FOR循环的执行过程(如图4-1)

计算机执行FOR语句时,首先把初值赋给循环变量,并记下终值和步长值,然后将循环变量的值与终值进行比较,如果循环变量的值未越过终值,则执行FOR语句后面的语句,否则退出循环,执行NEXT 语句后面的语句。当执行NEXT语句时,有两个操作:

(1)给循环变量增加一个步长值;

(2)将增值后的循环变量的值进行比较,如果循环变量的值未越过终值,则继续执行循环体,否则终止循环,转去执行NEXT语句后面的语句。

例1、 比较分析下列2个程序的运行结果。

1)PRINT “*”;

PRINT “*”;

PRINT “*”;

PRINT “*”;

PRINT “*”;

END

运行结果:

*****

2)FOR I =1 TO 5 STEP 1

PRINT “*”;

NEXT I

END

运行结果:

*****

语句只输出一个“*”。

例2、求100以内偶数的和。

S=0

FOR I=2 TO 100 STEP 2

S=S+I (说明:此语句是累加语句)

NEXT I

PRINT “S=”;S

END

例3、求100以内有多少个3的倍数

T=0

FOR J=3 TO 100 STEP 3

T=T+1

NEXT J

PRINT T

END

- 12 - 图4-1

从上面两个程序可以看出,第2)个程序的PRINT语句反复执行了5次,因为每次PRINT

例4、求1*2*3*„„*10的结果。

T=1 FOR I=1 TO 10 T=T*I (说明:此语句是累乘语句) NEXT I PRINT “1*2*3*„„*10=”;T END

DO WHILE语句格式:

DO WHILE

循环体

LOOP

功能:当指定条件为真时继续循环,否则结束循环。

说明:DO WHILE循环是当条件成立时开始执行循环体,到LOOP时返回又进行条件比较,若成立又执行循环体,否则退出循环,执行LOOP后的语句。故在设计循环体是一定要包含有使条件不成立可能的语句,否则将会形成死循环。

例1、求100以内偶数的和。

S=0

I=0

DO WHILE I

S=S+I

I=I+2

LOOP

PRINT S

END

例2、如果一个企业的产值每年以8%速度增长,问多少年后产值翻两番:基值设为100。 P=100

R=.08

N=0

DO WHILE P

P=P*(1+R)

N=N+1

LOOP

PRINT N;

END

例3、统计一个班某科考试的平均分。

分析:设输入分数为X,班总分为S,人数为R。问题可化为以输入的X>=0为循环条件循环输入考试分数并累加(S=S+X)、统计人数(R=R+1),否则终止循环然后求出平均分(S/R)。 程序如下:

S=0

R=0

INPUT X

DO WHILE X>=0

- 13 - 二、DO WHILE语句

S=S+X

R=R+1

INPUT X

LOOP

E=S/R

PRINT E

END

练习题:

1、按下列题目要求编写程序,并上机运行(两种方式:FOR 和 DO WHILE)。

(1)S=1+3+5+„„ +99

(2)T=1*2*3*„„*20

(3) 要使下面等式成立,○中应填入哪个相同的数字:

- 14 - 3○×8256=○3×6528


相关文章

  • 发电机之容量选择
  • 发电机之容量选择 简介: 发电机容量选择的基本原理及相关要素:建立容量计算的数学模型:介绍计算容量所用的QBASIC 源程序及其操作要点:最后给出了若干结论及计算实例. 关键字:柴油发电机 消防负荷 保证负荷 容许电压降 启动 校验 QBA ...查看


  • BASIC万花筒
  • BASIC万花筒 --你所熟悉和陌生的BASIC 您知道吗?BASIC四十四岁了. 经常有网友问:要学编程,应该从哪种语言入手?作为一个热爱了BASIC 20年的编程爱好者, 我会毫不犹豫的告诉你:是BASIC. 不管你过去对BASIC有何 ...查看


  • 高校毕业生自我介绍范文
  • 高校毕业生自我介绍范文 尊敬的先生/小姐: 您好!我是湖北民族学院应届本科毕业生,专业是临床医学.明年6月我将顺利毕业并获得临床医学学士学位.近期获知贵公司正在招聘人才,我自信我在大学五年的学习情况会有助于我来应聘这些职位. 大学五年,我努 ...查看


  • 查看电脑使用痕迹
  • 怎样查看电脑使用痕迹 查看开关机 打开"我的电脑",C盘Windows目录下找到一个SchedLgU.txt.它是"计划任务"的日志,会忠实地记录电脑计划任务的执行情况,还有每次开机启动Windows ...查看


  • 各类证书的英语翻译
  • 大学英语四级 CET4 (College English Test Band 4 Certificate) 大学英语六级 CET6 (College English Test Band 6 Certificate) 英语专业四级 TEM4 ...查看


  • 附和导线平差程序
  • 附和导线平差程序[QBASIC] 由本人在网络上收集整理 DECLARE FUNCTION DEG! (X!) DECLARE FUNCTION DMS! (XX!) DECLARE FUNCTION XCHAR$ (XX!, N!) CL ...查看


  • 信息技术课程目录
  • 川教版信息技术课程目录表 三年级(上) 第1课 信息与我的计算机朋友 第2课 和新朋友过第一招 第3课 侦察"开始"菜单的秘密 第4课 有趣的鼠标小游戏 第5课 "小老鼠"画图 第6课 <无师自 ...查看


  • 我对程序设计的一点不成熟看法
  • 我对程序设计的一点粗浅看法 程序设计是指设计.编制.调试程序的方法的过程,是我们实现现代化的重要组成部分,它让我们的生活更加方便.快捷.高效. 他的分类为:按照结构性质,分为结构化程序设计和非结构化程序设计,前者是指具有结构性的程序设计方法 ...查看


  • 2012年推免研究生英语口试题目汇总
  • 2012年武汉大学水利水电学院推免研究生英语面试题目 1. What are the names of the subjects you have learned? Answer: Hydraulics(水力学) .Hydropower s ...查看


热门内容