VB循环结构程序设计答案.docx

上传人:b****3 文档编号:6968128 上传时间:2023-05-10 格式:DOCX 页数:27 大小:545.40KB
下载 相关 举报
VB循环结构程序设计答案.docx_第1页
第1页 / 共27页
VB循环结构程序设计答案.docx_第2页
第2页 / 共27页
VB循环结构程序设计答案.docx_第3页
第3页 / 共27页
VB循环结构程序设计答案.docx_第4页
第4页 / 共27页
VB循环结构程序设计答案.docx_第5页
第5页 / 共27页
VB循环结构程序设计答案.docx_第6页
第6页 / 共27页
VB循环结构程序设计答案.docx_第7页
第7页 / 共27页
VB循环结构程序设计答案.docx_第8页
第8页 / 共27页
VB循环结构程序设计答案.docx_第9页
第9页 / 共27页
VB循环结构程序设计答案.docx_第10页
第10页 / 共27页
VB循环结构程序设计答案.docx_第11页
第11页 / 共27页
VB循环结构程序设计答案.docx_第12页
第12页 / 共27页
VB循环结构程序设计答案.docx_第13页
第13页 / 共27页
VB循环结构程序设计答案.docx_第14页
第14页 / 共27页
VB循环结构程序设计答案.docx_第15页
第15页 / 共27页
VB循环结构程序设计答案.docx_第16页
第16页 / 共27页
VB循环结构程序设计答案.docx_第17页
第17页 / 共27页
VB循环结构程序设计答案.docx_第18页
第18页 / 共27页
VB循环结构程序设计答案.docx_第19页
第19页 / 共27页
VB循环结构程序设计答案.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VB循环结构程序设计答案.docx

《VB循环结构程序设计答案.docx》由会员分享,可在线阅读,更多相关《VB循环结构程序设计答案.docx(27页珍藏版)》请在冰点文库上搜索。

VB循环结构程序设计答案.docx

VB循环结构程序设计答案

实验4循环结构程序设计

2014年月日

姓名:

金梦仙

学号:

136330862

班级:

法政2班

短号:

658399

一、实验目的:

1.掌握FOR语句的使用。

2.掌握DO语句各种形式的使用。

3.掌握如何控制循环条件,防止死循环或不循环。

4.掌握滚动条、进度条和定时器控件的使用。

二、实验内容:

请在每题窗体的合适位置写上你的姓名和学号(以后所有实验均有此要求)

1.完成实践教材实验4“三、实验内容”的题。

(最前面两题做在实验3中)

2.进入10.22.98.189\edu课程网站,并将此实验报告和代码文件一起打包压缩交到课程作业相应处,请务必在作业有效期内上交。

三、实验步骤及结果:

(实验结果截图,代码拷贝过来。

1容易题

(1)阶乘和

代码

PublicClassForm1

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

Dimi,n,s,aAsInteger

n=Val(TextBox1.Text)

s=0求阶乘和!

a=1

Fori=1Ton

a=a*i

s=s+a

Next

Label2.Text="1!

+2!

+3!

+…+"&n&"!

="

TextBox2.Text=s

EndSub

EndClass

(2)奇数偶数之和

代码

PublicClassForm1

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

Dimm,n,i,j,k,tAsInteger

IfIsNumeric(TextBox1.Text)AndIsNumeric(TextBox2.Text)Then

m=Val(TextBox1.Text)

n=Val(TextBox2.Text)

Ifm>nThent=m:

m=n:

n=t

Fori=mTon

IfiMod2=0Then

j=j+i

Else

k=k+i

EndIf

Next

Label3.Text="偶数的和为"&j

Label4.Text="奇数的和为"&k

Else

MsgBox("请输入合法的数据")

EndIf

EndSub

PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click

TextBox1.Text=""

TextBox2.Text=""

Label3.Text=""

Label4.Text=""

EndSub

EndClass

3.产生66

代码

PublicClassForm1

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

Randomize()

Label1.Text=""

Dimi,jAsInteger

DoWhilei<>66

j=j+15个一行

i=Int(Rnd()*(80-60+1)+60)

Label1.Text=Label1.Text&i&Space(3)

IfjMod5=0ThenLabel1.Text&=vbCrLf换行

Loop

Label1.Text&=vbCrLf&"产生"

EndSub

PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click

End

EndSub

EndClass

(4)能被5整除的数

代码

PublicClassForm1

PrivateSubTextBox2_TextChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTextBox2.TextChanged

Dimm,n,i,jAsInteger

n=Val(TextBox1.Text)

m=Val(TextBox2.Text)

Fori=nTom

j=j+1

IfiMod5=0Then

TextBox3.Text=TextBox3.Text&i&Space(3)

IfjMod4=0ThenTextBox3.Text&=vbCrLf4个换一行

EndIf

Next

EndSub

EndClass

(5)计算π的近似值

代码

PublicClassForm1

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

Dimn,t,sAsDouble

s=2

Forn=1ToVal(TextBox1.Text)

t=(2*n)^2/(2*n-1)/(2*n+1)

s*=t

Next

Label2.Text="π的近似值为"&s

EndSub

EndClass

(6)。

1

代码

PublicClassForm1

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

DimiAsInteger

Dims1AsString

Fori=1To10

s1=StrDup(2*i-1,"☆")

Label1.Text&=Space(20-2*i)&s1&vbCrLf☆占两字节

Next

EndSub

EndClass

6

(2)

代码

PublicClassForm1

PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

DimiAsInteger,s,bAsString

Fori=1To10

s=Chr(Asc("A")+i-1)

b=StrDup(2*i-1,s)

Label1.Text&=Space(20-i)&b&vbCrLf

Next

EndSub

EndClass

中等题

(1)

代码

PublicClassForm1

PrivateSubTextBox1_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesTextBox1.KeyPress

Dimx,iAsInteger,mAsDouble,flagAsBoolean

i=3

flag=True

x=Val(TextBox1.Text)

IfAsc(e.KeyChar)=13Then

IfxMod2=0Then

Ifx=2Then

TextBox2.Text=x&"是素数"

Else

TextBox2.Text=x&"不是素数"

EndIf

Else

m=Math.Sqrt(x)

DoWhilei<=Fix(m)

IfxModi=0Thenflag=False

i=i+2

Loop

IfflagThen

TextBox2.Text=x&"是素数"

Else

TextBox2.Text=x&"不是素数"

EndIf

EndIf

EndIf

EndSub

EndClass

中等题

(2)

代码

PublicClassForm1

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

Dimi,min,max,xAsInteger,avgAsSingle

max=1

min=100

Fori=1To10

Randomize()

x=Int(Rnd()*(100-1+1)+1)

Ifx>maxThenmax=x

Ifx

avg=avg+x

Label1.Text&=x&Space(3)

Next

Label2.Text="最大值"&Space(5)&"最小值"&Space(5)&"平均值"

Label3.Text=max&Space(8)&min&Space(8)&avg/10

EndSub

PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click

End

EndSub

EndClass

中等题(3)

代码

PublicClassForm1

PrivateSubTextBox1_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesTextBox1.KeyPress

IfAsc(e.KeyChar)=13Then

Dimi,j,nAsInteger

n=Val(TextBox1.Text)

Fori=1Ton

Label2.Text&=Space(i)

Forj=1To(2*n-2*i+1)

Label2.Text&=i

Next

Label2.Text&=vbCrLf

Next

EndIf

EndSub

EndClass

中等题(4)

PublicClassForm1

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

Dimi,m,k,NAsInteger,tagAsBoolean

N=Val(TextBox1.Text)

TextBox2.Text="2~"&TextBox1.Text&"之间的素数有:

"&vbCrLf

Form=2ToN

tag=True

Fori=2To(m-1)

If(mModi)=0Then

tag=False

ExitFor

EndIf

Next

IftagThen

TextBox2.Text&=m&Space

(2)

k=k+1

IfkMod8=0ThenTextBox2.Text&=vbCrLf

EndIf

Next

EndSub

EndClass

中等题(5)

代码

PublicClassForm1

Dimt%

PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

ProgressBar1.Value=ProgressBar1.Maximum

EndSub

PrivateSubTextBox1_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesTextBox1.KeyPress

IfAsc(e.KeyChar)=13Then

ProgressBar1.Maximum=Val(TextBox1.Text)*60

t=Val(TextBox1.Text)*60

TextBox1.ReadOnly=True

timer1.enabled=True

EndIf

EndSub

PrivateSubTimer1_Tick(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTimer1.Tick

t=t-1

TextBox1.Text=t\60&":

"&tMod60

ProgressBar1.Value=t

Ift=0Then

Timer1.Enabled=False

TextBox1.ReadOnly=False

EndIf

EndSub

EndClass

3难题1

PublicClassForm1

PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

Hscrollbar1.minimum=10

Hscrollbar1.maximum=PictureBox1.Width+9

Vscrollbar1.minimum=10

Vscrollbar1.maximum=PictureBox1.Height+9

EndSub

PrivateSubHScrollBar1_Scroll(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.ScrollEventArgs)HandlesHScrollBar1.Scroll

PictureBox1.Width=HScrollBar1.Value

EndSub

PrivateSubVScrollBar1_Scroll(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.ScrollEventArgs)HandlesVScrollBar1.Scroll

PictureBox1.Height=VScrollBar1.Value

EndSub

PrivateSubPictureBox1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesPictureBox1.Click

DimpicturepathAsString

StaticiAsInteger=0

i=i+1

Ifi>5Then

i=1

EndIf

picturepath="D:

\picture\p"&i&".jpg"

PictureBox1.Image=Image.FromFile(picturepath)‘路径

EndSub

EndClass

难题2。

1

代码

PublicClassForm1

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

DimiAsInteger

Dims1,s2AsString

Fori=1To11

Ifi>=1Andi<=5Then

s1=StrDup(17-3*i,"☆")

Label1.Text&=Space(3*(i-1))&"★"&s1&"★"&vbCrLf

ElseIfi=6Then

Label1.Text&=Space(15)&"☆"&vbCrLf

Else

s2=StrDup(2+(i-7)*3,"★")

Label1.Text&=Space((11-i)*3)&"☆"&s2&"☆"&vbCrLf

EndIf

Next

EndSub

EndClass

难题2.2

代码

ublicClassForm1

PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

Dims1,x,jAsInteger

StaticiAsInteger

Fori=1To13

s1=Asc("A")+i-1

Label1.Text&=Space(i)

Forj=s1To77

Label1.Text&=Chr(j)

Next

Label1.Text&="*"

Forx=78To(91-i)

Label1.Text&=Chr(x)

Next

Label1.Text&=vbCrLf

Nexti

Label1.Text&=Space(14)&"*"

EndSub

EndClass

-------------------------------------------------------------------------------------------------------

四、实验心得:

1.求阶乘和

n=Val(TextBox1.Text)

s=0求阶乘和!

a=1

Fori=1Ton

a=a*I倒着的阶层!

s=s+a

2/5个一行

Dimi,jAsInteger

DoWhilei<>66

j=j+15个一行

i=Int(Rnd()*(80-60+1)+60)

Label1.Text=Label1.Text&i&Space(3)

IfjMod5=0ThenLabel1.Text&=vbCrLf换行

Loop

Label1.Text&=vbCrLf&"产生"

3.

Fori=1To10

s1=StrDup(2*i-1,"☆")

Label1.Text&=Space(20-2*i)&s1&vbCrLf☆占两字节算前面的空格

4.

Chr(Asc("A")+i-1)

asc(字符):

给出字符的ASCII码值,十进制数

chr(数值):

返回以该数值为ASCII码的字符

5.

代码

PublicClassForm1

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

Dimi,min,max,xAsInteger,avgAsSingle

max=1

min=100

Fori=1To10

Randomize()

x=Int(Rnd()*(100-1+1)+1)

Ifx>maxThenmax=x

Ifx

avg=avg+x

Label1.Text&=x&Space(3)

Next

Label2.Text="最大值"&Space(5)&"最小值"&Space(5)&"平均值"

Label3.Text=max&Space(8)&min&Space(8)&avg/10

EndSub

EndClass

5.分钟----秒

PublicClassForm1

Dimtasinteger

PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

ProgressBar1.Value=ProgressBar1.Maximum

EndSub

PrivateSubTextBox1_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesTextBox1.KeyPress

IfAsc(e.KeyChar)=13

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2