VB程序题目.docx

上传人:b****8 文档编号:10293456 上传时间:2023-02-09 格式:DOCX 页数:18 大小:30.09KB
下载 相关 举报
VB程序题目.docx_第1页
第1页 / 共18页
VB程序题目.docx_第2页
第2页 / 共18页
VB程序题目.docx_第3页
第3页 / 共18页
VB程序题目.docx_第4页
第4页 / 共18页
VB程序题目.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

VB程序题目.docx

《VB程序题目.docx》由会员分享,可在线阅读,更多相关《VB程序题目.docx(18页珍藏版)》请在冰豆网上搜索。

VB程序题目.docx

VB程序题目

程序改错

1题目:

求s=2!

+4!

+6!

+8!

,阶乘的计算用Function过程fact实现。

程序代码:

PrivateSubForm_Click()

Dimiasinteger,saslong

Fori=2to8                                  →Fori=2to8step2

 s=s+fact(i)

Nexti

Prints

EndSub

PublicFunctionfact()                →PublicFunctionfact(Byvaln%)

Dimtaslong

Dimiasinteger

t=1

Fori=1ton

 t=t*i

Nexti

Fact=i                                                →Fact=t

Endfunction

 

2题目:

请根据下列描述编写购物优惠程序。

某商场为了加速促成商品流通,采用购物打折的优惠办法,每位顾客一次购物

(1)在100元以上者,按九五折优惠;

(2)在200元以上者,按九折优惠;(3)在300元以上者,按八折优惠;(4)在500元以上者,按七折优惠。

在窗体上添加两个文本框和一个命令按钮,要求在Text1中输入购物商品总金额,单击命令按钮,在Text2中输出优惠价。

程序代码:

PrivateSubCommand1_Click()

DimxAsInteger,yAsSingle

x=Val(Text1.Text)

If x<100then

 x=y                                                   →y=x

Else

 If x<200then

y=0.95*x

 Else

   If x<300then

y=0.9*x

   Else

     If x<300then

y=0.8*x

Else

 y=0.7*x

ElseIf                                          → EndIf

EndIf

EndIf

EndIf

Text2.text=x                                      →Text2.text=y

EndSub

程序填空

1题目:

由输入对话框输入n(n必须为大于零且小于30的自然数),计算下列表达式的值,并在标签框label1上显示。

Sum=1/2+1/6+……+1/(k*(k+1)) (k<=n)

Privatesubform_click()

Dimnasinteger,sumasdouble,kasinteger

N=val(inputbox(“n=”,”请输入自然数n(n>0且n<30)”))

Dowhilen<=0 orn>30                             

 N=val(inputbox(“n=”,”请重新输入”))

Loop

Sum=0

K=0

Do

K= k+1

Sum=sum+1/(k*(k+1))

Loopuntil                                     (k+1)>n

Label1.caption=“sum”+str(sum)

Endsub

 

2题目:

下面的程序用于打印出以下图形。

程序代码:

Privatesubform_click()

Dimi%,j%,k%

ForI=3to0step-1

 Forj=0to2*i

Print“”;

 Nextj

 Fork=5to11-2*i

Print“*”;

 Nextk

print

Nexti

ForI=0to3

 Forj=0to2*I+2

print“”;

 Nextj

 Fork=0to4-2*i

Print“*”;

 Nexti

print

Nexti

Endsub

程序设计

1题目:

求二维数组中最大元素及其所在的行和列,并将最大值存入变量Max中,将最大值的行位置存入row中,列位置存入变量column中

程序代码:

PrivateSubForm_load()

Show

Dima(2,3)AsInteger

DimmaxAsInteger,rowAsInteger,columnAsInteger

a(1,1)=34:

a(1,2)=34:

a(1,3)=43 

a(2,1)=34:

a(2,2)=78:

a(2,3)=12 

Max=a(1,1)

Row=1

Column=1

Fori=1to2

 Forj=1to3

 Ifa(i,j)>maxThenmax=a(i,j):

row=i:

column=j

 Nextj

Nexti

Printmax,row,column

EndSub

 

2题目:

(事件)双击窗体(响应)求3+6+9+12+15+18+……+300的和,并将结果输出到窗体上。

将结果存入变量sum中。

程序代码:

PrivateSubForm_DblClick()

DimsumAsInteger

Sum=0

Forj=3to300step3

 Sum=sum+j

Nextj

Printsum

EndSub

3题目:

创建一个绘图程序。

当程序运行时,单击“绘图”按钮,在窗体的Picture控件上画出【-pi,pi】即【-3.14,3.14】区间的余弦函数曲线。

要求将图片框的坐标系定义为左上角为(-4,2),右下角为(4,-2),并在图片框中画出坐标的x轴和y轴。

图例:

程序代码:

PrivateSubCommand1_Click()

DimiAsInteger → DimiAssingle

Picture1.Scale(4,2)-(4,2) →Picture1.Scale(-4,2)-(4,-2)

Picture1.Line(-4,0)-(4,0)

Picture1.Line(0,2)-(0,-2)

Picture1.CurrentX=0.2

Picture1.CurrentY=-0.1

Picture1.Print“0”

Picture1.CurrentX=-3.2

Picture1.CurrentY=-0.1

Picture1.Print“-n”

Picture1.CurrentX=3.3

Picture1.CurrentY=-0.1

Picture1.Print“n”

Picture1.CurrentX=0.2

Picture1.CurrentY=0.9

Picture1.Print“1”

Picture1.CurrentX=0.2

Picture1.CurrentY=-0.8

Picture1.Print“-1”

Fori=-3.141To3.141Step0.001

Picture1.Pset (i,sin(i)) → Picture1.Pset (i,cos(i))

Nexti

EndSub

 

PrivateSubCommand2_Click()

 End

EndSub

 

4题目:

用自定义函数的方法求sum(x)。

当x在[-1,1]上,sum(x)=x/2!

+x^2/3!

+x^3/4!

+……+x^n/(n+1)!

;当x>1或x<-1时,sum(x)=0。

当n<=0时,输入数据错误。

x,n都是由用户输入。

程序代码:

PrivateSubCommand1_Click()

DimsASSingle

DimnAsInteger,xAsSingle,kAsInteger

n=Val(Inputbox(“Pleaseinputaintegervalue:

”))

x=Val(Inputbox(“Pleaseinputasinglevalue:

”))

ifn<=0then

 k=MsgBox(“数据输入错误!

”,vbRetryCancel,”数据输入”)

 ExitSub

EndIf

s=sum(x,n)

Prints

EndSub

 

FunctionSum(xAsSingle,nAsInteger)

 DimiAsInteger,ssAsLong

 ss=1

 sum=0

 Ifx>1Orx<-1Then

   Exit→sum=0

 Else

   Fori=2Ton →Fori=2Ton+1

ss=ss*i

sum=x^(i-1)/ss→sum=sum+x^(i-1)/ss

Nexti

  Endif

EndFunction

程序填空

3题目:

以下程序段用于实现:

输入两个正整数m和n,求其最大公因数和最小公倍数。

程序代码:

Privatesubform_click()

Dima%,b%,num1%,num2%,temp

Num1=inputbox(“请输入一个正整数”)

Num2=inputbox(“请输入一个正整数”)

Ifa

 Temp=num1:

num1=num2:

num2=temp

Endif

A=num1

B=num2

Dowhileamodb<>0

 Temp=amodb

 A=b

 b=temp

Loop

Print“最大公约数为:

”;b

Print”最小公倍数为:

”;num1*num2/b

Endsub

 

4题目:

窗体上建立一个文本框text1,用于显示结果。

单击按钮弹出输入对话框,录入0-6之间的数值,判断输出值为星期几。

程序代码:

Privatesubcommand1_click()

Dimxasinteger

X=val(inputbox(“请输入星期几(0~6)”))

Selectcasex

Caseis=0

 Text1.text=“星期日”

Caseis=1

 Text1.text=“星期1”

Caseis=2

 Text1.text=“星期2”

Caseis=3

 Text1.text=“星期3”

Caseis=4

 Text1.text=“星期4”

Caseis=5

 Text1.text=“星期5”

Caseis=6

 Text1.text=“星期6”

Case else

 Text1.text=“输入错误”

Endselect

Endsub

程序设计

3题目:

(事件)单击窗体(响应)求100以内偶数的和,并将结果输出在窗体上。

将结果存入变量sum中。

程序代码:

PrivateSubForm_Click()

DimsumAsInteger

Sum=0

Forj=2To100Step2

 Sum=sum+j

Nextj

Printsum

EndSub

 

4题目:

(事件)单击窗体(响应)求10!

的值。

并将结果输出到窗体上。

将结果存入变量sum中。

PrivateSubForm_Click()

DimsumAsLong

Sum=1

Forj=1To10do

Sum=sum*j

Nextj

Printsum

EndSub

程序改错

5题目:

请修改程序中的错误,保证程序最后输出效果如图1所示。

图例:

程序代码:

PrivateSubForm_Click()

 DimiAsInteger

 Fori=1To7

 PrintSpc(7); →PrintSpc(7-i);

Ifi>=1Then →Ifi<=1Then

Print“*”

 Else

Print“*”;Spc(2*(i-1));”*” → Print“*”;Spc(2*(i-1)-1);”*”

 EndIf

 Nexti

EndSub

 

6题目:

输入一个字符串,将所有的小写字母都转换为大写字母。

程序代码:

PrivateSubForm_Click()

Dims1AsString,s2AsString,iAsInteger,tAsString

s1=Inputbox(“输入字符串,以#号结束”)

i=1

s1=Mid(s1,i,1)→t=Mid(s1,i,1)

Whilet<>“#”

 If t>=“a”Andt<=“z”Thent=Chr(Asc(t)-30) → If t>=“a”Andt<=“z”Thent=Chr(Asc(t)-32)

 s2=s2+t

 i=i+1

t=Mid(s1,i,1)

Wend

Print“新字符串为:

”;s1→ Print“新字符串为:

”;s2

EndSub

程序填空

5题目:

下面的时间过程判断文本框text1中输入的数所在区间,并在文本框text2中输出判断结果。

程序代码:

privatesubcommand1_click()

Dimint1asinteger

int1=val(text1.text)

Selectcaseint1

Case0

 Text2.text=“值为0”

Case1to10

 Text2.text=“值在1和10之间(包括1和10)”

CaseIs>10

 Text2.text=“值大于10”

Caseelse

 Text2.text=“值小于0”

Endselect

Endsub

程序设计

5题目:

(事件)单击窗体。

(响应)求1!

+2!

+3!

+4!

+5!

并将结果输出到窗体上。

结果存入变量S中。

程序代码:

Privatesubform_click()

DimsAsInteger

S=0

Fori=1To5

 x=1

Forj=1Toi

x=x*j

Nextj

S=s+x

Nexti

Prints

EndSub

 

6题目:

(事件)单击窗口(响应)求1-1/2+1/3-1/4+……+1/99-1/100的值将结果存入变量J中。

程序代码:

PrivateSubForm_Click()

DimIAsSingle

x=0

j=0

Fori=1To100

 x=(-1)^(i+1)/i

 J=j+x

Nexti

Printj

EndSub

程序改错

1题目:

求s=2!

+4!

+6!

+8!

,阶乘的计算用Function过程fact实现。

程序代码:

PrivateSubForm_Click()

Dimiasinteger,saslong

Fori=2to8→Fori=2to8step2

 s=s+fact(i)

Nexti

Prints

EndSub

 

 

PublicFunctionfact()→PublicFunctionfact(Byvaln%)

Dimtaslong

Dimiasinteger

t=1

Fori=1ton

 t=t*i

Nexti

Fact=i →Fact=t

Endfunction

 

2题目:

请根据下列描述编写购物优惠程序。

某商场为了加速促成商品流通,采用购物打折的优惠办法,每位顾客一次购物

(1)在100元以上者,按九五折优惠;

(2)在200元以上者,按九折优惠;(3)在300元以上者,按八折优惠;(4)在500元以上者,按七折优惠。

在窗体上添加两个文本框和一个命令按钮,要求在Text1中输入购物商品总金额,单击命令按钮,在Text2中输出优惠价。

程序代码:

PrivateSubCommand1_Click()

DimxAsInteger,yAsSingle

x=Val(Text1.Text)

If x<100then

 x=y →y=x

Else

 If x<200then

y=0.95*x

 Else

   If x<300then

y=0.9*x

   Else

     If x<300then

y=0.8*x

Else

 y=0.7*x

ElseIf → EndIf

EndIf

EndIf

EndIf

Text2.text=x →Text2.text=y

EndSub

1题目:

由输入对话框输入n(n必须为大于零且小于30的自然数),计算下列表达式的值,并在标签框label1上显示。

Sum=1/2+1/6+……+1/(k*(k+1)) (k<=n)

Privatesubform_click()

Dimnasinteger,sumasdouble,kasinteger

N=val(inputbox(“n=”,”请输入自然数n(n>0且n<30)”))

Dowhilen<=0orn>30

 N=val(inputbox(“n=”,”请重新输入”))

Loop

Sum=0

K=0

Do

K=k+1

Sum=sum+1/(k*(k+1))

Loopuntil(k+1)>n

Label1.caption=“sum”+str(sum)

Endsub

 

2题目:

下面的程序用于打印出以下图形。

        *

     ***

  *****

*******

   *****

     ***

         *

程序代码:

Privatesubform_click()

Dimi%,j%,k%

ForI=3to0step-1

 Forj=0to2*i

Print“”;

 Nextj

 Fork=5to!

!

11-2*i!

!

Print“*”;

 Nextk

print

Nexti

ForI=0to3

 Forj=0to2*I+2

print“”;

 Nextj

 Fork=0to4-2*i

Print“*”;

 Nextk

print

Nexti

Endsub

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1