QB程序设计入门-程序设计(I)

来自:http://basicfan.yeah.net/ 作者:赵洋 youngbug@yeah.net
1.程序的构成

  程序是有若干行语句构成的,一般一行一条语句.但是一行有时也可以写多条语句,但每条语句必须用:分开.例如:
PRINT A

PRINT B

PRINT A : PRINT B

上面的两个程序是一样的.

  语句一般分为三部分,行号或者行标识符,语句定义符,语句体.一般在QB中可以不写行号或者行标识符.

  QB的程序一般以END结束,END后如果有语句,QB也不再继续执行了.如果程序没有END,那么程序执行的最后一行也停止了.

2.循环语句

  前面一篇文章介绍一些基本的语句,用那些语句写出的程序计算机都是按照顺序执行的(如果不用GOTO).从开头到结尾每条语句只是执行一次.但有时候某些语句需要多次执行,才能满足程序设计的要求.这就需要用循环语句.QB中提供的循环语句是FORNEXTWHILEWENDDOLOOP三种循环语句.这里先介绍FORNEXT语句.

格式:

FOR 循环变量=初始值 TO 终止值 [STEP 步长增量]

语句串

NEXT 循环变量

FOR是循环语句的入口,表示循环从这里开始,是循环的说明语句;NEXT是循环的出口.FORNEXT之间的语句串就是循环的部分.

语句的执行过程是这样的,比如:

FOR I=1 TO 10

'表示给循环变量I赋初始值值1,终止值是10,步长增量没有设置,系统默认为1

'这里是循环体的开头

PRINT I

'在屏幕上打印I的值

'I的值增加步长增量1,

'如果此时的I的值没有到达终止值,将返回到循环体的开头执行,直到循环变量的值到达终止值

NEXT I

'结束循环

  上面的程序如果看不明白,把它抄到QB中执行一下看看就会明白了.下面来设计一个程序,这个程序要在屏幕上打印出1-20的自然对数表,这个程序可以用FOR NEXT循环.

[例子]在QB中输入以下程序:

CLS
FOR I = 1 TO 20
A = LOG(I)
PRINT "Ln"; I; "="; A
NEXT I
END

F5运行后计算机显示:

Ln 1 = 0
Ln 2 = .6931472
Ln 3 = 1.098612
Ln 4 = 1.386294
Ln 5 = 1.609438
Ln 6 = 1.791759
Ln 7 = 1.94591
Ln 8 = 2.079442
Ln 9 = 2.197225
Ln 10 = 2.302585
Ln 11 = 2.397895
Ln 12 = 2.484907
Ln 13 = 2.564949
Ln 14 = 2.639057
Ln 15 = 2.70805
Ln 16 = 2.772589
Ln 17 = 2.833213
Ln 18 = 2.890372
Ln 19 = 2.944439
Ln 20 = 2.995732

弄明白意思了吧.

注意FOR NEXT循环中还可以嵌套FOR NEXT循环,具体怎么使用看下面的程序自己琢磨吧.

[例子]在QB中输入以下程序:

CLS
FOR A = 1 TO 6
FOR B = 1 TO A
PRINT "*";
NEXT B
PRINT
NEXT A
END

F5运行后屏幕上显示:

*
**
***
****
*****
******

请试着编写求200以内偶数和的程序,可以参照下面求100以内所有3的倍数之和的程序来编写.

[例子]在QB中输入以下程序:

CLS
S = 0
FOR I = 3 TO 99 STEP 3
S = S + I
NEXT I
PRINT S
END

F5运行后屏幕出现结果显示1683.

3.实战应用

  用QB编程解决一个古代的数学问题.有一百匹马,一百块瓦,大马驮3块,小马驮2块,幼马两匹驮1块,问大马,小马和幼马各有多少?

[例子]在QB中输入以下程序:

FOR A = 1 TO 33
FOR B = 1 TO 50
C = 100 - A - B
IF A * 3 + B * 2 + C / 2 = 100 THEN PRINT "大马"; A, "小马"; B, "幼马"; C
NEXT B
NEXT A
END

大马 2 小马 30 幼马 6
大马 5 小马 25 幼马 7
大马 8 小马 20 幼马 7
大马 11 小马 15 幼马 7
大马 14 小马 10 幼马 7
大马 17 小马 5 幼马 7

  介绍这么多东西,对QB应该有一些感觉了吧.如果还是不清楚,一定把前面的的程序自己都在QB中运行一遍,自己修改一些东西,在琢磨一下.