安徽专升本计算机编程总结(打印版)_第1页
安徽专升本计算机编程总结(打印版)_第2页
安徽专升本计算机编程总结(打印版)_第3页
安徽专升本计算机编程总结(打印版)_第4页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、求和类:1. 计算 S=1! +2! +3! +4! +。 +N!S=0K=1INPUT "N=" TO N FOR i=1 TO NK=K*iS=S+KEndfor?S2. 求 1333 53 73213SUM=0FOR I=1 TO 21 STEP 2SUM=SUM+I3ENDFOR?” SUM=” ,SUM3. 有一分数序列,求前 20 项之和23581312358M=1N=2SUM=0FOR I=1 TO 20TERM=N/MSUM=SUM+TERMX=NN=M+NM=XTERM=N/MENDFOR?” SUM=” ,SUM求 N 的阶乘。( N 的值由键盘输入,应

2、小于20 )INPUT “输入 N 的值” TO NP=1FOR I=1 TO NP=P*IENDFOR?N, “ != ”,PA=A*10+BENDFOR?" 数列之和为 :",SN5. 求 ex 的台劳级数展开式的前n 项之和 ( 运行时输入x=2.0,n=4)ex1 xx2x3xn 12!3!(n 1)!.INPUT “X=” TO XINPUT “N=” TO NSUM=1P=1FOR I=1 TO N-1P=P*IT=XI/PSUM=SUM+TENDFOR?” SUM=” ,SUM6. 求 1*2+3*4+5*6+ 21*22 SUM=0FOR I=1 TO 21

3、 STEP 2SUM=SUM+I*(I+1)ENDFOR?" 和为 =",SUM(1892)7. 通过键盘输入 n,求下列级数的4. 求 Sn=a+aa+aaa+aaaa ,其中, a 是一个数字, a和 :的个数为 n, a 和 n 由键盘输入?1-1/2+1/3-1/4+1/nINPUT " 输入 a 的值 :" TO AINPUT TO NINPUT " 输入项数 n:" TO NS=0SN=0B=AFOR I=1 TO NF=1FOR I=1 TO NS=S+F*(-1)(I-1)/ISN=SN+AENDFOR?S8. 计算连

4、续自然数之和,并且显示和刚大于1000 的最后一个自然数Sn=1+2+3+4+NSTORE 0 TO S,NDO WHILE S<=1000N=N+1S=S+NENDDO? N9. 求 12+42+72+ 一直加到超过 1000 为止,输出和数与项数。I=1S=0N=0DO WHILE S<=1000S=S+I2I=I+3N=N+1ENDDO?N?S10. 求 1-100 之间所有奇数之和SUM=0FOR I=1 TO 100 STEP 2SUM=SUM+IENDFOR? “SUM=” ,SUM10. 输出 100 到 200 之间所有能被 5 或 7 整除的整数,并输出他们的和。

5、SUM=0FOR I=100 TO 200IF MOD(I,10)=5 AND MOD(I,7)=0SUM=SUM+I?IENDIFENDFOR?“ SUM=” ,SUM11. 编程输出 100500 之间能被 7 整除的奇数的个数。N=0N=0FOR I=100 TO 500FOR I=101 TO 500IF I%7=0 AND I%2=1STEP 2IF MOD(I,7)=0N=N+1ENDIFENDFOR? “N=”,NN=N+1ENDIFENDFOR? “N=”,N12.求1/( 1*2)+1/(3*4)+1/(5*6)+1/(99*100)SUM=0FOR I=1 TO 99 ST

6、EP 2SUM=SUM+1/(I*(I+1)ENDFOR?"SUM=",SUM13.求如下级数前N 项之和 (X 和 N 的值由键盘输入)x 2x3x4xn1 x34n2S=1INPUT TO XINPUT TO NFOR I=1 TO NS=S+XI/IENDFOR?“ SUM=” ,S14. 输出 3-100 之间的所有素数,并求其和。SUM=0FOR J=3 TO 100FLAG=.T.FOR I=2 TO SQRT(J)IF MOD(J,I)=0FLAG=.F.EXITENDIFENDFORIF FLAG=.T.?JSUM=SUM+JENDIFENDFOR?&quo

7、t; 奇数之和是 :",SUM方程类1. 完成下面分段函数的计算,程序运行时用户从键盘输入一个数值 X,在屏幕上输出 Y 值。x 2ifx0Y0ifx0x2ifx0INPUT " 请输入 X 值: " TO XIF X>0Y=X*XELSEIF X=0Y=0ELSEY=-(X*X)ENDIFENDIF?Y2. 现有一元 2 次方程 AX2+BX+C=0 其中 A B C 是整数且 A 不等于 0 若存在实根, 则输出“在实数范围内有解”若不存在实根 则输出“在实数范围内无解” / 求解INPUT TO AINPUT TO BINPUT TO CD=B*B-4

8、*A*CIF D>=0?" 在实数范围内有解"ELSE?" 在实数范围内无解"ENDIF/INPUT TO AINPUT TO BINPUT TO CD=B*B-4*A*CIF D>0X1=(-B+SQRT(D)/(2*A)X2=(-B-SQRT(D)/(2*A)?X1?X2ELSEIF D>0X=-B/(2*A)?"X1=X2=",XELSE?" 无解"ENDIFENDIF3.输入一个 X的值,求 Y的值。Y=XifX12X1if1X103X11ifX10INPUT TO XDO CASECAS

9、E X<1Y=XCASE X<10Y=2*X-1CASE X>=10Y=3*X-11ENDCASE?Y数组类1.输入 10 个数,输出其中小于平均值S 的数。DIME A(10)S=0FOR I=1 TO 10INPUT TO A(I)S=S+A(I)ENDFORS=S/10FOR I=1 TO 10IF A(I)<S?A(I)ENDIFENDFOR2. 输入 10 个数 , 求其中最大数和最小数。DIME A(10)FOR I=1 TO 10INPUT “ ENTER A NUMBER:” TO A(I)ENDFORBIG=A(1)SMALL=A(1)FOR I=2

10、TO 10IF A(I)>BIGBIG=A(I)ENDIFIF A(I)<SMALLSMALL=A(I)ENDIFENDFOR?“ THE SMALLEST NUMBER IS” ,SMALL ?“ THE BIGGEST NUMBER IS” ,BIG3. 输入 10 个数 , 求其中最大数和最小数,并确定它们的位置。DIME A(10)FOR I=1 TO 10INPUT “ ENTER A NUMBER:” TO A(I)ENDFORBIG=A(1)BP=1SMALL=A(1)SP=1FOR I=2 TO 10IF A(I)>BIGBIG=A(I)BP=IENDIFIF

11、 A(I)<SMALLSMALL=A(I)SP=IENDIFENDFOR?“ 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” ,BIG4. 从键盘输入 10 个整数, 现从中查找某个数, 若查到,输出“ YES”,否则输出“ NO”。DIMENSION A(10)FOR I=1 TO 10INPUT "输入 10 个整数 " TO A(

12、I)ENDFORINPUT " 输入待查找的整数" TO XFOR I=1 TO 10IF X=A(I)? "YES"EXITENDIFENDFORIF I>10? "NO"ENDIF 5.已有按从小到大的顺序排列的 10 个数,现输入一个数,要求插入到数列中。插入后数列仍然按从小到大顺序排列。DIMENSION A(11)FOR I=1 TO 10INPUT “递增输入10 个整数” TO A(I)ENDFORINPUT “任意输入一个整数”TO XFOR I=10 TO 1 STEP -1IF X<A(I)IF I=1

13、A(I+1)=A(I)A(I)=XELSEA(I+1)=A(I)ENDIFELSEA(I+1)=XEXITENDIFENDFORFOR I=1 TO 11?A(I)ENDFOR?6. 数组 A 中已存放了 10 个由小到大排列的数。现从键盘输入一个数 X,要求删除数组中与其相同的数,并将后续的数依次前移,最后输出剩余的数。(7 分)考虑到有重复数的程序如下:DIME A(10)FOR I=1 TO 10INPUT“按递增输入10 个数” TO A(I)ENDFORINPUT “输入待删除的数”TO XI=1J=1N=0DO WHILE I<=10IF A(I)<XI=I+1J=J+

14、1ELSEIF A(I)=XI=I+1N=N+1ELSEEXITENDIFENDIFENDDOFOR K=I TO 10A(J)=A(K)J=J+1ENDFORFOR K=1 TO 10-N?A(K)ENDFOR7. 输入 10 个数,按升序排列后输出。DIME A(10)FOR I=1 TO 10INPUT “ ENTER AN INTEGER : ” TO A(I)ENDFORFOR I=1 TO 9FOR J=I+1 TO 10IF A(I)>A(J)TEMP=A(I)A(I)=A(J)A(J)=TEMPENDIFENDFORENDFORFOR I=1 TO 10?A(I)ENDF

15、OR以上是一维数组(数组中只有一个下标)程序举例。在VFP中,还可以建立二维数组。定义方法是:DIME A(2,3)第一维代表行,第二维代表列,这样就在内存中开辟了 6 个连续的存储单元,数组元素的名称分别为:A(1,1)A(1,2)A(1,3)A(2,1)A(2,2)A(2,3)二维数组的元素赋初值及其处理通常要用二重循环,外循环代表行,内循环代表列。如:FOR I=1 TO 2FOR J=1 TO 3INPUT TO A(I,J)ENDFORENDFOR二维数组特别适合用来解决矩阵问题。矩阵中有如下几个术语要掌握:行列相等的矩阵叫方阵;方阵中有主对角线、辅对角线、下三角元素、外围元素等1.

16、 建立一个六行六列的方阵,求出两条对角线上所有元素之和。DIME A(6,6)DIME A(6,6)FOR I=1 TO 6FOR J=1 TO 6FOR I=1 TO 6A(I,J)=I+JFOR J=1 TO 6ENDFORINPUT TO A(I,J)ENDFORENDFORSUM=0ENDFORFOR I=1 TO 6SUM=A(I,I)+A(I,7-I)ENDFORSUM=0? “两条对角线上所有元素之和为” ,SUMFORI=1 TO 6DIME A(3,4),B(3,4),C(3,4)SUMFOR I=1 TO 3DIME A(3,4),B(3,4),C(3,4)=A(I,I)+

17、A(I,7-I)FOR J=1 TO 4FOR I=1 TO 3ENDINPUT TO A(I,J)FOR J=1 TO 4FORENDFORINPUT TO A(I,J)?ENDFORINPUT TO B(I,J),SUMFOR I=1 TO 3“两条对角线上所有元素之和为”C(I,J)=A(I,J)+B(I,J)ZF=0FOR J=1 TO 4ENDFORSF=0INPUT TO B(I,J)ENDFORFOR I=1 TO 6ENDFORFOR I=1 TO 3FOR J=1 TO 6ENDFORFOR J=1 TO 4IF I=JFOR I=1 TO 3?STR(C(I,J),6)SZ

18、=SZ+A(I,J)FOR J=1 TO 4ENDFORENDIFC(I,J)=A(I,J)+B(I,J)?IF I+J=7ENDFORENDFORSF=SF+A(I,J)ENDFORENDIFFOR I=1 TO 3ENDFORFOR J=1 TO 4ENDFOR?STR(C(I,J),6)? “两条对角线上所有元素之和为”,SZ+SFENDFOR?2. 一个四行五列的矩阵,求出其中最大元素的值,以ENDFOR及所在的行号与列号。判断类DIME A(4,5)FOR I=1 TO 41. 键盘输入一个年份,判断是平年还是闰年?FOR J=1 TO 5INPUT “Enter a year :”

19、 TO Y 、INPUT TO A(I,J)IF MOD(Y,100)<>0 AND MOD(Y,4)=0 OR MOD(Y,400)=0ENDFOR?Y, “ is a leap year.”ENDFORELSEBIG=A(1,1)?Y, “ is a common year”ROW=1ENDIFCOL=12. 从键盘输入一个整数,判断是偶数还是奇数。FOR I=1 TO 4INPUT " 整数 " TO XFOR J=1 TO 5IF MOD(X,2)=0IF A(I,J)>BIG?" 这是个偶数 "BIG=A(I,J)ELSERO

20、W=I?" 这是个奇数 "COL=JENDIFENDIF3. 输入一个字符,判断是否为英文字母。ENDFORACCEPT "请输入一个字符: " TO CHENDFORIF ASC(CH)>=65 AND ASC(CH)<=90 OR ASC(CH)>=97 AND?BIG, ROW, COLASC(CH)<=122?CH," 是英文字母 "3. 求两个矩阵之和,即 C(3,4)=A(3,4)+B(3,4)ELSE?CH,"不是英文字母"ENDIF4. 一个数如果恰好等于它的因子之和,这个数

21、就称为“完数”,如: 6=1+2+3,故 6 是完数。编程判断从键盘输入一个正整数是否为完数。输出 1000 以内的所有完数:FOR I= 2 TO 1000S=0FOR J=1 TO I-1IF MOD(I,J)=0S=S+JENDIFENDFORIF S=I?I,"是完数 "ENDIFENDFORINPUT “输入一个正整数”TO NS=0FOR I=1 TO N-1IF MOD(N,I)=0S=S+IENDIFENDFORIF S=N?N, “是完数”ELSE?N,“不是完数”ENDIF5. 输入一个大于等于 2 的整数 , 判断是否为素数 ?一个正整数,若只能被 1

22、 和本身整除,则该数称为素数或质数INPUT “请输入一个大于2 的整数”TO NFLAG=.T.FOR I=2 TO N-1IF MOD(N,I)=0FLAG=.F.EXITENDIFENDFORIF FLAG=.T.? N, “是素数”ELSE? N, “不是素数”ENDIF6. 输入一个字符串,判断其中有多少个大写字母、小写字母、数字字符、空格字符以及其他特殊字符?STORE 0 TO UPPER,LOWER,DIGIT,SPACE,SPECIALACCEPT“输入一个字符串”TO STL=LEN(ST)FOR I=1 TO LCH=SUBST(ST,I,1)DO CASECASE AS

23、C(CH)>=65 AND ASC(CH)<=90 UPPER=UPPER+1CASE ASC(CH)>=48 AND ASC(CH)<=57 DIGIT=DIGIT+1CASE ASC(CH)>=97 AND ASC(CH)<=122 LOWER=LOWER+1CASE ASC(CH) =32SPACE=SPACE+1OTHERWISESPECIAL=SPECIAL+1ENDCASEENDFOR? “字符串中大写字母的个数是”, UPPER? “字符串中小写字母的个数是”, LOWER? “字符串中数字字符的个数是”, DIGIT? “字符串中空格字符的个

24、数是”, SPACE? “字符串中其他字符的个数是”, SPECIAL转换类1.输入个大写字母,要求输出它的ASCII码及其对应的小写字母。ACCEPT“输入一个大写字母: ” TO CH?CH, “的 ASCII 码为” , ASC(CH)?CH, “对应的小写字母为”, CHR(ASC(CH)+32)2. 从键盘输入一个八进制数,将其转换成等值的十进制数。SET TALK OFFCLEARS=0ACCEPT "ENTER AN OCTAL NUMBER:" TO NL=LEN(N)FOR I=1 TO LS=S+VAL(SUBSTR(N,I,1)*8*(L-I)ENDF

25、OR?"S=",SSET TALK ONCANCEL3. 从键盘输入一个十进制数,将其转换成等值的八进制数。SET TALK OFFCLEARINPUT "ENTER A DECIMAL NUMBER:" TO N OCT=""IF N=0OCT="0"ENDIFDO WHILE N>0R=MOD(N,8)OCT= STR(R,1)+OCTN=INT(N/8)ENDDO?OCTSET TALK ONCANCEL4. 从键盘输入一个二进制数,将其转换成等值的十进制数。S=0ACCEPT“ENTER A BINA

26、RY NUMBER:”TO N L=LEN(N)FOR I=1 TO LS=S+VAL(SUBSTR(N,I,1)*2*(L-I)ENDFOR?“等值的十进制数为” ,S从键盘输入一个十进制数,将其转换成等值的二进制数。INPUT "ENTER A DECIMAL NUMBER:" TO NBIN=“”IF N=0BIN=“ 0”ENDIFDO WHILE N>0R=MOD(N,2)BIN= STR(R,1)+BINN=INT(N/2)ENDDO? “等值的二进制数为” ,BIN真实情况类1. 输入乘车的公里数,输出乘车费(计费标准:2.5 公里之内是6 元, 2.5

27、 公里以外,每超过1 公里增加1 元2 角)INPUT " 输入公里数 " TO XIF X>2.5PAY=(X-2.5)*1.2+6ELSEPAY=6ENDIF?" 应付费 ",PAY," 元 "2. 6) 设交纳所得税的规定如下:DO CASE 语句收入 <=1500 元 免交所得税1500 元 <收入 <=3000 元 所得税为5%3000 元 <收入 <=6000 元所得税为8%6000 元 <收入 <=10000 元所得税为10%10000 元 < 收入 <=500

28、00 元所得税为 15% 收入 >50000 元所得税为 20%请编程, 从键盘输入一个数,计算应交纳的所得税。INPUT “ INCOME=” TO XDO CASECASE X<=1500 TAX=0CASE X<=3000TAX=(X-1500)*0.05CASE X<=6000TAX=(X-3000)*0.08+(3000-1500)*0.05CASE X<=10000TAX=(X-6000)*0.1+(6000-3000)*0.08+(3000-1500 )*0.05CASE X<=50000TAX=(X-10000)*0.15+(10000-60

29、00)*0.1+(6000-3000)*0.08+(3000-1500)*0.05FOR J=1 TO 6OTHERWISE?S(I,J)TAX=(X-50000)*0.2+(50000-10000)*0.15ENDFOR+(10000-6000)*0.1&?+(6000-3000)*0.08+(3000-1500)*ENDFOR0.05SET TALK ONENDCASECANCEL?“INCOME TAX IS”,TAX, “元”5. 某班有 45 名参加考试的同学,现在要求从键盘输入3. 键盘输入学生的成绩,若95-100 则输出优秀,全班一门课的成绩,输出该课程的平均分,以及及

30、格人85-94 是很好, 70-84则输出好, 60-69 是一般 60数和半分比。分以下输出不及格。SUM=0INPUT " 成绩 " TO FSN=1DO CASEFOR I= 1 TO 45CASE FS>=95INPUT"全班一门课的成绩 " TO X?" 优秀"SUM=SUM+XCASE FS>=85IF X>=60?" 很好"N=N+1CASE FS>=70ENDIF?" 好"ENDFORCASE FS>=60?" 平均分 " ,SU

31、M/45?" 一般"?" 几个人数 ",NOTHERWISE?" 合格率 ",N/45*100,"%"?" 不及格 "ENDCASE矩阵类4. 编写学生成绩统计程序。设有三位同学, 考数学、 物1. 建立一个五行五列的矩阵,求出外围所有元素之和。理、化学三门课,统计每个同学的总分和平均分DIMENSION A(5,5)SET TALK OFFS=0CLEARS1=0DIME S(3,6)FOR I=1 TO 5FOR I=1 TO 3FOR J=1 TO 5FOR J=1 TO 4INPUT T

32、O A(I,J)INPUT "INPUT STUDENT-NO AND SCORE:" TO S(I,J)S=S+A(I,J)ENDFORENDFORENDFORENDFORFOR I=1 TO 3FOR I=2 TO 4S(I,5)=S(I,2)+S(I,3)+S(I,4)FOR J=2 TO 4S(I,6)=ROUND(S(I,5)/3,1)S1=S1+A(I,J)ENDFORENDFOR?SPACE(5),"STUNO",SPACE(4),"MATH",SPACE(4),"PHYENDFOR",SPACE(5

33、),"CHE",SPACE(4),?S-S1"TOTAL",SPACE(5),"AVER"打印图形类?FOR I=1 TO 31. 打印如下图形 :*CLEARFOR I=1 TO 5?SPACE(I)FOR J=1 TO 5?”* ”ENDFORENDFOR附:打印如下图形 :* clear*for N=1 TO 9*for M=1 TO N*?alltrim(str(N)+"×*"+alltrim(str(M)+"="+*alltrim(str(N*M)+space(5)*endfor*?*EndforFOR I=5 TO 1 STEP -1 clear?SPACE(5-I)N=1FOR J=1 TO IDO WHILE N<=9?”* ”M=1ENDFORDO WHILE M<=N?alltrim(str(N)+"×ENDFOR"+alltrim(str(M)+"="+FOR I=2 TO 5alltrim(str(N*M)+space(5)?SPACE(5-I)M=M+1FOR J=1 TO IENDDO?”* ”?ENDFORN=N+1?ENDDOENDFOR2. 打印如下所示的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论