vfp编程题类型总结Word格式.docx
- 文档编号:351178
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:34
- 大小:58.01KB
vfp编程题类型总结Word格式.docx
《vfp编程题类型总结Word格式.docx》由会员分享,可在线阅读,更多相关《vfp编程题类型总结Word格式.docx(34页珍藏版)》请在冰点文库上搜索。
A=A*10+B
数列之和为:
SN
5.求ex的台劳级数展开式的前n项之和(运行时输入x=2.0,n=4)
INPUT“X=”TOX
INPUT“N=”TON
SUM=1
FORI=1TON-1
T=X^I/P
SUM=SUM+T
6.求1*2+3*4+5*6+……21*22
SUM=SUM+I*(I+1)
和为="
SUM(1892)
7.通过键盘输入n,求下列级数的
和:
⋅1-1/2+1/3-1/4+…+1/n
INPUTTON
F=1
S=S+F*(-1)^(I-1)/I
8.计算连续自然数之和,并且显示和刚大于1000的最后一个自然数
●Sn=1+2+3+4+…+N
STORE0TOS,N
DOWHILES<
=1000
N=N+1
S=S+N
ENDDO
N
9.求1^2+4^2+7^2+…一直加到超过1000为止,输出和数与项数。
I=1
N=0
S=S+I^2
I=I+3
N=N+1
N
10.求1-100之间所有奇数之和
FORI=1TO100STEP2
SUM=SUM+I
“SUM=”,SUM
10.输出100到200之间所有能被5或7整除的整数,并输出他们的和。
FORI=100TO200
IFMOD(I,10)=5ANDMOD(I,7)=0
?
I
ENDIF
“SUM=”,SUM
11.编程输出100~500之间能被7整除的奇数的个数。
FORI=101TO500STEP2
IFMOD(I,7)=0
“N=”,N
FORI=100TO500
IFI%7=0ANDI%2=1
12.求1/(1*2)+1/(3*4)+1/(5*6)+……+1/(99*100)
sum=0
fori=1to99step2
sum=sum+1/(i*(i+1))
endfor
sum="
sum
13.
求如下级数前N项之和(X和N的值由键盘输入)
S=1
INPUTTOX
S=S+X^I/I
“SUM=”,S
14.输出3-100之间的所有素数,并求其和。
FORJ=3TO100
FLAG=.T.
FORI=2TOSQRT(J)
IFMOD(J,I)=0
FLAG=.F.
EXIT
ENDIF
ENDFOR
IFFLAG=.T.
J
SUM=SUM+J
奇数之和是:
SUM
②方程类
1.完成下面分段函数的计算,程序运行时用户从键盘输入一个数值X,在屏幕上输出Y值。
请输入X值:
TOX
IFX>
Y=X*X
ELSE
IFX=0
Y=0
ELSE
Y=-(X*X)
Y
2.现有一元2次方程AX^2+BX+C=0其中ABC是整数且A不等于0若存在实根,则输出“在实数范围内有解”若不存在实根则输出“在实数范围内无解”/求解
INPUTTOA
INPUTTOB
INPUTTOC
D=B*B-4*A*C
IFD>
=0
在实数范围内有解"
在实数范围内无解"
/
X1=(-B+SQRT(D))/(2*A)
X2=(-B-SQRT(D))/(2*A)
X1
X2
IFD>
X=-B/(2*A)
X1=X2="
X
无解"
3.输入一个X的值,求Y的值。
Y=
DOCASE
CASEX<
1
Y=X
10
Y=2*X-1
CASEX>
=10
Y=3*X-11
ENDCASE
③数组类
1.输入10个数,输出其中小于平均值S的数。
DIMEA(10)
FORI=1TO10
INPUTTOA(I)
S=S+A(I)
S=S/10
IFA(I)<
A(I)
2.输入10个数,求其中最大数和最小数。
dimea(10)
fori=1to10
input“Enteranumber:
”toa(i)
big=a
(1)
small=a
(1)
fori=2to10
ifa(i)>
big
big=a(i)
ifa(i)<
small
small=a(i)
endif
“Thesmallestnumberis”,small
“Thebiggestnumberis”,big
3.输入10个数,求其中最大数和最小数,并确定它们的位置。
BP=1
SP=1
BP=I
SP=I
“ThePLACEOFTHEsmallestnumberis”,sP
“ThePLACEOFTHEbiggestnumberis”,bP
4.从键盘输入10个整数,现从中查找某个数,若查到,输出“YES”,否则输出“NO”。
DIMENSIONA(10)
INPUT"
输入10个整数"
TOA(I)
输入待查找的整数"
IFX=A(I)
"
YES"
IFI>
NO"
5.
已有按从小到大的顺序排列的10个数,现输入一个数,要求插入到数列中。
插入后数列仍然按从小到大顺序排列。
DIMENSIONA(11)
INPUT“递增输入10个整数”TOA(I)
INPUT“任意输入一个整数”TOX
FORI=10TO1STEP-1
IFX<
IFI=1
A(I+1)=A(I)
A(I)=X
A(I+1)=X
FORI=1TO11
6.数组A中已存放了10个由小到大排列的数。
现从键盘输入一个数X,要求删除数组中与其相同的数,并将后续的数依次前移,最后输出剩余的数。
(7分)
考虑到有重复数的程序如下:
INPUT“按递增输入10个数”TOA(I)
INPUT“输入待删除的数”TOX
J=1
DOWHILEI<
IFA(I)<
X
I=I+1
J=J+1
IFA(I)=X
FORK=ITO10
A(J)=A(K)
FORK=1TO10-N
A(K)
7.输入10个数,按升序排列后输出。
input“Enteraninteger:
”toa(i)
fori=1to9
forj=i+1to10
a(j)
temp=a(i)
a(i)=a(j)
a(j)=temp
a(i)
endfor以上是一维数组(数组中只有一个下标)程序举例。
在VFP中,还可以建立二维数组。
定义方法是:
DIMEA(2,3)
第一维代表行,第二维代表列,这样就在内存中开辟了6个连续的存储单元,数组元素的名称分别为:
A(1,1)A(1,2)A(1,3)
A(2,1)A(2,2)A(2,3)二维数组的元素赋初值及其处理通常要用二重循环,外循环代表行,内循环代表列。
如:
FORI=1TO2
FORJ=1TO3
INPUTTOA(I,J)
二维数组特别适合用来解决矩阵问题。
矩阵中有如下几个术语要掌握:
行列相等的矩阵叫方阵;
方阵中有主对角线、辅对角线、下三角元素、外围元素等
1.建立一个六行六列的方阵,求出两条对角线上所有元素之和。
DIMEA(6,6)
FORI=1TO6
FORJ=1TO6
A(I,J)=I+J
SUM=A(I,I)+A(I,7-I)
“两条对角线上所有元素之和为”,SUM
dimea(6,6)
fori=1to6
forj=1to6
INPUTTOA(I,J)
SUM=0
ZF=0
SF=0
ifi=j
SZ=SZ+A(I,J)
IFI+J=7
SF=SF+A(I,J)
ENDFOR
“两条对角线上所有元素之和为”,SZ+SF
2.一个四行五列的矩阵,求出其中最大元素的值,以及所在的行号与列号。
dimea(4,5)
fori=1to4
forj=1to5
inputtoa(i,j)
big=a(1,1)
row=1
col=1
ifa(i,j)>
big=a(i,j)
row=i
col=j
big,row,col
3.求两个矩阵之和,即C(3,4)=A(3,4)+B(3,4)
DIMEA(3,4),B(3,4),C(3,4)
FORI=1TO3
FORJ=1TO4
INPUTTOB(I,J)
C(I,J)=A(I,J)+B(I,J)
STR(C(I,J),6)
④判断类
1.键盘输入一个年份,判断是平年还是闰年?
INPUT“Enterayear:
”TOY、
IFMOD(Y,100)<
>
0ANDMOD(Y,4)=0ORMOD(Y,400)=0
Y,“isaleapyear.”
Y,“isacommonyear”
2.从键盘输入一个整数,判断是偶数还是奇数。
整数"
IFMOD(X,2)=0
这是个偶数"
这是个奇数"
ENDIF
3.输入一个字符,判断是否为英文字母。
ACCEPT"
请输入一个字符:
TOCH
IFASC(CH)>
=65ANDASC(CH)<
=90ORASC(CH)>
=97ANDASC(CH)<
=122
CH,"
是英文字母"
不是英文字母"
4.一个数如果恰好等于它的因子之和,这个数就称为“完数”,如:
6=1+2+3,故6是完数。
编程判断从键盘输入一个正整数是否为完数。
INPUT“输入一个正整数”TON
IFMOD(N,I)=0
S=S+I
IFS=N
N,“是完数”
N,“不是完数”
5.输入一个大于等于2的整数,判断是否为素数?
一个正整数,若只能被1和本身整除,则该数称为素数或质数
INPUT“请输入一个大于2的整数”TON
FORI=2TON-1
FLAG=.F.
EXIT
IFFLAG=.T.
N,“是素数”
N,“不是素数”
6.输入一个字符串,判断其中有多少个大写字母、小写字母、数字字符、空格字符以及其他特殊字符?
STORE0TOUPPER,LOWER,DIGIT,SPACE,SPECIAL
ACCEPT“输入一个字符串”TOST
L=LEN(ST)
FORI=1TOL
CH=SUBST(ST,I,1)
CASEASC(CH)>
=90
UPPER=UPPER+1
=48ANDASC(CH)<
=57
DIGIT=DIGIT+1
LOWER=LOWER+1
CASEASC(CH)=32
SPACE=SPACE+1
OTHERWISE
SPECIAL=SPECIAL+1
ENDCASE
“字符串中大写字母的个数是”,UPPER
“字符串中小写字母的个数是”,LOWER
“字符串中数字字符的个数是”,DIGIT
“字符串中空格字符的个数是”,SPACE
“字符串中其他字符的个数是”,SPECIAL
⑤转换类
1.输入个大写字母,要求输出它的ASCII码及其对应的小写字母。
ACCEPT“输入一个大写字母:
”TOCH
CH,“的ASCII码为”,ASC(CH)
CH,“对应的小写字母为”,CHR(ASC(CH)+32)
2.从键盘输入一个八进制数,将其转换成等值的十进制数。
SETTALKOFF
CLEAR
s=0
accept"
EnteraNOCTALnumber:
ton
L=len(n)
fori=1toL
s=s+val(substr(n,i,1))*8**(L-i)
s="
s
SETTALKON
CANCEL
3.从键盘输入一个十进制数,将其转换成等值的八进制数。
input"
EnteraDECIMALnumber:
oct="
ifn=0
0"
dowhilen>
R=mod(n,8)
oct=str(R,1)+oct
n=int(n/8)
enddo
oct
4.从键盘输入一个二进制数,将其转换成等值的十进制数。
ACCEPT“Enterabinarynumber:
”ton
s=s+val(substr(n,i,1))*2**(L-i)
“等值的十进制数为”,s
从键盘输入一个十进制数,将其转换成等值的二进制数。
Enteradecimalnumber:
bin=“”
bin=“0”
R=mod(n,2)
bin=str(R,1)+bin
n=int(n/2)
“等值的二进制数为”,bin
⑥真实情况类
1.输入乘车的公里数,输出乘车费(计费标准:
2.5公里之内是6元,2.5公里以外,每超过1公里增加1元2角)
输入公里数"
2.5
PAY=(X-2.5)*1.2+6
PAY=6
应付费"
PAY,"
元"
2.6)设交纳所得税的规定如下:
DOCASE语句
收入<
=1500元免交所得税
1500元<
收入<
=3000元所得税为5%
3000元<
=6000元所得税为8%
6000元<
=10000元所得税为10%
10000元<
=50000元所得税为15%
收入>
50000元所得税为20%
请编程,从键盘输入一个数,计算应交纳的所得税。
INPUT“income=”tox
docase
casex<
=1500⑦
tax=0
=3000
tax=(X-1500)*0.05
=6000
tax=(X-3000)*0.08+(3000-1500)*0.05
=10000
tax=(X-6000)*0.1+(6000-3000)*0.08+(3000-1500)*0.05
=50000
TAX=(X-10000)*0.15+(10000-6000)*0.1+(6000-3000)*0.08+(3000-1500)*0.05
otherwise
tax=(X-50000)*0.2+(50000-10000)*0.15+(10000-6000)*0.1&
+(6000-3000)*0.08+(3000-1500)*0.05
endcase
“INCOMETAXIS”,TAX,“元”
3.键盘输入学生的成绩,若95-100则输出优秀,85-94是很好,70-84则输出好,60-69是一般60分以下输出不及格。
成绩"
TOFS
CASEFS>
=95
优秀"
=85
很好"
=70
好"
=60
一般"
OTHERWISE
不及格"
4.编写学生成绩统计程序。
设有三位同学,考数学、物理、化学三门课,统计每个同学的总分和平均分
dimes(3,6)
fori=1to3
forj=1to4
inputSTUDENT-NOANDSCORE:
tos(i,j)
s(i,5)=s(i,2)+s(i,3)+s(i,4)
s(i,6)=round(s(i,5)/3,1)
space(5),"
stuno"
space(4),"
math"
phy"
space(5),"
che"
space(4),
total"
aver"
s(i,j)
5.某班有45名参加考试的同学,现在要求从键盘输入全班一门课的成绩,输出该课程的平均分,以及及格人数和半分比。
N=1
FORI=1TO45
INPUT"
全班一门课的成绩"
SUM=SUM+X
IFX>
平均分"
SUM/45
几个人数"
N
合格率"
N/45*100,"
%"
⑦矩阵类
1.建立一个五行五列的矩阵,求出外围所有元素之和。
DIMENSIONA(5,5)
S=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vfp 编程 类型 总结