VF程序汇总.doc_第1页
VF程序汇总.doc_第2页
VF程序汇总.doc_第3页
VF程序汇总.doc_第4页
VF程序汇总.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

2012年重庆市普通高等院校“专升本“统一选拔考试大学计算机程序复习题一、数学表达式:1.编写一个求S=1+2+3+100的程序ClearS=0For i=1 to 100 S=S+iEndfor? “S=“,scancel2.编写程序,其功能是:计算并输出下列多项式的值:例如,若n=5,则应输出2.283333。clears=0input n= to nfor i=1 to ns=s+1/iendfor? “S=“,sreturn3.编写程序,计算表达式:.clears=0input n= to nfor i=1 to ns=s+(i+1)/iendfor? “S=“,sreturn4.设计完成如下表达式计算的程序:clears=0input n= to nfor i=1 to ns=s+(1/(2*i-1)-1/(2*i)endfor? s,sreturn5.编写程序,计算表达式:。2set talk offclears=0input n= to nfor i=1 to n s=s+1/m(i)endfor? s=,sreturnset talk onfunction m(k)S=0for j=1 to kS=S+jendforreturn Sendfunc6.编写一个求S=1!+2!+3!+10!ClearS=0For k=1 to 10 S=S+T(k)Endfor? “S=“,sRETURNFUNCTION T(N) F=1FOR K=1 to N F=F*KENDFORRETURN FENDFUNC7.请分别将求阶乘的功能设计为自定义函数,并在计算5!-3!+7!时进行调用.clear? T(5)-T(3)+T(7)returnfunction T(n)t=1for i=1 to n t=t*iendforreturn tendfunc8.编写程序,其功能是:计算并输出下列多项式的值:例如,在程序中从键盘给n输入15,则输出为a=2.718282,注意:要求n的值大于1但不大于100。set talk offclears=1input n= to nfor i=1 to ns=s+1/T(i)endfor? s=,sreturnfunction T(k) t=1 for j=1 to k t=t*j endfor return tendfunc9.编写程序,其功能是:计算并输出例如,从键盘给n输入20后,输出为s=534.188884。注意:要求n的值大于1但不大于100。clears=0input n= to nfor i=1 to ns=s+T(i)endfor? s=,sreturnfunction T(k) t=0 for j=1 to k t=t+sqrt(j) endfor return tendfunc10.编写程序,其功能是:计算并输出下列多项式的值:,并输出结果。例如,若n=20,则S=6.506583。clears=0input n= to nfor i=1 to ns=s+log(i)endfors=sqrt(s)? s=,sreturn11.编写程序,计算表达式:直到。例如x=2.5,则函数值为:12.182494。set talk offclearinput x= to xs=0+1i=1do while x*i/T(i)10E-6 s=s+x*i/T(i)i=i+1enddo? s=,sset talk onreturnfunction T(k) t=1 for j=1 to k t=t*j endfor return tendfunc12.编写程序,计算表达式:直到。若x=2.5,函数值为:1.917915。clearinput x= to xs=0+1i=1do while x*i/jc(i)10E-6 s=s+(-1)*(i-1)*(x*i)/jc(i) i=i+1enddo? “S=“,sreturnfunction jc(k) t=1 for j=1 to k t=t*j endfor return tendfunc13.编写程序,计算并输出给定10个数的方差:(既10个数的平均值)。例如,给定的10个数为95、89、76、65、88、72、85、81、90、56,输出S=11.730729。cleardime a(10),b(10)for i=1 to 10input 请输入第+alltrim(str(i)+个数: to a(i)endfors=0for i=1 to 10s=s+a(i)endforp=s/10for i=1 to 10b(i)=abs(a(i)-p)endforss=0for i=1 to 10ss=ss+b(i)endforpp=ss/10? “S=“,sqrt(pp)return二、矩阵相关计算1.编写程序,完成的功能是:实现B=A+A,即把矩阵A加上A的转置,存放在矩阵B中。例如用户输入矩阵,其转置矩阵为,程序输出。clearinput n= to ndime a(n,n),b(n,n),c(n,n)for i=1 to n for j=1 to n input to a(i,j) endforendforfor i=1 to n for j=1 to n b(j,i)=a(i,j) endforendforfor i=1 to n for j=1 to n c(i,j)=a(i,j)+b(i,j) endforendforfor i=1 to n for j=1 to n ? c(i,j) endfor ?endforreturn2.编写程序,完成的功能是:有NN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N3,有下列矩阵:,计算结果为。clearinput n= to ndime a(n,n),b(n,n),c(n,n)&输入矩阵a的数据for i=1 to n for j=1 to n input to a(i,j) endforendfor&转置矩阵a的数据到矩阵bfor i=1 to n for j=1 to n b(j,i)=a(i,j) endforendforc=0 &矩阵c的初值都是0&矩阵c与矩阵a的对角线的值相等for i=1 to n c(i,i)=a(i,i)endfor&矩阵a与矩阵b的左下三角元素相加,结果放在矩阵c的左下三角元素for i=2 to n for j=1 to i-1 c(i,j)=b(i,j)+a(i,j) endforendfor&输出矩阵c的元素值for i=1 to n for j=1 to n ? c(i,j) endfor ?endforreturn三、字符串运算1.编写求1到1000中含有数字7的所有数字之和.(提示,利用$,可以判断一个符号是否包含在另外一个符号中)set talk offClearS=0For i=1 to 1000M=STR(i)IF 7 $ M S=S+iEndifEndfor? S=,Scancelset talk on2.假定输入的字符串中只包含字母和*号。请编写程序,将该字符串中除尾部的*号之外,其余的*号全部删除。clear accept 请输入字符串: to a m=len(a) &求字符串的字符长度dime b(m) &定义数组for i=1 to m &将字符串的每一个字符放入数组b(i)=substr(a,i,1)endforj=0 &字符串尾部*的个数for i=m to 1 step -1 &统计字符串尾部*的个数if b(i)=*j=j+1elseexitendifendfora=chrtran(a,*,)a=a+replicate(*,j)? areturn3.假定输入的字符串中只包含字母和*号。请编写程序,使字符串尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。clear accept 请输入字符串: to a input n= to nm=len(a) &求字符串的字符长度dime b(m) &定义数组for i=1 to m &将字符串的每一个字符放入数组b(i)=substr(a,i,1)endforj=0for i=m to 1 step -1 &统计字符串尾部*的个数if b(i)=*j=j+1elseexitendifendforif jn k=nelse k=jendifc=for i=1 to m-j+kc=c+b(i)endfor? cReturn4.程序的功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。例如,若s所指字符串中的内容为:“ABCDEFG12345”,其中字符B的ASCII码值为偶数、字符2的ASCII码值为偶数、都应当删除,其它依此类推。最后t所指的数组中的内容应是:“ACEG135”。clear accept 请输入字符串: to a m=len(a) &求字符串的字符长度dime b(m) &定义数组for i=1 to m &将字符串的每一个字符放入数组b(i)=substr(a,i,1)endforc=for i=1 to mif (asc(b(i)%2!=0 c=c+b(i)endifendfor? creturn5.编写一程序,程序功能为:删除用户输入字符串中所有指定字符,然后将剩余的字符串输出。例如:若字符串为“aboveacoveak”,用户指定删除字符“a”,程序输出为“bovecovek”。set talk offclear accept 请输入字符串: to a accept 请输入要删除的字符: to ba=chrtran(a,b,)? areturnset talk on6.请编写一个程序,统计在tt所指字符串中“a”到“z”26个小写字母各自出现的次数,并依次放在pp所指数组中。例如,当输入字符串:“abcdefgabcdeabc”后,程序的输出结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0set talk offclear accept 请输入字符串: to tt dime pp(26)for i=asc(a) to asc(z) pp(i- asc(a)+1)=occurs(chr(i),tt) ?endforreturnset talk on7.输入一个字串,要求分别统计出其中英文字母a,空格b,数字c和其它字符d的个数.set talk offCleara=0 &英文字母的个数b=0 &空格的个数c=0 &数字的个数d=0 &其他字符的个数accept to zfcn=len(zfc)dime x(n)for i=1 to nx(i)=substr(zfc,i,1)endforfor i=1 to ndo casecase (x(i)=a and x(i)=A and x(i)=0 and x(i)=0.and.x=0 and a(i)=9) b=b+a(i) ELSE c=c+a(i) endifendforss=c+b? “S=“,ssreturn四、数的整除运算1、编写一个程序,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数,并放在数组a中,通过n返回这些数的个数。例如,若传送给m的值为50,则程序输出:11 14 21 22 28 33 35 42 44 49clearinput m= to mn=0for i=1 to m if i%7=0 or i%11=0 n=n+1 endifendfordime a(n)j=1for i=1 to m if i%7=0 or i%11=0 a(j)=i j=j+1 endifendfor? 能被7或11整除的数有:for j=1 to n ? a(j)endfor? 共有+alltrim(str(n)+个数能被7或11整除 &? 能被7或11整除的个数,nreturn2、请编写程序,它的功能是:求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。clearn=0for i=1 to 1000 &统计出满足条件的数据个数n if (i%7=0 or i%11=0) and (not (i%7=0 and i%11=0) n=n+1 endifendfordime a(n)j=1&数组的下标for i=1 to 1000 &将满足条件的数据个数依次放入数组 if (i%7=0 or i%11=0) and (not (i%7=0 and i%11=0) a(j)=i j=j+1 endifendforfor j=1 to n ? a(j)endfor? nreturn3、程序的功能是:将两个两位数的正整数ab合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。例如,当a=45,b=12时,执行该程序后,c=1524。clearinput a= to ainput b= to bx=(a%10)*100y=int(a/10)z=(b%10)*10k=int(b/10)*1000c=x+y+z+k? c=,creturn4、编写程序,程序的功能是:求s=aaaa-aaa-aa-a(此处aaaa表示n个a,a和n的值在1至9之间)例如a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3,其值是:296298clearinput a= to ainput n= to ndime b(n)for i=1 to n b(i)=val(replicate(alltrim(str(a),i)endfors=b(n)for i=n-1 to 1 step -1 s=s-b(i)endfor? “S=“,sreturn5、编写程序,分别求出一个二维数组每列中最小元素,并依次放入一个一维数组中,然后输出该一维数组。clearinput n= to ndime a(n,n),b(n)for i=1 to n for j=1 to n input to a(i,j) endforendforfor j=1 to n b(j)=a(1,j) for i=1 to n if a(i,j)c and a+cb and b+ca if a=b or a=c or b=c if a=b and a=c ? 能构成等边三角形 else ? 能构成等腰三角形 endif else ? 能构成普通三角形 endif else ? 不能构成三角形 endifreturn9、编写程序,实现计算并输出3到n之间(含3和n)所有素数的平方根之和。例如,n=100,则输出s=148.874270,注意:要求n的值大于2但不大于100。clearinput n= to ns=0for i=3 to n k=int(sqrt(i) for j=2 to k if i%j=0 exit endif endfor if j=k+1 s=s+sqrt(i) endifendfor? “S=“,sreturn10、编写程序,求Fibonacci数列中大于t的最小的一个数。其中Fibonacci数列F(n)的定义为:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)。例如:当t=1000时,函数值为:1597。set talk onclearinput t= to ta=0b=1c=a+bn=3do while c500 exit endifnext?s=,sset talk on已知一个数列的前3个数为0,0,1,以后每个数为前3个数的和,编程序求此数列的第36个数。334745777set talk offcleardime k(36)k(1)=0k(2)=0k(3)=1s=0for m=4 to 36 k(m)=k(m-3)+k(m-2)+k(m-1)s=k(m)endfor?s=,sset talk on编程序求出 2+4+8+16+32+这样的数之和。如果累加数大于500时,则程序终止并输出结果。510set talk offclears=0for i=1 to 100 s=s+2i if s500 exit endifendfor?s=,sset talk on已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求1,100之间第10个能被其因子数目整除的正整数。 56set talk offclears=0k=0for i=1 to 100m=0for j=1 to i if i%j=0 m=m+1 endif next if i%m=0 s=s+1 k=i if s9 &当它大于9时,k已经是第十个数了! exit endif endifendfor? k ,k set talk on有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13.(注:该数列从第二项开始,其分子是前一项的分子与分母的和,而其分母是前一项的分子),求出这个序列前24项的和。要求:按四舍五入的方式精确到小数点后第二位。 39.13 set talk offclears=0k=0m=2n=1for j=1 to 24k=m/ns=s+ky=mm=m+nn=yendfor? s=,round(s,2) cancel set talk on设某国今年的国民生产总值为45600亿元,若今后每年以8%的增长率增长,计算多少年后能实现国民生产总值翻两番?19 2008clears=0dime f(1000)f(1)=45600f(2)=49248f(3)=53187.84q=2&从第二年开始计算年份,所以f(1)不算。for n=4 to 1000f(n)=f(n-1)*1.08s=f(n)q=q+1if s=182400exitendifendfor?q若某整数N的所有因子之和等于N的倍数,则N称为多因子完备数,如数28,其因子之和1+2+4+7+14+28=56=2*28,28是多因子完备数。求1,500之间有多少个多因子完备数。5set talk offclears=0 for i=1 to 500 m=0 for j=1 to i if i%j=0 m=m+j endif next if m%i=0 s=s+1 endifendfor? s ,s set talk on找满足以下条件:X2+Y2+Z2=412 且X+Y+Z之值最大的三个正整数X,Y,Z, 求X+Y+Z之值.71 set talk offclears=0for x=1 to 41for y=1 to 41for z=1 to 41 if x2+y2+z2=412 k=x+y+z if ks s=k endif endifendforendforendfor? s ,s set talk on水仙花数是一个三位正整数,它等于它的各位数字的立方之和.例如:153=13+53+33,所以153是水仙花数.试求所有的水仙花数之积。8547940170set talk offclears=1 &小蔡提醒:特别注意若s=0,则s乘任何数都会为0,所以此时s=1。for m=100 to 999a=int(m/100)b=int(m/10)%10 &也可以是 b=int(m%100)/10)c=m%10 if a3+b3+c3=m s=s*m endifendfor? s ,s set talk on一个14*14方阵A(i,j),其每个元素的值为该元素下标的立方和,求出该矩阵所有元素的累加和。(注:i,j从1到14). 308700 set talk offclears=0for i=1 to 14for j=1 to 14s=s+i3+j3endfornext? s= ,s set talk on求100,200之间最大的有奇数个不同因子的整数。196set talk offclears=0 for i=100 to 200 m=0 for j=1 to i if i%j=0 m=m+1 endif next if m%2=1 s=i endifendfor ?s= ,sset talk on一个数如果恰好等于它的所有真因子之和,这个数就称为“完数”。例如,6的真因子为1,2,3,而6=1+2+3,因此,6是“完数”。求1000以内的所有完数之和。530set talk offclears=0for i=1 to 1000m=0 for j=1 to i/2 if i%j=0 m=m+j endif next if m=i s=s+i endif endfor ?s= ,sset talk on求数学式1-1/2+1/3-1/4+1/5-1/6+1/99-1/100的值(按四舍五入方式精确到小数点后4位)0.6882 cleardime f(50)f(1)=1-1/2f(2)=1/3-1/4f(3)=1/5-1/6s=0for n=1 to 50f(n)=1/(2*n-1)-1/(2*n)s=s+f(n)endfor?round(s,4)求满足A*B=718368,使A+B最小,且A,B(AB)为正整数的A的值。672set talk offclears=100000for a=1 to 10000for b=1 to 10000if a*b=718368.and.abk=a+bif kss=kj=aendifendifendforendfor ? j= ,jset talk on147计算y=1+2/3+3/5+4/7+n/(2*n-1)(n=50), 要求:按四舍五入的方式精确到小数点后第二位。26.47cleardime f(50)f(1)=1 f(2)=2/3f(3)=3/5s=0for n=1 to 50f(n)=n/(2*n-1)s=s+f(n)endfor?round(s,2)151当m的值为50时,计算下列公式之值:t=1-1/(2*2)-1/(3*3)-1/(m*m)要求:按四舍五入的方式精确到小数点后第四位。0.3749 cleardime f(50)f(2)=-1/4f(3)=-1/9f(4)=-1/16s=1for n=2 to 50f(n)=-1/(n*n)s=s+f(n)endfor?round(s,4)154(12/(1*3)+(42/(3*5)+(62/(5*7)+(2k)2/(2k-1)*(2k+1)(按四舍五入的方式精确到小数点后第三位)20.488cleardime f(20)f(1)=4/3f(2)=16/15f(3)=36/35s=0for n=1 to 20f(n)=(2*n)2/(2*n-1)*(2*n+1)s=s+f(n)endfor?round(s,3)155求级数1/(1*2)+1/(2*3)+.+1/(N*(N+1)的和的近似值,直到级数中有一项的值小于1E4为止. 要求:按四舍五入的方式精确到小数点后第二位。0.99clears=0for n=1 to 100000k=1/(n*(n+1)&一定要记得分母是多项相乘时,分母要加括号!s=s+kif k1/10000exitendifendfor?round(s,2)157已知S1=1, S2=1+2, S3=1+2+4, S4=1+2+4+8,S5=1+2+4+8+16,编制一个程序求S=S1+S2+S3+S4+S5+S20的值。2097130clears=0q=0for n=0 to 19w=2nq=q+ws=s+qendfor?s158求Y=1-1/2+1/3-1/4+.-1/2*n前30项之和。要求:按四舍五入的方式精确到小数点后第二位。0.68cleardime f(15)f(1)=1/2f(2)=1/12f(3)=1/30s=0for n=1 to 15f(n)=1/(2*n-1)-1/(2*n)s=s+f(n)endfor?round(s,2)159已知S1=1, S2=1+3, S3=1+3+5, S4=1+3+5+7,S5=1+3+5+7+9,编制一个程序求S=S1+S2+S3+S4+S5+S20的值.2870cleardime f(20)f(1)=1f(2)=4f(3)=9s=14for n=4 to 20f(n)=f(n-1)+(2*n-1)s=s+f(n)endfor?s161当n=100时,计算输出下列多项式的值S=(1-1/2)+(1/3-1/4)+(1/(2*n-1)-1/(2*n)按四舍五入的方式精确到小数点后第三位。0.691cleardime f(100)f(1)=1/2f(2)=1/12f(3)=1/30s=0for n=1 to 100f(n)=1/(2*n-1)-1/(2*n)s=s+f(n)endfor?round(s,3)162当n的值为25时,计算下列公式的值s=1+1/1!+1/2!+1/3!+1/n!要求:按四舍五入的方式精确到小数点后第四位。2.7183 cleardim

温馨提示

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

评论

0/150

提交评论