①求和类:
1. 计算S=1!+2!+3!+4!+。。。。。。+N! S=0
K=1
INPUT "N=" TO N FOR i=1 TO N K=K*i S=S+K Endfor ?S
2.求 3
3
3
3
3
217531+??????++++ SUM=0
FOR I=1 TO 21 STEP 2 SUM=SUM+I^3 ENDFOR
?”SUM=”,SUM
3.有一分数序列,求前20项之和
(813583)
52
31
2++
+
+
M=1 N=2
SUM=0
FOR I=1 TO 20 TERM=N/M SUM=SUM+TERM X=N N=M+N M=X TERM=N/M ENDFOR ?”SUM=”,SUM
4.求Sn=a+aa+aaa+aaaa ……,其中,a 是一个数字,a 的个数为n ,a 和n 由键盘输入 INPUT "输入 a 的值:" TO A INPUT "输入项数n:" TO N SN=0 B=A
FOR I=1 TO N SN=SN+A A=A*10+B ENDFOR
5. 求e x
的台劳级数展开式的前n 项之和(运行时输入x=2.0,n=4)
)!1(!3!211
32-+
??????++++=-n x x x x e n x
INPUT “X=” TO X
INPUT “N=” TO N SUM=1 P=1
FOR I=1 TO N-1 P=P*I T=X^I/P SUM=SUM+T
ENDFOR
?”SUM=”,SUM
6.求1*2+3*4+5*6+……21*22 SUM=0
FOR I=1 TO 21 STEP 2 SUM=SUM+I*(I+1)
ENDFOR
?"和为=",SUM (1892)
7.通过键盘输入n ,求下列级数的 和:
1-1/2+1/3-1/4+…+1/n INPUT TO N S=0 F=1
FOR I=1 TO N
S=S+F*(-1)^(I-1)/I ENDFOR
?S
8.计算连续自然数之和,并且显示和刚大于1000的最后一个自然数
Sn=1+2+3+4+…+N STORE 0 TO S,N
DO WHILE S<=1000 N=N+1
S=S+N
ENDDO ? N
9.求1^2+4^2+7^2+…一直加到超过1000为止,输出和数与项数。 I=1 S=0 N=0
DO WHILE S<=1000
N=N+1 ENDDO ?N ?S
10.求1-100之间所有奇数之和 SUM=0
FOR I=1 TO 100 STEP 2 SUM=SUM+I ENDFOR
? “SUM=”,SUM
10.输出100到200之间所有能被5或7整除的整数,并输出他们的和。
SUM=0
FOR I=100 TO 200
IF MOD(I,10)=5 AND MOD(I,7)=0
SUM=SUM+I ?I
ENDIF ENDFOR
?“SUM=”,SUM
11.编程输出100~500之间能被7整除的奇数的个数。 N=0
FOR I=100 TO 500
IF I%7=0 AND I%2=1 N=N+1 ENDIF ENDFOR ? “N=”,N
12. 求1/(1*2)+1/(3*4)+1/(5*6)+……+1/(99*100) SUM=0
FOR I=1 TO 99 STEP 2
SUM=SUM+1/(I*(I+1)) ENDFOR
?"SUM=",SUM
13.
求如下级数前N 项之和(X 和N 的值由键盘输入)
n
x x x x x n
+
??????+++++4321432
S=1
INPUT TO X INPUT TO N FOR I=1 TO N
?“SUM=”,S
14.输出3-100之间的所有素数,并求其和。 SUM=0
FOR J=3 TO 100 FLAG=.T.
FOR I=2 TO SQRT(J) IF MOD(J,I)=0 FLAG=.F. EXIT ENDIF ENDFOR IF FLAG=.T. ?J
SUM=SUM+J ENDIF ENDFOR
?"奇数之和是:",SUM
②方程类
1.完成下面分段函数的计算,程序运行时用户从键盘输入一个数值X ,在屏幕上输出Y 值。
??
???<-=>=0
00022x if
x x if x if x Y
INPUT "请输入X 值:" TO X IF X>0 Y=X*X ELSE
IF X=0 Y=0 ELSE
Y=-(X*X) ENDIF ENDIF ?Y
2.现有一元2次方程 AX^2+BX+C=0 其中A B C 是整数且A 不等于0 若存在实根,则输出“在实数范围内有解” 若不存在实根 则输出“在实数范围内无解”/求解 INPUT TO A INPUT TO B
D=B*B-4*A*C IF D>=0
?"在实数范围内有解" ELSE
?"在实数范围内无解" ENDIF /
INPUT TO A INPUT TO B INPUT TO C D=B*B-4*A*C IF D>0
X1=(-B+SQRT(D))/(2*A) X2=(-B-SQRT(D))/(2*A) ?X1 ?X2 ELSE IF D>0 X=-B/(2*A) ?"X1=X2=",X ELSE ?"无解" ENDIF ENDIF
3.输入一个X 的值,求Y 的值。Y= ??
?
??>=-<=<-<10
113101121X if X X if
X X if X
INPUT TO X DO CASE CASE X<1 Y=X CASE X<10
CASE X>=10
Y=3*X-11
ENDCASE
?Y
③数组类
1. 输入10个数,输出其中小于平均值S的数。
DIME A(10)
S=0
FOR I=1 TO 10
INPUT TO A(I)
S=S+A(I)
ENDFOR
S=S/10
FOR I=1 TO 10
IF A(I)
??A(I)
ENDIF
ENDFOR
2.输入10个数,求其中最大数和最小数。
DIME A(10)
FOR I=1 TO 10
INPUT “ ENTER A NUMBER:”TO A(I)
ENDFOR
BIG=A(1)
SMALL=A(1)
FOR I=2 TO 10
IF A(I)>BIG
BIG=A(I)
ENDIF
IF A(I)
SMALL=A(I)
ENDIF
ENDFOR
?“THE SMALLEST NUMBER IS”,SMALL
?“THE BIGGEST NUMBER IS”,BIG
3.输入10个数,求其中最大数和最小数,并确定它们的位置。DIME A(10)
FOR I=1 TO 10
INPUT “ ENTER A NUMBER:”TO A(I)
BIG=A(1)
BP=1
SMALL=A(1)
SP=1
FOR I=2 TO 10
IF A(I)>BIG
BIG=A(I)
BP=I
ENDIF
IF A(I)
SMALL=A(I)
SP=I
ENDIF
ENDFOR
?“THE PLACE OF THE SMALLEST NUMBER IS”,SP
?“THE SMALLEST NUMBER IS”,SMALL
?“THE PLACE OF THE BIGGEST NUMBER IS”,BP
?“THE BIGGEST NUMBER IS”,BIG
4.从键盘输入10 个整数,现从中查找某个数,若查到,输出“YES”,否则输出“NO”。
DIMENSION A(10)
FOR I=1 TO 10
INPUT "输入10个整数" TO A(I)
ENDFOR
INPUT "输入待查找的整数" TO X
FOR I=1 TO 10
IF X=A(I)
? "YES"
EXIT
ENDIF
ENDFOR
IF I>10
? "NO"
ENDIF
5.
已有按从小到大的顺序排列的10 个数,现输入一个数,要求插入到数列中。插入后数列仍然按从小到大顺序排列。
DIMENSION A(11)
FOR I=1 TO 10
INPUT “递增输入10个整数” TO A(I)
ENDFOR
INPUT “任意输入一个整数” TO X
FOR I=10 TO 1 STEP -1