① 用双重循环实现; ② 用单重循环实现。
双重循环程序: 单重循环程序: For i = 1 To 10 P=1
s = 1 For I=1 To 10
For P=P*I
S=s*j M=M+P
NEXT NEXT I
T=t*s PRINT M
NEXT END
PRINT T
End =4037913
j=1 16
to i j i 运行结果:M 实验九:函数及子程序
一、实验目的:
会用函数和子程序编写程序,重点掌握子程序的建立和调用方法。
二、实验步骤:
1.启动计算机;
2.进入QBASIC编辑状态;
3.做下列题目,把运行正确的程序存入软盘。
(1)已知 f(t)=(1+e)/( 1+e)
f(x+y)/(f(x)+f(y)) x≤y g(x,y)=
f(x-y)/(f(x)+f(y)) x>y 用DEF语句将f,g定义成函数,求g(2.5,3.4),g(7.3,2.6),g(5.5,2.8) 程序清单:
DEF fnf(t) = (1 + Exp(-t)) / (1 + Exp(t))
DEF fng(x, y) If x <= y Then
g = fnf(x + y) / (fnf(x) + fnf(y)) Else
g = fnf(x - y) / (fnf(x) + fnf(y)) End If fng = g End DEF
Print fng(2.5, 3.4), fng(7.3, 2.6), fng(5.5, 2.8) End
(2)求100-200之间的全部素数,用子例程检验一个数是否为素数。
程序清单: Cls
For n = 100 To 200 m = n
k = Int(Sqr(m)) f = 1
For i = 2 To k
If m Mod i = 0 Then f = 0 i = m End If Next i
If f = 1 Then Print n; Next n
End
17
-t
t
实验十:数组
一、实验目的:
掌握数组的定义、赋值、输出及数组的排序方法。
二、实验步骤:
1.启动计算机;
2.进入QBASIC编辑状态;
3.做下列题目并把运行正确的程序存入软盘。
(1) 写出下列程序的运行结果: OPTION BASE 1 DIM a(3,5)
FOR I=1 TO 3
FOR J=1 TO 5 STEP 2 A(I,J)=SGN(I-J)*I PRINT A(I,J)
NEXT J 运行结果:0 -1 -1
2 -2 -2 NEXT I 3 0 -3 END
(2) 程序填空,完成所要求的功能
输出下面的数表(矩阵) 1 0 0 0 2 1 0 0 2 2 1 0 2 2 2 1 DIM A(4,4) FOR I=1 TO 4 FOR J=1 TO 4 A(I,J)=0
IF I=J THEN A(I,J)=1 IF I>J THEN A(I,J)=2 PRINT A(I,J); NEXT J PRINT
NEXT I END
(3) 编程:利用随机函数产生20个300至500之间的随机整数,用紧凑格打印出这组数,
每行打印5 个数,把这20 个数按由小到大的顺序用标准格式打印。 程序清单:
18
Cls
Dim a(25) n = 1
While n <= 20
a(n) = Int(Rnd(1) * 200 + 300) Print a(n); n = n + 1 Wend: Print For i = 1 To 20 For j = i + 1 To 20
If a(i) < a(j) Then SWAP a(i), a(j) Next j, i
For i = 1 To 20 Print 运行结果: If i Mod 492 489 474 472 462
Print 458 454 452 441 415 End 406 404 382 374 372 Next 360 357 311 309 302 End
5 = a(i); 0 Then If I
19
实验十一:字符串应用
一、实验目的:
掌握字符型数据的赋值及字符型数组的排序。
二、实验步骤:
1.启动计算机;
2.进入QBASIC编辑状态。
3.做下列题目并把运行正确的程序存入软盘。 (1)Cls
a$ = \b$ = a$
Mid$(b$, 1, 1) = \ For i = 1 To 5 c$ = Mid$(a$, i)
If c$ < b$ Then Print c$; Next i Print
End 运行结果:HELLOWELLOW
(2)下列程序的作用是将输入的任一字符串按相反的次序打印出来,请根据程序需要在 [1]、[2]处填入所需内容。
Input A$
M=[1]
[1]:LEN(A$)
B$= ― ―
For L=M TO 1 STEP –1 C$=MID$(A$,L,1)
B$=[2]
[2]:B$+C$
Print B$ Next L End
(3) 要找出字符串“This is a book!”中“is”出现的全部位置,在[1],[2],[3]处填入所需内容。 Cls
a$ = \b$ = \an = Len(a$) bn =[1]
[1]: Len(b$) k = 1 x = 1
20