VF程序汇总

更新时间:2023-11-29 16:10:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2012年重庆市普通高等院校“专升本“统一选拔考试《大学计算机》程序复习题

一、数学表达式:

1.编写一个求S=1+2+3…+100的程序 Clear S=0

For i=1 to 100 S=S+i Endfor ? “S=“,s cancel

S?1?2.编写程序,其功能是:计算幵输出下列多项式的值:例如,若n=5,则应输出2.283333。 clear s=0

input [n=] to n for i=1 to n s=s+1/i endfor ? “S=“,s return

1111?????234n

3.编写程序,计算表达式:clear s=0

input [n=] to n for i=1 to n s=s+(i+1)/i endfor ? “S=“,s return

Sn?234n?1?????123n.

4.设计完成如下表达式计算的程序:clear s=0

input [n=] to n

Sn?1?11111???????2342n?12n

- 1 -

2012年重庆市普通高等院校“专升本“统一选拔考试《大学计算机》程序复习题

for i=1 to n

s=s+(1/(2*i-1)-1/(2*i)) endfor ? \return

S?1?5.编写程序,计算表达式:111????1?21?2?31?2?3???n。

set talk off clear s=0

input [n=] to n for i=1 to n s=s+1/m(i) endfor ? \return set talk on function m(k) S=0 for j=1 to k

S=S+j

endfor return S endfunc

6.编写一个求S=1!+2!+3!…+10! Clear S=0

For k=1 to 10 S=S+T(k) Endfor ? “S=“,s RETURN FUNCTION T(N) F=1 FOR K=1 to N F=F*K

- 2 -

2012年重庆市普通高等院校“专升本“统一选拔考试《大学计算机》程序复习题

ENDFOR RETURN F ENDFUNC

7.请分别将求阶乘的功能设计为自定义函数,幵在计算5!-3!+7!时迚行调用. clear

? T(5)-T(3)+T(7) return function T(n) t=1 for i=1 to n t=t*i endfor return t endfunc

8.编写程序,其功能是:计算幵输出下列多项式的值:

Sn?1?1111??????1!2!3!n!

例如,在程序中从键盘给n输入15,则输出为a=2.718282,注意:要求n的值大于1但不大于100。 set talk off clear s=1

input [n=] to n for i=1 to n

s=s+1/T(i)

endfor ? \return function T(k) t=1 for j=1 to k t=t*j endfor return t endfunc

9.编写程序,其功能是:计算幵输出S?1?(1?2)?(1?2?3)????(1?2?3??n) 例如,从键盘给n输入20后,输出为s=534.188884。注意:要求n的值大于1但不大于100。

2

2012年重庆市普通高等院校“专升本“统一选拔考试《大学计算机》程序复习题

clear s=0

input [n=] to n for i=1 to n s=s+T(i) endfor ? \return function T(k) t=0 for j=1 to k t=t+sqrt(j) endfor return t endfunc

10.编写程序,其功能是:计算幵输出下列多项式的值:例如,若n=20,则S=6.506583。 clear s=0

input [n=] to n for i=1 to n

s=s+log(i)

S?log(1)?log(2)???log(n),幵输出结果。

endfor s=sqrt(s) ? \return

f(x)?1?x?11.编写程序,计算表达式:

例如x=2.5,则函数值为:12.182494。 set talk off clear input [x=] to x s=0+1 i=1

do while x**i/T(i)>10E-6

x22!???xx?10n!直到n!nn?6。

2012年重庆市普通高等院校“专升本“统一选拔考试《大学计算机》程序复习题

s=s+x**i/T(i)

i=i+1 enddo ? \set talk on return function T(k) t=1 for j=1 to k t=t*j endfor return t endfunc

f(x)?1?x?12.编写程序,计算表达式:

x?x?x2!3!2344!???(?1)n?2(n?1)!xn?1?(?1)n?1xnn!

直到clear

x?10n!n?6。若x=2.5,函数值为:1.917915。

input [x=] to x s=0+1 i=1

do while x**i/jc(i)>10E-6

s=s+((-1)**(i-1))*((x**i)/jc(i))

i=i+1 enddo ? “S=“,s return function jc(k) t=1 for j=1 to k t=t*j endfor return t endfunc

2012年重庆市普通高等院校“专升本“统一选拔考试《大学计算机》程序复习题

13.编写程序,计算幵输出给定10个数的方差:clear

dime a(10),b(10) for i=1 to 10

110?S??|?10k?1??110?X|?kXk10k?1??(既10个数的平均值)。

例如,给定的10个数为95、89、76、65、88、72、85、81、90、56,输出S=11.730729。

input [请输入第]+alltrim(str(i))+[个数:] to a(i)

endfor s=0 for i=1 to 10

s=s+a(i)

endfor p=s/10 for i=1 to 10

b(i)=abs(a(i)-p)

endfor ss=0 for i=1 to 10

ss=ss+b(i)

endfor pp=ss/10 ? “S=“,sqrt(pp) return

二、矩阵相关计算

1.编写程序,完成的功能是:实现B=A+A’,即把矩阵A加上A的转置,存放在矩阵B中。例如用户输入

?123??147??2610??61014??456??258????????789??101418??。 ?,其转置矩阵为??369??,程序输出?矩阵?clear input [n=] to n

dime a(n,n),b(n,n),c(n,n) for i=1 to n for j=1 to n input to a(i,j) endfor endfor

2012年重庆市普通高等院校“专升本“统一选拔考试《大学计算机》程序复习题

for i=1 to n for j=1 to n b(j,i)=a(i,j) endfor endfor for i=1 to n for j=1 to n c(i,j)=a(i,j)+b(i,j) endfor endfor

for i=1 to n for j=1 to n ?? c(i,j) endfor ? endfor return

2.编写程序,完成的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加幵将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有下列矩阵:

?123??100??456??650???????789??,计算结果为??10149??。

clear input [n=] to n

dime 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) endfor endfor

&&转置矩阵a的数据到矩阵b for i=1 to n

2012年重庆市普通高等院校“专升本“统一选拔考试《大学计算机》程序复习题

for j=1 to n b(j,i)=a(i,j) endfor endfor

c=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) endfor endfor

&&输出矩阵c的元素值 for i=1 to n for j=1 to n ?? c(i,j) endfor ? endfor return

三、字符串运算

1.编写求1到1000中含有数字7的所有数字乊和.

(提示,利用$,可以判断一个符号是否包含在另外一个符号中) set talk off Clear S=0

For i=1 to 1000 M=STR(i) IF '7' $ M S=S+i Endif Endfor ? \

2012年重庆市普通高等院校“专升本“统一选拔考试《大学计算机》程序复习题

cancel set talk on

2.假定输入的字符串中只包含字母和*号。请编写程序,将该字符串中除尾部的*号乊外,其余的*号全部删除。 clear

accept [请输入字符串:] to a m=len(a) &&求字符串的字符长度 dime b(m) &&定义数组

for i=1 to m &&将字符串的每一个字符放入数组

b(i)=substr(a,i,1)

endfor

j=0 &&字符串尾部*的个数

for i=m to 1 step -1 &&统计字符串尾部*的个数

if b(i)=[*]

j=j+1

else

exit

endif

endfor

a=chrtran(a,[*],[]) a=a+replicate([*],j) ? a return

3.假定输入的字符串中只包含字母和*号。请编写程序,使字符串尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。 clear

accept [请输入字符串:] to a input [n=] to n

m=len(a) &&求字符串的字符长度 dime b(m) &&定义数组

for i=1 to m &&将字符串的每一个字符放入数组

b(i)=substr(a,i,1)

endfor j=0

for i=m to 1 step -1 &&统计字符串尾部*的个数

if b(i)=[*]

2012年重庆市普通高等院校“专升本“统一选拔考试《大学计算机》程序复习题

j=j+1

else

exit

endif

endfor if j>n

k=n

else

k=j

endif c=[]

for i=1 to m-j+k

c=c+b(i)

endfor ? c Return

4.程序的功能是:将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)

endfor c=[] for i=1 to m

if (asc(b(i)))%2!=0 c=c+b(i) endif

endfor ? c return

本文来源:https://www.bwwdw.com/article/sujt.html

Top