有关Visual Basic.docx

上传人:b****5 文档编号:8214608 上传时间:2023-01-29 格式:DOCX 页数:24 大小:179.87KB
下载 相关 举报
有关Visual Basic.docx_第1页
第1页 / 共24页
有关Visual Basic.docx_第2页
第2页 / 共24页
有关Visual Basic.docx_第3页
第3页 / 共24页
有关Visual Basic.docx_第4页
第4页 / 共24页
有关Visual Basic.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

有关Visual Basic.docx

《有关Visual Basic.docx》由会员分享,可在线阅读,更多相关《有关Visual Basic.docx(24页珍藏版)》请在冰豆网上搜索。

有关Visual Basic.docx

有关VisualBasic

3.1计算30度的正弦余弦值

PrivateSubCommand1_Click()

Text1.Text=Sin(30*3.1415/180)

Text1.ForeColor=vbRed

EndSub

PrivateSubCommand2_Click()

Text2.Text=Cos(30*3.1415/180)

Text2.ForeColor=vbBlue'RGB(0,0,255)

EndSub

3.2在3.1的基础上用符号常量定义圆周率

Constpi=3.1415

PrivateSubCommand1_Click()

Text1.Text=Sin(30*pi/180)

Text1.ForeColor=vbRed

EndSub

PrivateSubCommand2_Click()

Text2.Text=Cos(30*pi/180)

Text2.ForeColor=vbBlue'RGB(0,0,255)

EndSub

3.3由直角三角形两边计算斜边

PrivateSubCommand1_Click()

DimaAsDouble,bAsDouble,cAsDouble

'获取数据

a=Val(Text1.Text)

b=Val(Text2.Text)

'加工处理

c=Sqr(a*a+b*b)

'返回结果

Text3.Text=c

EndSub

3.4别小看val

OOptionExplicit

PrivateSubCommand1_Click()

Text3.Text=Text1.Text+Text2.Text

EndSub

3.5从字符串里取出一些字符

PrivateSubCommand1_Click()

DimaAsString,dAsString

DimbAsInteger,cAsInteger

a=Text1.Text

b=Val(Text2.Text)

c=Val(Text3.Text)'获取用户输入的数据,存放到三个变量中,相对于Text1,Text2,Text3这三个控件来说,就是“读”操作。

注:

由于实际需要的数据类型有差异,

因此声明的变量其数据类型就不一样,这就导致赋值时需要特别留意左右_

两边的数据类型是否匹配,不匹配的话就要转换

d=Mid(a,b,c)'处理数据的过程

Text4.Text=d'把结果数据返回给用户,相对于Text4这个控件来说,就是“写”操作。

EndSub

4.1用print在以下位置任意输出一个或者多个字符串

PrivateSubCommand1_Click()

Print"123"

Print

Print"789"

PrintTab(5);"456"

EndSub

4.2使双机的时候两个窗口互换

第一个窗口:

PrivateSubForm_DblClick()

Form2.Show

Form1.Hide

EndSub

第二个窗口

PrivateSubForm_DblClick()

Form1.Show

Form2.Hide

EndSub

4.3鼠标移动到按钮上有时间显示

PrivateSubCommand1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

Text1.Text=Now

EndSub

注:

对象为button,事件为:

MouseMove,需要编写的代码只有Text1.Text=Now

4.4在4.3基础上,把人为移动鼠标更新时间改为定时更新时间。

即把鼠标移动时间改为计时器的计时事件。

PrivateSubTimer1_Timer()

Text1.Text=Now

EndSub

注:

插入时钟控件,将Enabled属性改为True,Interval设置事件间隔

4.5设计一个窗体根据时钟有规律的移动

PrivateSubTimer1_Timer()

Label1.Left=Label1.Left+1000

EndSub

注:

加入时钟控件后,Enabled属性改为True,Interval设置事件间隔,一般设为1000,然后在Timer中加入代码。

5.1在4.5基础上增加越界的判断(向右移动)

PrivateSubTimer1_Timer()

Label1.Left=Label1.Left+300

IfLabel1.Left>Form1.WidthThen

Label1.Left=0

EndIf

EndSub

5.2用If….Then单路分支判断奇偶数

PrivateSubCommand1_Click()

DimnAsInteger

DimbAsString

n=Val(Text1.Text)

b="奇数"

IfnMod2=0Then

b="偶数"

EndIf

Text2.Text=b

EndSub

5.3用If….Then….Else双路分支判断奇偶数

PrivateSubCommand1_Click()

DimnAsInteger

n=Val(Text1.Text)

If(nMod2=0)Then

Text2.Text="偶数"

Else

Text2.Text="奇数"

EndIf

EndSub

5.4在5.1基础上增加越界的判断(向右下移动)

PrivateSubTimer1_Timer()

Label1.Left=Label1.Left+1000

Label1.Top=Label1.Top+1000

IfLabel1.Left>Form1.WidthOrLabel1.Top>Form1.HeightThen

Label1.Left=0

Label1.Top=0

EndIf

EndSub

5.5对以下“求正弦函数值”的例子,增加“输入字符的合法性进行检查”的功能。

要求:

用数值型变量存放用户输入的角度值。

算法核心:

如果输入的字符串内容是数值,则计算其正弦值并输出结果;否则,显示:

请输入数值

OptionExplicit

PrivateSubCommand1_Click()

DimaAsDouble

IfIsNumeric(Text1.Text)Then

a=Val(Text1.Text)

Text2.Text=Sin(a*3.14/180)

Else

Text2.Text="请输入一个数值"

EndIf

EndSub

(IsNumeric是一个函数)

5.6在实验5.5的基础上,增加“输入的数值是正数”的功能。

要求用数值型变量存放用户输入的角度值。

算法核心:

第一步。

如果输入的字符串是数值,则转第二步;否则,显示“请输入数值”。

第二步。

如果该数值〉0,则计算其正弦值并输入结果;否则,显示请输入正数

OptionExplicit

PrivateSubCommand1_Click()

DimaAsDouble

IfIsNumeric(Text1.Text)Then

a=Val(Text1.Text)

Ifa>0Then

Text2.Text=Sin(a*3.14/180)

Else

Text2.Text="请输入一个正数"

EndIf

Else

Text2.Text="请输入一个数值"

EndIf

EndSub

5.7判断成绩等级

OptionExplicit

PrivateSubCommand1_Click()

DimaAsDouble,bAsString

a=Val(Text1.Text)

SelectCasea

Case90To100

b="优秀”

Case80To89

b="良好"

Case60To79

b="中"

CaseElse

b="差"

EndSelect

Text2.Text="该生成绩评定为:

"&b

EndSub

5.8前N个数的和

PrivateSubCommand1_Click()

DimnAsInteger

DimiAsInteger

DimsAsInteger

n=Val(Text1.Text)

s=0

Fori=1Ton

s=s+i

Nexti

Text2.Text=s

EndSub

5.9计算n的阶乘

PrivateSubCommand1_Click()

DimnAsInteger

DimiAsInteger

DimresultAsLong

n=Val(Text1.Text)

result=1

Fori=1Ton

result=result*i

Next

Text2.Text=result

EndSub

5.10求前n个数中奇数的和

PrivateSubCommand1_Click()

DimnAsInteger

DimiAsInteger

DimresultAsInteger

n=Val(Text1.Text)

result=0

Fori=1TonStep2

result=result+i

Nexti

Text2.Text=Trim(Str(result))

'Text2.Text=result

EndSub

 

5.11求前n个数中奇数的和,限制step=1

PrivateSubCommand1_Click()

DimnAsInteger

n=Val(Text1.Text)

DimiAsInteger

DimsAsInteger

s=0

Fori=0Ton-1

s=s+2*i+1

Nexti

Text2.Text=s

EndSub

 

PrivateSubCommand1_Click()

DimtAsInteger,aAsDouble,bAsString

t=Val(Text2.Text)+Val(Text3.Text)+Val(Text4.Text)

a=t/3

SelectCasea

Case90To100

b="优"

Case80To89

b="良"

Case60To79

b="中"

CaseElse

b="差"

EndSelect

Label5.Caption=Text1.Text&"的成绩为"&b&vbCr&"总成绩为"&t&vbCr&_

"平均成绩为"&Int(a*10)/10

EndSub

PrivateSubCommand2_Click()

End

EndSub

PrivateSubCommand1_Click()

DimiAsInteger

DimcountAsInteger

DimsumAsInteger

count=0

sum=0

Fori=1To100

IfiMod3=0Then

count=count+1

sum=sum+i

EndIf

Nexti

Text2.Text=count

Text3.Text=sum

EndSub

6.1计算两个向量的乘积

OptionExplicit

PrivateSubCommand1_Click()

Dima

(2)AsDouble,b

(2)AsDouble

DimiAsInteger

DimresultAsDouble

a(0)=1

a

(1)=2

a

(2)=3

b(0)=-1

b

(1)=-2

b

(2)=-3

result=0

Fori=0To2

result=result+a(i)*b(i)

Nexti

Text1.Text=result

EndSub

6.2将一个数组的数据按顺序和逆序显示出来

PrivateSubCommand2_Click()

Dima(4)AsInteger

DimiAsInteger

a(0)=11

a

(1)=4

a

(2)=66

a(3)=7

a(4)=18

Fori=0To4

Printa(i);

Nexti

Print

Fori=4To0Step-1

Printa(i);

Nexti

EndSub

6.3已知一个数列的规律F1=1F2=1,F(n)=F(n-1)+F(n-2)(n>2),求F12的值

PrivateSubCommand1_Click()

DimiAsInteger

Dimf(12)AsDouble

f

(1)=1

f

(2)=1

Fori=3To12

f(i)=f(i-2)+f(i-1)

Nexti

Text1.Text=f(12)

EndSub

6.4将一个数组a中的数值按照逆序重新存放(把结果放到另一个数组b中),然后再把原数组a和新数组b的元素分别显示出来(限定所有循环的步长都必须大于0)

PrivateSubCommand2_Click()

Dima(4)AsInteger,b(4)AsInteger

DimiAsInteger

a(0)=11

a

(1)=4

a

(2)=66

a(3)=7

a(4)=18

Fori=0To4

b(i)=a(4-i)

Nexti

Fori=0To4

Printa(i);

Nexti

Print

Fori=0To4

Printb(i);

Nexti

EndSub

6.5已知一个数列的规律F1=1F2=1,F(n)=F(n-1)+F(n-2)(n>2),求任意一个数(大于2)相应项的值

PrivateSubCommand1_Click()

DimiAsInteger,nAsInteger

Dimf()AsDouble

n=Val(Text1.Text)

ReDimf(n)

f

(1)=1

f

(2)=1

Fori=3Ton

f(i)=f(i-2)+f(i-1)

Nexti

Text2.Text=f(n)

EndSub

6.6求完整的F1=1F2=1,F(n)=F(n-1)+F(n-2)(n>2)得值

OptionExplicit

PrivateSubCommand1_Click()

Dima(),maxAsDouble,locAsInteger,iAsInteger

a=Array(1,3,-3,2,5)

max=a(0)

loc=0

Fori=LBound(a)ToUBound(a)

Ifmax

max=a(i)

loc=i

EndIf

Nexti

Text1.Text=max

Text2.Text=loc+1

Fori=LBound(a)ToUBound(a)

Printa(i);

Nexti

EndSub

6.7求数列的最大元素值及所在位置

OptionExplicit

PrivateSubCommand1_Click()

Dima(),maxAsDouble,locAsInteger,iAsInteger

a=Array(1,3,-3,2,5)

max=a(0)

loc=0

Fori=LBound(a)ToUBound(a)

Ifmax

max=a(i)

loc=i

EndIf

Nexti

Text1.Text=max

Text2.Text=loc+1

Fori=LBound(a)ToUBound(a)

Printa(i);

Nexti

EndSub

7.1设计一个窗体,当电机按钮时,用Print显示两列数量不同的字符串

PrivateSubCommand1_Click()

CallMyPrint(3,"123")

CallMyPrint(10,"abc")

EndSub

PrivateSubMyPrint(iAsInteger,xAsString)

Forj=1Toi

Printx

Nextj

Print

EndSub

7.2将一个数组a中的数值按照逆序重新存放(把结果放到另一个数组b中),然后再把原数组a和新数组b的元素分别显示出来(限定所有循环的步长都必须大于0)注:

用过程实现

PrivateSubCommand2_Click()

Dima(),b()

DimiAsInteger

a=Array(1,5,6,7,8,9,5)

dayinshuzua

ReDimb(UBound(a))

Fori=LBound(a)ToUBound(a)

b(i)=a(UBound(a)-i)

Nexti

dayinshuzub

EndSub

Subdayinshuzu(a())

DimiAsInteger

Fori=LBound(a)ToUBound(a)

Printa(i);

Nexti

Print

EndSub

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

当前位置:首页 > 高等教育 > 工学

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

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