QBASIC程序设计.docx

上传人:b****5 文档编号:30752937 上传时间:2023-08-20 格式:DOCX 页数:21 大小:174.39KB
下载 相关 举报
QBASIC程序设计.docx_第1页
第1页 / 共21页
QBASIC程序设计.docx_第2页
第2页 / 共21页
QBASIC程序设计.docx_第3页
第3页 / 共21页
QBASIC程序设计.docx_第4页
第4页 / 共21页
QBASIC程序设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

QBASIC程序设计.docx

《QBASIC程序设计.docx》由会员分享,可在线阅读,更多相关《QBASIC程序设计.docx(21页珍藏版)》请在冰豆网上搜索。

QBASIC程序设计.docx

QBASIC程序设计

QBASIC程序设计

BASIC是英文Beginner’sAll-purposeSybol——初学者通用符号指令代码。

BASIC语言是一种常用的高级程序设计语言之一。

目前比较流行的BASIC语言版本有TrueBASIC、TurboBASIC、QBASIC、GWBASIC。

本讲义仅介绍QBASIC。

BASIC语言基本知识与要求

1、QBASIC语言的基本知识:

QBASIC语言的基本特点;

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

数的表式方法及范围;

语句的基本格式;

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

程序设计的基本步骤。

2、QBASIC语句:

LETINPUTPRINTENDIFFORDOWHILEREM

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的对话框:

 

直接单击“确定”按钮,便进入QBASIC的集成环境,其界面如下图2-2:

 

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

 

屏幕被分成了四部分:

顶端的“菜单栏”,中部的“编辑窗口”,下部的“立即窗口”及底部的提示行。

菜单栏列出了QBASIC提供的所有功能。

用鼠标单击菜单的标题,或按一下“Alt”+标题的首字母都可以打开功能菜单,比如Alt+F可以打开File菜单。

各功能菜单的功能是:

File

文件菜单,主要包括新建文件、打开文件、保存文件等操作。

Edit

编辑菜单,主要包括编辑修改程序的剪切、复制、粘贴等操作。

View

查看菜单,主要包括查看输出屏幕、子程序窗口等操作。

Search

查看菜单,主要包括在程序中查找、替换等操作。

Run

运行菜单,主要包括运行程序的操作。

Debug

测试菜单,主要包括调试程序的操作;

Option

选项菜单,主要包括对QBASIC集成环境进行初始设置等操作;

Help

帮助菜单,提供各种操作的帮助信息。

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

立即窗口是可以用来直接执行QBASIC的命令,输入一行按回车后,这个命令就立即执行了,比如是显示命令PRINT2*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个。

如下列是一些正确的数值变量名:

AXclassgradeaveragesumS1s2

如下是一些错误的变量名:

9A不是以字母开头;A>>号不能组成变量名

PRINTPRINT是关键字

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

二、标准函数

函数名

函数格式

功能

ABS

y=ABS(n)

得到n的绝对值,例ABS(-1)的返回值是1

INT

y=INT(n)

得到一个不大于n的最大整数,例INT(1.9)是1

RND

y=RND(n)

得到0到1之间的随机数,n=0则得到前一个RND值

SGN

y=SGN(n)

输出n的符号,1代表正,-1代表负,0代表0

SIN

y=SIN(x)

求正弦值(X是弧度值)

SQR

y=SQR(n)

给出n的算术平方根

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

将数据类型相同的常量、变量和函数用规定的运算符连接起来,就构成了QBASIC表达式,表达式本身有一个值。

一、算术运算符和算术表达式

1、算术运算符  

    加   +   4+5  =9   减  —  8-3  =5  

    乘   *   2*3  =6   除  /   5/2  =2.5  

    整除  \   5\2  =2    求余  MOD  5MOD2 =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逻辑或

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

NOTANDOR

用逻辑运算符连接具有逻辑值的表达式,构成逻辑表达式。

逻辑表达式的值也是逻辑值,真用“1”表示,假用"0”表示。

例:

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

(a+b>c)and(a+c>b)and(b+c>a)

四、字符串运算符

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

如:

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

第四节BASIC程序和构成

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

假定某甲有人民币15元,某乙有人民币20.5元,求甲、乙二人共有人民币多少?

把这个问题写成BASIC程序,是如下的内容。

LETA=15

LETB=20.5

LETC=A+B

PRINTC

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行语句不能写成:

30C35A+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语句时,由键盘上提供的常量应常列中的变量类型匹配。

例、

INPUTA,B

PRINTA,B

END

运行程序:

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

1,2

12

二、数据输出语名

打印语句PRINT语句

格式PRINT[输出项表列]

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

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

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

(1)按标准格式输出

BASIC将输出行分为5个输出区,前4个区均占14列,最后1个区占24列。

当PRINT语句中各输出项之间用“,”逗号分隔,则各输出项自左至向依次输出在各输出区中,从各区的最左面位置开始输出。

例PRINT1,2,3,4,5

运行结果:

12345

(2)按紧凑格式输出

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

例PRINT1;2;3;4;5

运行结果:

12345

(3)输出行的控制

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

如果末尾是逗号,下一输出项从下一个输出区输出;如果是分号,则以紧凑格式接着输出。

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

例PRINT1,2,

PRINT3,4

PRINT1;2;

PRINT3;4

END

运行结果:

1234

1234

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

(1)清屏(CLS)语句

格式CLS

功能用作清除显示器的输出屏幕。

光标回到输出屏幕的起始位置。

(2)结束语句

格式END

功能终止程序的运行。

(3)注释语句

格式REM注释内容

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

注意:

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

因而,REM语句可放在程序中的任何位置。

练习:

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

1.10LETA=3.5:

LETB=-4.62.P=1:

S=0

20PRINT"A=";A,"B=";BFORI=1TO3

30X=A:

A=B:

B=XP=P*I

40PTINT"A=";A,"B=";BS=S+P

50ENDPRINT"I=";I,"P=";P,"S=";S

NEXTI

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、

INPUTX

IFX>0THEN

PRINTX

ENDIF

END

运行结果:

1)?

5

5

2)?

-5

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

CLS

INPUTA,B,C

IFA>BTHENMAX=AELSEMAX=B(行IF语句)

IFC>MAXTHENMAX=C

PRINT“MAX=”;MAX

END

运行结果:

2,3,1

例3、一个商店为了促销,实行满100打9折的活动,请为他编写一个简单的程序,实现输入购买金额X,屏幕显示打折后的应付金额。

INPUT“请输入购买金额”;X

IFX>=100THEN

S=X*0.9

ELSE

S=X

ENDIF

PRINT“实际付款”;S;“元”

END

例4、输入一个数,判断它是否是3的倍数。

是就显示“YES”,否则显示“NO”。

INPUTX

IFX/3=INT(X/3)THEN

PRINT“YES”

ELSE

PRINT“NO”

ENDIF

END

运行结果:

1)

4

NO

2)

12

YES

第四章循环结构程序设计

一、FOR循环结构

(一)FOR语句格式:

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

循环体

NEXT循环变量

几点说明:

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

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

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

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

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

(6)终止条件:

当步长>0时,循环变量>终值;当步长<0时,循环变量<终值;当步长=0时,永不终止。

(7)循环次数公式:

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

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

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

当执行NEXT语句时,有两个操作:

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

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

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

1)PRINT“*”;

PRINT“*”;

PRINT“*”;

PRINT“*”;

PRINT“*”;

END

运行结果:

*****

2)FORI=1TO5STEP1

PRINT“*”;

NEXTI

END

运行结果:

*****

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

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

S=0

FORI=2TO100STEP2

S=S+I(说明:

此语句是累加语句)

NEXTI

PRINT“S=”;S

END

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

T=0

FORJ=3TO100STEP3

T=T+1

NEXTJ

PRINTT

END

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

T=1

FORI=1TO10

T=T*I(说明:

此语句是累乘语句)

NEXTI

PRINT“1*2*3*……*10=”;T

END

二、DOWHILE语句

DOWHILE语句格式:

DOWHILE<条件>

循环体

LOOP

功能:

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

说明:

DOWHILE循环是当条件成立时开始执行循环体,到LOOP时返回又进行条件比较,若成立又执行循环体,否则退出循环,执行LOOP后的语句。

故在设计循环体是一定要包含有使条件不成立可能的语句,否则将会形成死循环。

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

S=0

I=0

DOWHILEI<=100

S=S+I

I=I+2

LOOP

PRINTS

END

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

基值设为100。

P=100

R=.08

N=0                           

DOWHILEP<=400

P=P*(1+R)

N=N+1

LOOP

PRINTN;"years"

END

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

分析:

设输入分数为X,班总分为S,人数为R。

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

程序如下:

S=0

R=0

INPUTX

DOWHILEX>=0

S=S+X

R=R+1

INPUTX

LOOP

E=S/R

PRINTE

END

练习题:

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

FOR和DOWHILE)。

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

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

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

3○×8256=○3×6528

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1