有谁能帮我解释一下Qbasic里Play这个命令的具体用法?

作者&投稿:尉昂 (若有异议请与网页底部的电邮联系)
qbasic常用命令~

你说的是常用命令,我来告诉你:
LET (赋值语句)
格式:[LET] 变量=表达式
功能:先计算右边表达式,然后将结果赋给左边的变量

SWAP (变量值交换语句)
格式:SWAP 变量1,变量2
功能:将变量1和变量2的值进行交换

PRINT (显示或输出语句)
格式:PRINT [表达式表][,|;]
功能:将指定的数据显示在屏幕上

LPRING (打印语句)
格式:LPRINT [表达式表][,|;]
功能:将指定的数据用打印机打印出来

REM (注释语句)
格式1:REM 注释内容
格式2:’ 注释内容
功能:在程序中加以解释来说明该程序段的作用

END (结束语句)
格式:END
功能:结束一个程序

CLS (清屏语句)
格式:CLS
功能:清除屏幕上显示的信息

PRINT USING (自选显示格式语句)
格式:PRINT USING 〈“格式字符串”〉;〈表达式表〉 [;]
功能:根据格式字符串规定的格式,将表达式表中的数据显示在屏幕上

LPRINT USING (自选打印格式语句)
格式:LPRINT USING 〈“格式字符串”〉;〈表达式表〉[;]
功能:根据格式字符串规定的格式,将表达式表中的数据打印在打印机纸上

STOP (暂停语句)
格式:STOP
功能:暂停程序的执行

SLEEP (定时暂停语句)
格式:SLEEP [数值表达式]
功能:暂停执行程序,时间为数值表达式所指定的数值(以秒为单位)

INPUT (键盘输入语句)
格式:INPUT [;][“注释内容”][;|,]变量[,变量]
功能:通过键盘给INPUT语句中的各个变量依次提供数据

LINE INPUT (行输入语句)
格式:LINE INPUT [;][“注释内容”;]字符串变量
功能:将键盘上输入的字符串(最长为255个)赋给字符串变量

READ/DATA(读数/置数语句)
格式:READ 变量 [,变量]…


DATA 常量 [,常量]…
功能:READ语句将DATA语句中提供的数据依次赋给指定的变量

RESTORE (恢复数据区语句)
格式:RESTORE [行号|行标号]
功能:从指定的DATA语句行中读入常量



数值函数

SIN (正弦函数)
格式:SIN (X)
功能:求X的正弦函数值

COS (余弦函数)
格式:COS(X)
功能:求X的余弦函数值

TAN (正切函数)
格式:TAN(X)
功能:求X的正切函数值

ATN (反正切函数)
格式:ATN(X)
功能:求X的反正切函数值
SQR (平方要函数)
格式:SQR(X)
功能:求X的算术平方根值,其中X必须大于或等于零

EXP (指数函数)
格式:EXP(X)
功能:求以e为底的X次幂,e=2.718282

LOG (对数函数)
格式:LOG(X)
功能:求以e为底的自然数值,即In x 的值

SGN (符号函数)
格式:SGN(X)
功能:求自变量X的符号

ABS (绝对值函数)
格式:ABS(X)
功能:求自变量X的绝对值,即|X|

INT (取整函数)
格式:INT(X)
功能:取不大于X值的最大整数

FIX (截取整数函数)
格式:FIX(X)
功能:把一个带有小数的数去掉小数部分,不进行舍入,直接截取整数部分。自变量X可以是任意数值表达式

CINT (转为整数函数)
格式:CINT(X)
功能:把一个带有小数的数转换成整数,对小数部分四舍五入

CLNG (转为长整数函数)
格式:CLNG(X)
功能:把自变量X转变为长整数

CSNG (单精度函数)
格式:CSNG(X)
功能:把数值X转变为单精度数,其中自变量X是一个数值表达式,使用该函数它将被转换成单精度数

CDBL (双精度函数)
格式:CDBL(X)
功能:把数值X转变为双精度数,自变量X可以是任意数值表达式

RND (随机函数)
格式:RND(X)
功能:产生一个0与1之间的随机数

TIMER (?函数)
格式:TIMER
功能:从午夜开始计算秒数

ASCII (ASCII码函数)
格式:ASC(X$)
功能:返回字符串 X$ 第一个字符的ASCII代码

VAL (字符串转数值函数)
格式:VAL(X$)
功能:将字符串 X$ 转换成数值

LEN (测长函数)
格式:LEN(X$)
功能:测量字符串的长度,即字符串的字符个数

INSTR (子字符串检索函数)
格式:INSTR([N,] X$,Y$)
功能:返回字符串 Y$ 在字符串 X$ 中第一次出现的位置


屏幕显示格式中常用的三个函数
TAB (?函数)
格式:TAB(X)
功能:在指定位置X上显示或打印所需要的信息

SPC (?函数)
格式:SPC(X)
功能:空X个空格

SPACE$ (?函数)
格式:SPACE$(N)
功能:返回一个字符串,该字符串由N个空格组成


输入函数
INKEY$ (?函数)
格式:INKEY$
功能:从键盘上读一个字符

INPUT$ (?函数)
格式:INPUT$ (N[,[#] 文件号])
功能:返回从键盘或指定文件中读出的N个字符组成的字符串

CSRLIN (光标行座标函数)
格式:CSRLIN
功能:返回当前光标行座标位置

POS (光标列座标函数)
格式:POS(N)
功能:返回当前光标列座标位置

UBOUND;LBOUND (测试下标上、下界函数)
格式:UBOUND(数组[,维])
LBOUND(数组[,维])
功能:返回一个已定义数组中指定维的上、下界

FRE (测试空字节函数)
格式:FRE(X)
功能:返回空闲内存节数

GOTO
格式:GOTO 行标识符
功能:改变程序的执行顺序,无条件地转去执行GOTO后面所指的行标识符去执行

ON/GOOT
格式:ON 表达式 GOTO 行标识符表
功能:先计算ON后面的表达式的值,再根据计算结果,将程序转移到GOTO所指行标识符表中的某个行标识符去执行

关系运算
= (等于)
> (大于)
>=(大于或等于)
< (小于)
<=(小于或等于)
(不等于)

AND(与)
OR (或)
NOT(非)
表: A B | NOT A | NOT B | A AND B | A OR B
1 1 | 0 | 0 | 1 | 1
1 0 | 0 | 1 | 0 | 1
0 1 | 1 | 0 | 0 | 1
0 0 | 1 | 1 | 0 | 0
逻辑运行顺序: NOT—AND—OR
()—算术—关系—逻辑

IF (条件语句)
单行 IF 条件语句
格式:IF 条件 THEN 语句序列1 [ELSE 语句序列2]
功能:首先计算条件的值,如果为真则执行THEN后的语句序列1,否则执行ELSE后面的语句序列2

块结构 IF 条件语句
格式:IF 条件1 THEN
[语句块1]
[ELSEIF 条件2 THEN
[语句块2]
……
[ELSE
[语句块n]]
END IF

CASE (条件语句)
格式: SELECT CASE 测试表达式
CASE 表达式表1
[语句块1]
[CASE 表达式表2
[语句块2]]
……
[CASE ELSE
[语句块N]]
END SELECT
功能:根据表达式的值,从多个语句块中选择符合条件的一个语句块执行

FOR/NEXT(循环语句)
格式:FOR A=E1 TO E2 STEP E3
循环体
NEXT A
说明: FOR 语句为循环说明语句,它说明了循环的次数FOR TO STEP 为语句定义符
A--循环控制变量,可以用任一简单变量表示
E1--循环控制变量的初值
E2--循环控制变量的终值
E3--循环控制变量的增值,也称步长
NEXT 语句为循环终端语句,它与FOR语句必须成对出现 NEXT语句中的循环控制变量必须与FOR语句中的一致
循环体由一条或多条语句构成,是被重复执行的部分

WHILE/WEND (循环语句)
格式: WHILE
循环体
WEND
说明: WHILE是循环的起始语句又称说明语句,它的作用是给出循环条件 WEND是循环的终止语句.
代表一个逻辑条件,它可以是一个关系表达式也可以是一个逻辑表达式,还可以是一个变量或常数


DO/LOOP (循环语句)
格式1: DO[(WHILE 或 UNTIL)条件]
循环体
[EXIT DO]
LOOP

格式2: DO
循环体
[EXIT DO]
LOOP[(WHILE 或 UNTIL)条件]
说明: 如果条件永远成DO-LOOP循环可能陷入"死循环"这时可用EXIT DO 来退出循环
DO循环可以嵌套,其规则与FOR-NEXT循环相同

字符串函数
CHR$ (字符函数)
格式:CHR$ (N)
功能:将ASCII码值N转换成它所表示的字符

MID$ (取中间字符串函数)
格式:MID$ (A$, N [,M])
功能:从字符串A$中,第N个字符起,取出M个字符

STRING$
格式1:STRING$(N, X)
功能: 产生N个ASCII码X所对应的字符.通常用在无法从键盘按输入的字符
格式2:STRING$(N, X$)
功能: 产生N个字符串X$中的第一个字符

OCT$ (十进制转八进制函数)
格式:OCT$ (X)
功能:将十进制数值转换成八进制字符串

STR$ (数值转换成字符串函数)
格式:STR$ (X)
功能:将数值数据转换成字符串数据

LTRIM$ (删除字符串左边空格函数)
格式:LTRIM$ (X$)
功能:删除字符串X$左边的空格

RTRIM$ (删除字符串右边空格函数)
格式:RTRIM$ (X$)
功能:删除字符串数据X$右边的空格

LCASE$ (小写函数)
格式:LCASE$ (A$)
功能:将A$中所有大写字母改成小写

UCASE$ (大写函数)
格式:UCASE$(A$)
功能:将A$中所有小写字母改成大写

TRIM$ (两头截空函数)
格式:TRIM$ (A$)
功能:截去字符串A$的头尾所有空格

LEFT$ (左取函数)
格式:LEFT$(A$,N)
功能:得到字符串A$最左边的N个字符

RIGHT$ (右取函数)
格式:RIGHT$(A$,N)
功能:得到字符串A$最右边的N个字符

HEX$(十进制数转换十六进制字符串)
格式:HEX$(N)
功能:将十进制数N转换成十六进制字符串

MKI$ (把整数转换为字符串)

IKL$ (把长整数转换为字符串)

MKS$ (把单精度数转换为字符串)

DATE$/TIME$ (取得系统的日期/时间)

GOSUB/RETURN (调用子程序语句和返回语句)
GOSUB (调用子程序)
格式: GOSUB
功能:用于转移到子程序的入口语句去执行
RETURN (子程序返回语句)
格式:RETURN []
功能:用于子程序执行完毕从子程序返回,作为子程序的结束语句

DEF FN (用户自定义函数)
格式1: DEF FN [(参数表)]=
格式2: DEF FN [(参数表)]
语句块
FN =
END DEF
功能: 定义一个用户自己的函数

SUB (过程定义)
格式: SUB 过程名[(参数表)][STATIC]
语句序列
END SUB
功能: 定义一个SUB过程

FUNCTION (过程定义)
格式: FUNCTION 过程名[(参数表)][STATIC]
语句序列
过程名=表达式
END FUNCTION
功能: 定义FUNCTION函数过程

DECLARE (过程说明语句)
格式: DECLARE [RUNCTION/SUB] 过程名[(参数表)]
功能: 对被调用的过程进行说明,对传递的自变量进行检查

DIM SHARED / COMMON SHARED (定义全局变量)
格试: DIM SHARED 变量名表 / COMMON SHARED 变量名表
功能: 将变量名表中的变量定义为全局变量

STATIC (定义局部变量)
格式: STATIC 变量表
功能: 在DEF FN 函数、FUNCTION 或 SUB 过程中把变量定义为局部变量

SHARED (共享变量)
格式: SHARED 变量[AS类型][,变量[AS类型]…
功能: 使主程序与某个过程共享变量

DIM (数组定义)
格式: DIM[SHARED] 变量 [(下标)][AS类型][,变量[(下标)][AS类型]]…
功能:说明变量或数组并分配存储空间

REDIM (改变分配给数组的空间)
格式: REDIM[SHARED] 变量 (下标)[AS类型][,变量(下标[AS类型]……
功能: 改变分配给动态数组的空间

OPTION BASE (?)
格式: OPTION BASE n
功能: 指定数组下标的缺省下界

OPEN (打开或建立文件)
格式1: OPEN 文件说明[FOR 方式1] AS [#] 文件号 [LEN=记录长度]
格式2: OPEN 方式2,[#] 文件号,文件说明[,记录长度]
说明:
1.在格式1中,"方式1"指定文件的输入/输出有以下几种方式:
OUTPUT 指定顺序输出方式
INPUT 指定顺序输入方式
APPEND 指定顺序添加方式
RANDOM 指定随机存取方式,也是缺省方式
2.格式2中的"方式2"指的是以下几种字符
O 指定顺序输出方式
I 指定顺序输入方式
R 指定随机读/写方式
A 指定顺序添加方式

CLOSE (结束文件的读/写操作)
格式:CLOSE [[#] 文件号 [, [#] 文件号 ]……]
功能: 结束文件的读/写操作

FREEFILE
格式:FREEFILE
功能:产生一个尚未使用的最小文件号

LOC
格式:LOC(N)
功能: 返回文件号为N的指定文件的当前位置

LOF
格式:LOF(N)
功能: 返回文件长度

PRINT#
格式:PRINT# 文件号,[USING 格式字符串;] 表达式[{,|;}]
功能: 把数据写入顺序文件中

WRITE#
格式:WRITE# 文件号,表达式表
功能: 把数据写入顺序文件中

INPUT#
格式:INPUT# 文件号,变量名
功能:从顺序文件中读出数据,并把读出的数据赋给相应的程序变量

LINE INPUT#
格式: LINE INPUT# 文件号,字符串变量
功能: 从顺序文件中读取一整行的数据,并赋给其后的字符串变量

EOF
格式: EOF(文件号)
功能:检查文件是否已读完

CLS
格式:CLS[0|1|2]
功能:清除部分或全部屏幕信息
说明: CLS 0 清除整个屏幕,系统缺省值
CLS 1 如果利用VIEW语句设置过图形视见区,则清除该区,否则清除整个画面
CLS 2 清除文本视见区,但屏幕的最底行仍保持不变

WIDTH
格式: 1. WIDTH 宽度
2. WIDTH LPRINT 宽度
功能: 语句格式1的功能是改变屏幕显示行的宽度,2的功能是改变打印机输出行的宽度

SCREEN
格式: SCREEN [模式][,颜色][,当前页][,可见页]
功能: 设置屏幕显示方式

PSET
格式:PSET [STEP](X,Y)[,颜色号]
功能:在指定的坐标位置上,以指定的颜色画一个点

PRESET
格式: PRESET [STEP](X,Y)[,颜色号]
功能:在屏幕的指定位置(X,Y)上画一个点

LINE
格式: LINE[[STEP](X1,Y1)]-[STEP](X2,Y2)[,[颜色号],[,B[F]][,类型符]
功能:在屏幕上画线段或矩形框

CIRCLE
格式: CIRCLE[STEP](X,Y)半径[,颜色][,起始角][,终止角][,纵横比]
功能: 以(X,Y)为圆心,用给定的半径画圆 椭圆或圆弧

DRAW
格式: DRAW 字符串
功能: 按语句中的字符串,逐步描绘出图形


COLOR
格式: 1. COLOR [前景色][,背景色][,边框色]
2. COLOR [背景色][,调色板]

PAINT
格式: PAINT [STEP](X,Y)[,颜色号][,边框色]
功能:给一个封闭的图形,涂上指定的颜色和边框色


VIEW
格式: VIEW [[SCREEN](X1,Y1)-(X2,Y2)[,[颜色号][,边框色]]]
功能:定义输出图形的屏幕尺寸

VIEW PRINT
格式: VIEW PRINT [顶行 TO 底行]
功能: 在屏幕上定义一个文本输出区域

WINDOW
格式: WINDOW[[SCREEN](X1,Y1)-(X2,Y2)
功能:定义当前视见区的逻辑尺寸

GET
格式: GET [STEP](X1,Y1)-[STEP](X2,Y2),数组名[(下标)]
功能:把屏幕上指定区域的图形映象存放到"数组"中

PUT
格式: PUT[STEP](X,Y),数组名[(下标)][,显示方式]
功能: 将GET语句所存入数组中的图形映象在屏幕所指定的区域重新显示出来

BEEP
格式: BEEP
功能: 使电脑喇叭发出"嘟"的一声

SOUND
格式: SOUND 频率,音长
功能: 使喇叭发出一定频率延时的声音

PLAY
格式: PLAY 命令字符串
功能: 用给定字符串表示的音乐演奏
楼上的好像没学过qbasic吗,要加油啊!!

Qbasic音乐编程 2006-4-11 17:04:37
QB中提供了专门的演奏音乐的语句PLAY和通用的发声语句SOUND,不过由于那会儿多媒体并不像如今这般流行,所以所谓的音乐也仅仅相当于手机中的单音铃声。对于听惯了低音炮、立体声、混响的我们,偶尔自娱自乐还是挺不错的:)

下面先介绍PLAY语句
功能:演奏由给定的字符串所表示的音乐
格式:PLAY [命令字符串]
说明:[命令字符串]是一种音乐语言单个字符命令组成,用以表示音符的音高、音长、速度及演奏方式等。
乐谱中的音符CDEFGAB(当1=C时相当于简符1234567)在BASIC中仍然是这7个字母,“#”(或“+”)号与“-”号分别表示乐谱中的升半音(#)和降半音(b),字符“.”代表延长前面音符的一半时长(用来表示附点音符),其他字符命今如下:
1、O命令
功能:用来设置要演奏的音符所在的八度,即音阶。
格式:On
说明:命令中n的取值为0-6。比如.使计算机在演奏完音阶3的CD之后,再演奏一个高八度的C,即音阶4中的c调,可以用PLAY “O3CDO4C”来实现。普通中音是指音阶3中的音符。
2、L命令
功能;用来设置要演奏的每个音符的长度(亦称音符的时值)。
格式:Ln
说明:n的取值1-64,L1表示以全音符,L2表示半音符,L4表示四分音符,L8表示八分音符……
一个音符的时值也可以直接写在该音符后面,而不用L命令。如L8A与A8等效,C4E4D4A4等效于L4CEDA,而L4CDEFC2AB2则表示音符后面不带数字的按L设定的四分音符演奏,后面带数字的G2和B2按数字指定的音值演奏,显然用L命令更简洁方便。
3、P命令
功能:表示休止符的长度
格式:Pn
说明:n的取值1-64,P1表示全休止符.P2表示半休止符,P4表示四分休止符……
4、T命令
功能;用来设置演奏的节拍速度。
格式:Tn
说明:n为每分钟演奏四分音符的数量,取值32-255,缺省是T120
注意:除了T命令外还可以用以下三个命令来控制演奏的速度:
(1)MN(音乐标准):它使每个音符以L设定的音值的7/8来演奏,使得两两音符之间有短暂的停顿。
(2)ML(音乐连奏);使演奏时两两音符间不停顿,每个音符将演奏足L规定的音长。
(3)Ms(音乐断音):使每个音符更短一些,以L给出的音值的3/4来演奏,以此来延长音符间的停顿。
另外.QB演奏音乐时有两种方式供选择:前台音乐和背景音乐。由MF和MB来确定。当“命令字符串”中出现MF时,表示在前台插放音乐.即QB要等到执行完PLAY语句后才能继续往下执行程序,在播放音乐时不能做其它的事情。而出现MB时,则表示在后台播放音乐,QB可以将最多32个音符或休止符保存在缓冲区,然后继续执行下面程序,而无需等待把这些音符全部演奏完。这样,MB允许QB在演奏的同时做一些其它的事情,如运算、绘图等等。
现在,在了解了PLAY语句使用方法的基础上我们编制一个简单的程序,来演奏《友谊地久天长》的片断,其相应的简谱如下:
我们把这段乐曲分四部分,每部分单独用一字符串表示,为使两部分间有短暂停顿,在每一部分的末端都用MN演奏。乐曲中连线处用ML连贯演奏。
A$="O2MNG O3C.C16CE D.C16DE C.C16EG MNA4."
B$="A G.E16EC D.C16DE C.O2A16AG O3MNC4."
C$="A MLG.E16EC D.C16MNDA MLG.E16EG MNA4."
D$="O4C O3G.E16EC D.C16DE C.O2A16AG O3C4."
PLAY "T60 L8"+A$+B$+C$+D$
END
为清晰起见,程序中各小节的音乐编码之间以空格分开,这样编码与乐谱之间的对应关系一目了然。




Qbasic音乐编程之 play语句 2006-4-11 17:06:42
PLAY里有用的字母只有: T O L MS MN ML
T代表速度,"t140"表示140拍/分钟,但是如果你写"t120",那就和没写一样,因为t120是默认值
O代表音高,"o2"表示中音,"o3"表示高音,但是如果你写"o4",那就和没写一样,理由同上
ML表示演奏ML以后的音的100%长度
MN表示演奏MN以后的音的87.5%长度,是默认值
MS表示演奏MS以后的音的75%长度

举例子PLAY "t140mno3e8e8e8c8o2g4g4o3e8e8e8c8e2g8g8e8c8o2g8g8g4a8b8o3c8e8d2"
t140说的是,一分钟140拍
mn说的是,每个音都演奏87.5%长度,空12.5%
o3说的是音高,如果你想升一个8音度,可以改成o4
e8代表8分音符的咪,e2代表2分音符
如果你想听一个符点2分音符,则要变成e2.,这和音乐里是一样的

下面要把上面的那条语句做一点变动,可以使你更好的理解各个字母的含义
首先变成PLAY "t140mno3e8e8e8c8o2g4g4o3t160e8e8e8c8e2t180g8g8e8c8o2g8g8g4a8b8o3c8e8d2"
感觉如何?basic提供的速度的范围是 32-255
然后变成PLAY "t140mso3e8e8e8c8o2g4g4o3mne8e8e8c8e2mlg8g8e8c8o2g8g8g4a8b8o3c8e8d2"
这就是mn,ms,ml的区别
另外,对于程序中的那一堆8,你是否感觉到很烦人呢?
PLAY "t140mno3e8e8e8c8o2g4g4o3e8e8e8c8e2g8g8e8c8o2g8g8g4a8b8o3c8e8d2"
那么,我把它变成PLAY "t140mnl8o3eeeco2g4g4o3eeece2ggeco2ggg4abo3ced2"
和原来是一样的,这就是L的用法。L的默认值是4
也就是说,原程序可以变成PLAY "t140mno3e8e8e8c8o2ggo3e8e8e8c8e2g8g8e8c8o2g8g8ga8b8o3c8e8d2"

叙述一下mn ms ml的用法,以及每个音的长度等问题,使得乐曲听起来更加圆润

首先说一下P的用法。P代表休止,如P4代表空一拍,P8代表空半拍等等
但要注意,P不受L的限制,P后面必须要跟一个数。例如你想空半拍,写成L8P,是不对的,只能写成P8

还拿上一部分的例子
PLAY "t140mno3e8e8e8c8o2g4g4o3e8e8e8c8e2g8g8e8c8o2g8g8g4a8b8o3c8e8d2"
相信我写成Play"t140o3l8eeecl4o2ggo3l8eeece2ggeco2ggg4abo3ced2"你也能看的懂,和原来一样的

听了之后,发现有些声音太长了,有些声音不够圆滑
于是将其改为:PLAY "t140o3l8eeeco2g4g4o3l8eeece4.p8ggeco2ggg4mlabo3cmned4.p8"

另外有时看曲谱上是顿音记号,可是在听或演奏时,发现用ms还是太长了,那么就应该把o3msc8(举例)改成o3mlc16p16

下面说音长的问题,重点就是每个小节或每个音该有多长,就要写多长,绝对不能多一点少一点
比如前缀音:PLAY "t160mlo3f32mne8f8"
我本意是在e8前加一个f32的前缀,结果这一拍多了个32分音符,那么一定要改成:
PLAY "t160mlo3f32e16e64p64mnf8"
似乎有点吹毛求疵,但即使你听不出来差别,拿给一个耳朵好的人,他听着就会很不爽
CZARDAS舞曲
PLAY "t85p8l8o1mlao2c32o1b-16b-32mna"
PLAY "o2mla2mnaffgmlf64g64f16f32mne"
PLAY "mlb-2mnb-o1b-mlb-mnamlo2c+mneggmlfmnc+"
PLAY "mlemndmld64e64d64p64msl16c+de"
PLAY "mnf8mlo1a8"
PLAY "l8o1mlo2c32o1b-16b-32mna"
PLAY "o2mla2mnaffgmlf64g64f16f32mne"
PLAY "mlb-2mnb-o1b-mlb-mnamlo2dmnc+mlg4.mnemlemnd"
PLAY "mld64e64d16d32c+mnd4p4"

PLAY "t85l24mlo2c4cegb-o3cmneg16.mlf32mne16.d32mlc8mno2b-8"
PLAY "mlb-8mna8mla64b-64a32a8mng+16a4p4"
PLAY "mlo1a4ao2c+egamno3c+e8c+8mla8mno2a8mlo3e8mnd8"
PLAY "mll16d64e64d32c+dmnef4f4"
PLAY "mlf4o2b-4t78l36b-p36o3efed+efel12gfmne"
PLAY "mle8mno2a8mla4mna8l16mlg+mnab-at70mlo3c16.mnt75o2b-32"
PLAY "t78mll16o2b-64o3c64o2b-32aa64b-64a32mng"
PLAY "mlg64a64g32ff64g64f32mne"
PLAY "t76mla4.mnt74e8mlt71e8mnd8mlt67d64e64d32d16mnc+8d4p4"

PLAY "t85l24mlo2c4cegb-o3cmneg16.mlf32mne16.d32mlc8mno2b-8"
PLAY "mlb-8mna8mla64b-64a32a8mng+16a4p4"
PLAY "mlo1a4ao2c+egamno3c+e8c+8mla8mno2a8mlo3e8mnd8"
PLAY "mll16d64e64d32c+dmnef4f4"
PLAY "mlf4o2b-4t78l36b-p36o3efed+efel12gfmne"
PLAY "mle8mno2a8mla4mna8l16mlg+mnab-at70mlo3c16.mnt75o2b-32"
PLAY "t78mll16o2b-64o3c64o2b-32aa64b-64a32mng"
PLAY "mlg64a64g32ff64g64f32mne"
PLAY "t76mla4.mnt74e8mlt71e8mnd8mlt67d64e64d32d16mnc+8d4p4"

PLAY "t170o3msl8do4dp8o3b-p8ap8femnd4msc+mld4mndp8"
PLAY "l16defedefedefedefdmnf8e4msd+8mle4mne8p8"
PLAY "gab-agab-agab-agb-agfgagfgagfgagfagf"
PLAY "o2abo3c+defgab-agfedc+emne8d4msc+8"
PLAY "mnd4p4"

PLAY "t170o3msl8do4dp8o3b-p8ap8femnd4msc+mld4mndp8"
PLAY "l16defedefedefedefdmnf8e4msd+8mle4mne8p8"
PLAY "gab-agab-agab-agb-agfgagfgagfgagfagf"
PLAY "o2abo3c+defgab-agfedc+emne8d4msc+8"
PLAY "mnd4p4"

PLAY "t170mll16o3c64d64c64mso2bo3cegb-ge"
PLAY "mll16o3c64d64c64mso2bo3cegb-ge"
PLAY "o2b-ab-o3cdefgmla4mna8p8"
PLAY "mlo2b-64a32msg+ao3c+egec+"
PLAY "mlo2b-64a32msg+ao3c+egec+"
PLAY "mlo2b-64a32msg+abo3c+dedmlf4mnf8p8"
PLAY "msb-agab-agab-agab-agb-agfgagfgagfgagfa"
PLAY "mno2abo3c+defgab-agfedc+emse8mnd4msc+8mnd4p4"

PLAY "t170mll16o3c64d64c64mso2bo3cegb-ge"
PLAY "mll16o3c64d64c64mso2bo3cegb-ge"
PLAY "o2b-ab-o3cdefgmla4mna8p8"
PLAY "mlo2b-64a32msg+ao3c+egec+"
PLAY "mlo2b-64a32msg+ao3c+egec+"
PLAY "mlo2b-64a32msg+abo3c+dedmlf4mnf8p8"
PLAY "msb-agab-agab-agab-agb-agfgagfgagfgagfa"
PLAY "mno2abo3c+defgab-agfedc+emse8mnd4msc+8mnd4p4"

PLAY "t105mno4l16d4o3a8.a16mlb8mna8mlg8mnf+8"
PLAY "mlf+8mne8t210mle32f+32e64e64e64p64t105mnd+egb2"
PLAY "l8mlb.mnc+16mlc+mno4emle.mno3g16gmsgmlgmnf+"
PLAY "t210mlf+32g32f+64f+64f+64t105mne16d16e16f+2"
PLAY "mno4l16d4o3a8.a16mlb8mna8mlg8mnf+8"
PLAY "mlf+8mne8t210mle32f+32e64e64e64p64t100mnd+egb2"
PLAY "l8o4mld.mno3a16aamlbmnaac+mlemndmld64e64d32d32d64p64msc+mnd4p4"

PLAY "t95o5mnl8d4o4a.a16mlbmnamlgmnf+mlf+mnemlemngb2"
PLAY "b.msa16mnaamlo5c+mno4bmlamngmlgmnf+mlf+mnff+2"
PLAY "o5mnl8d4o4a.a16mlbmnamlgmnf+mlf+mnemlemngb2"
PLAY "o5d4o4a.msa16mlt92bmnamlt90amnc+mlt86emndmldmnc+d2"

PLAY "t170mll16o3c64d64c64mso2bo3cegb-ge"
PLAY "mll16o3c64d64c64mso2bo3cegb-ge"
PLAY "o2b-ab-o3cdefgmla4mna8p8"
PLAY "mlo2b-64a32msg+ao3c+egec+"
PLAY "mlo2b-64a32msg+ao3c+egec+"
PLAY "mlo2b-64a32msg+abo3c+dedmlf4mnf8p8"
PLAY "msb-agab-agab-agab-agb-agfgagfgagfgagfa"
PLAY "o2abo3c+defgab-ag+ag+abo4c+mnd8p8p4p2"

PLAY "t170o3mnd8o4d4o3b4a4f+8mse8mnd4msc+8mld4mnd8p8"
PLAY "l16msdef+edef+edef+edef+dmnf+8e4msd+8mle4mne8p8"
PLAY "msgabagabagabagbagf+gagf+gagf+gagf+gaf+"
PLAY "ef+g+f+ef+g+f+mnef+gf+ef+g+e"
PLAY "a8a4a4a4o2a8"

PLAY "t170o3mnd8o4d4o3b4a4f+8mse8mnd4msc+8mld4mnd8p8"
PLAY "l16msdef+edef+edef+edef+dmnf+8e4msd+8mle4mne8p8"
PLAY "l16gabagabagabagbagf+gagf+gagf+gagf+gaf+ed+ef+gf+ga"
PLAY "mlbmnag+ag+abo4c+o4d4p4o3t160a4p4o2d2"

功能:演奏由给定的字符串所表示的音乐
格式:PLAY [命令字符串]
说明:[命令字符串]是一种音乐语言单个字符命令组成,用以表示音符的音高、音长、速度及演奏方式等。
乐谱中的音符CDEFGAB(当1=C时相当于简符1234567)在BASIC中仍然是这7个字母,“#”(或“+”)号与“-”号分别表示乐谱中的升半音(#)和降半音(b),字符“.”代表延长前面音符的一半时长(用来表示附点音符),其他字符命今如下:
1、O命令
功能:用来设置要演奏的音符所在的八度,即音阶。
格式:On
说明:命令中n的取值为0-6。比如.使计算机在演奏完音阶3的CD之后,再演奏一个高八度的C,即音阶4中的c调,可以用PLAY “O3CDO4C”来实现。普通中音是指音阶3中的音符。
2、L命令
功能;用来设置要演奏的每个音符的长度(亦称音符的时值)。
格式:Ln
说明:n的取值1-64,L1表示以全音符,L2表示半音符,L4表示四分音符,L8表示八分音符……
一个音符的时值也可以直接写在该音符后面,而不用L命令。如L8A与A8等效,C4E4D4A4等效于L4CEDA,而L4CDEFC2AB2则表示音符后面不带数字的按L设定的四分音符演奏,后面带数字的G2和B2按数字指定的音值演奏,显然用L命令更简洁方便。
3、P命令
功能:表示休止符的长度
格式:Pn
说明:n的取值1-64,P1表示全休止符.P2表示半休止符,P4表示四分休止符……
4、T命令
功能;用来设置演奏的节拍速度。
格式:Tn
说明:n为每分钟演奏四分音符的数量,取值32-255,缺省是T120
注意:除了T命令外还可以用以下三个命令来控制演奏的速度:
(1)MN(音乐标准):它使每个音符以L设定的音值的7/8来演奏,使得两两音符之间有短暂的停顿。
(2)ML(音乐连奏);使演奏时两两音符间不停顿,每个音符将演奏足L规定的音长。
(3)Ms(音乐断音):使每个音符更短一些,以L给出的音值的3/4来演奏,以此来延长音符间的停顿。
另外.QB演奏音乐时有两种方式供选择:前台音乐和背景音乐。由MF和MB来确定。当“命令字符串”中出现MF时,表示在前台插放音乐.即QB要等到执行完PLAY语句后才能继续往下执行程序,在播放音乐时不能做其它的事情。而出现MB时,则表示在后台播放音乐,QB可以将最多32个音符或休止符保存在缓冲区,然后继续执行下面程序,而无需等待把这些音符全部演奏完。这样,MB允许QB在演奏的同时做一些其它的事情,如运算、绘图等等。
现在,在了解了PLAY语句使用方法的基础上我们编制一个简单的程序,来演奏《友谊地久天长》的片断,其相应的简谱如下:
我们把这段乐曲分四部分,每部分单独用一字符串表示,为使两部分间有短暂停顿,在每一部分的末端都用MN演奏。乐曲中连线处用ML连贯演奏。
A$="O2MNG O3C.C16CE D.C16DE C.C16EG MNA4."
B$="A G.E16EC D.C16DE C.O2A16AG O3MNC4."
C$="A MLG.E16EC D.C16MNDA MLG.E16EG MNA4."
D$="O4C O3G.E16EC D.C16DE C.O2A16AG O3C4."
PLAY "T60 L8"+A$+B$+C$+D$
END
为清晰起见,程序中各小节的音乐编码之间以空格分开,这样编码与乐谱之间的对应关系一目了然。


谁能跟我解释一下1q31.1、2p24.3这些是什么意思啊?我知道这些是有关基因...
拿1q31.1来说,“1”指1号染色体,“q”指长臂。3是区号,是从着丝粒往外数第三区的意思 3后边的1是带号。通常是做界标的为各区的1号带 在高分辨显带技术下,还可分出亚带,点后的数字就是亚带号。后面还有数字的话是次亚带 1q31.1是1号染色体长臂3区1号带1亚带 ...

谁能详细的解释一下一个QQ号文件夹里面都是什么文件
同时面板可隐藏.读取失败则不显示.所有面板都不可隐藏.多登陆几次就可以了.网络读取成功以后会在qq目录AirDLIcon下产生ico文件和配置文件 其他没有注明的部分目录会在第一次登陆qq时产生.产生的文件都可安全删除.比如QLoveFiles目录.log目录等 [dat]里面的 ad.gif default_av_chatroom.gif ...

高手些,帮我解释QQ被盗之后回来怎么又被盗?
我QQ最近被盗好多迟了,找回来,把所有密码保护之内的东西都整好了,没几天又被盗,高手些,帮我解释一下究竟是怎么回事?还有怎么保护好自己的QQ,那样才不会被别人盗?... 我QQ最近被盗好多迟了,找回来,把所有密码保护之内的东西都整好了,没几天又被盗,高手些,帮我解释一下究竟是怎么回事?还有怎么保护好自己的QQ...

谁能帮我解释解释 QEHSM 体系是什么东西啊??
QEHSM Q:quality,质量 质量管理体系ISO9000 E:environment,环境 环境管理体系ISO14000 HS health,健康 safety,安全 职业健康安全管理体系OHSAS18000 M:management,管理 三标一体化管理体系 === 三标一体化管理体系是一个组织为实施三标一体化管理(质量、环境、安全)所需要的一体化组织结构、程序...

谁给解释一下三菱Q系列PLC程序!
同样道理,K1Y12C0表示起始位置为Y12C0的一个位元件组包括Y12C0~Y12C3 。MOV K1X80 K1Y12C0表示将起始位置为X80的一个位元件组内的数据传送到起始位置为Y12C0的一个位元件组中。Y12C5表示地址为12C0的输出继电器,由于Q系列PLC输入输出继电器是按照十六进制排列的。所以,编号从0~9,A~F,共...

谁能帮我解释解释啊!
因为最终铜块与水或者煤油的温度相等,但因为水相对难以加热,所以平衡后水的温度比煤油低。也就是说铜块在水中降低的温度要高,所以铜块在水中放热较多。明白了吗,有不懂得欢迎再问

谁能帮我解释一下assure和ensure的区别
assure和ensure的区别:含义不同、用法不同、侧重点不同 一、含义不同 assure vt. 使确信;使放心 ensure vt. 担保;保证;使安全;确保 二、用法不同 assure assure是及物动词,可接名词或代词(不可接that从句)作简单宾语。assure可接双宾语,这时表物的宾语须由介词of引出; 表人的宾语如置于表物...

...被动和Q技能,我看不太懂 谁帮我解释一下下 还有出装还是原来的...
被动:[新]冰霜射击:艾希的普通攻击和技能伤害会对目标造成减速效果。艾希的普通攻击会对被减速的目标造成额外伤害,但代价是她无法造成暴击。额外伤害会随着她暴击几率的增加而提升。Q:游侠的专注:被动:每当艾希减速一个敌人,她就会获得一层【专注】效果,此效果最多叠加五层。主动:艾希获得小幅的攻...

Q吧,帮我解释下,不怎么懂啊
aQ吧 Q吧达到在线等级4级(也就是Q吧内发表或回复后自己昵称前面的图标显示为一个绿色的幼苗)的时候,QQtips图标就可以点亮了,每天积累有上限(看30个帖子,累计32天\/不用连续),图标才能亮

能帮我解释一下以下物理公式吗?
气压定律P\/T=常量 波义耳定律(Boyle's law,有时又称 Mariotte's Law):在定量定温下,理想气体的体积与气体的压力成反比。是由英国化学家波义耳(Boyle),在1662年根据实验结果提出:“在密闭容器中的定量气体,在恒温下,气体的压力和体积成反比关系。”称之为波义耳定律。这是人类历史上第一个...

盂县15646133604: 谁能告诉我怎样用QBASIC编歌的秘诀? -
赖苛半夏: Qbasic音乐编程 2006-4-11 17:04:37 QB中提供了专门的演奏音乐的语句PLAY和通用的发声语句SOUND,不过由于那会儿多媒体并不像如今这般流行,所以所谓的音乐也仅仅相当于手机中的单音铃声.对于听惯了低音炮、立体声、混响的我们...

盂县15646133604: 求QBASIC简单语言的解释!!!!急!!!
赖苛半夏: 意思很简单: 第一行的I变量控制行数,让它从1到5,意思是一共print 5行; 第二行的J变量控制每行的"*"的个数让它也从1到5,意思一共打印5次"*";并且和第三行的TAB函数连用,同时设定每个"*"应该print在哪个位置(TAB函数带不同的值可以得到屏幕上不同位置,你自己可以试试看); 第四、五、六行不用我说了吧

盂县15646133604: 有谁能帮我解释一下Qbasic里Play这个命令的具体用法? -
赖苛半夏: 功能:演奏由给定的字符串所表示的音乐 格式:PLAY [命令字符串] 说明:[命令字符串]是一种音乐语言单个字符命令组成,用以表示音符的音高、音长、速度及演奏方式等. 乐谱中的音符CDEFGAB(当1=C时相当于简符1234567)在BASIC...

盂县15646133604: 谁能详细清楚地帮我解释一下*p=&a[0]的意思含义啊,谢谢了!! -
赖苛半夏: 首先你这里*p是在初始化呢还是在赋值呢?如果是 int *p=&a[0];这样的话.那么意思就是说,将数组a的第一个元素的地址交给p这个指针保存 如果是 *p在被赋值,那么前提是你的p必须已经指向了一块内存比如如下:int i; int *p=&i; 如果是这样....

盂县15646133604: 谁帮我解释一下这个c程序,谢谢! -
赖苛半夏: char p[20],*q=p; 首先定义了一个数组P[20],一个char型指针, 然后将数组P[20]的首地址赋给指针q.scanf(“%s %s”,p,q);//向P[20]和指针所指...

盂县15646133604: 在QBasic里,逗号和冒号的使用规则是什么? -
赖苛半夏: 参数 和 参数 间 用“,”分隔 语句 和 语句 间 “:”分隔 “,” “:” 不能通用!例子:Call Fun(a,b,c) '参数 和 参数 间 用“,”分隔 cls:a=1:b=b+a:print b 语句 和 语句 间 “:”分隔

盂县15646133604: C++问题:请帮我解释一下下面程序中的*q++=*p是什么意思,谢谢了 -
赖苛半夏: 两个指针之间的赋值问题,就是把指针P的内容赋值给指针q,然后指针q指向下一个元素.

盂县15646133604: 在等边三角形ABC所在的平面上找一点P,使△PAB、△PBC,△PAC都是等腰三角形,这样的P点有几个? -
赖苛半夏: 只有一点因为要使△PAB、△PBC,△PAC都是等腰三角形 则P点到AB,AC,BC三条边的距离要相等, 则P点必在角A的平分线上,也必在角B的平分线上,也必在角C的平分线上, 所以只有一点.

盂县15646133604: 谁能帮我解释一下《条件概率模型》P(AIB)=P(AB)/P(B) 是怎么得出来的?应怎么解释?为什么用两个事件同时发生的概率去除以条件B发生的概率等于B条... -
赖苛半夏:[答案] 哇,真的有高手.我懂了,P(AIB)最终要问的是A发生的概率,而P(AB)问的是AB都发生的概率,对不对?那为什么除以P(B)?原理是什么?

盂县15646133604: QBASIC编程题解释 -
赖苛半夏: 20 input "n=";n if n mod 2<>0 then 20'如果不是偶数就跳到20去 for x=1 to n-1'在n-1之间取一整数 for k=2 to n-1'这里可以改成for k=2 to n\2+1 if x mod k=0 then 10'判断x是不是素数 next k for k=2 to n-x-1 if (n-x) mod k=0 then 10'判断n-x是不是素数 next k y=n-x print n;"=";x;"+";y'如果两者都是素数的话就打印出来10 next x end 不知道清楚了没?

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网