文档详情

老师实验报告答案十一过程参.pdf

发布:2025-03-20约1.7千字共4页下载文档
文本预览下载声明

实验十一过程

一、实验目的

1.掌握过程与函数的定义和使用方法;

2.掌握过程中变量的作用域;

3.掌握参数传递的方法;

4.了解过程的嵌套与递归调用。

二、实验内容

1、创建一个VB工程。在其窗体模块建立一个名为sjx的子过程,用于在窗体中输出一个

由指定字符组成的n行直角三角形图案。sjx过程需要两个参数,一为字符,一为数值。

PrivateSubCommand1_Click()

CallSjx(5,)

EndSub

SubSjx(x%,c$)

Dimi%

Fori=1Tox

PrintString(i,c)

Nexti

EndSub

2、编写一个自定义函数Diandao(),将一个字符串颠倒以后作为函数值返回。

PrivateSubCommand2_Click()

PrintDiandao(abcde)

EndSub

FunctionDiandao(S$)AsString

Dims2$,i%,c$

Fori=1ToLen(S)

c=Mid(S,i,1)

s2=cs2

Nexti

Diandao=s2

EndFunction

也可以:

FunctionDiandao(S$)AsString

Dims2$,i%,c$

Fori=Len(S)To1Step-1

c=Mid(S,i,1)

s2=s2c

Nexti

Diandao=s2

EndFunction

还可以:

FunctionDiandao(ByValS$)AsString注意思考,为什么这里用了byVal方式定义形

式参数S

Dimi%,a$

Fori=1ToLen(S)/2

a=Mid(S,i,1)

Mid(S,i,1)=Mid(S,Len(S)-i+1,1)S串中的倒数第i个字符:Mid(S,

Len(S)-i+1,1)与正数第i个字符Mid(S,i,1)交换

Mid(S,Len(S)-i+1,1)=a

Nexti

Diandao=S

EndFunction

3、编写一个计算两点间距离的自定义函数Juli()。再设计一个应用程序使其能在鼠标按

下时连续绘制线段,并根据屏幕坐标标示出当前线段的长度。屏幕显示如左下图。

[参考代码]

Dimx0AsInteger,y0AsInteger(通用)(),记录上一次鼠标单击点的坐标。

请思考如果x0,y0不在窗体通用部分定义会有什么不同?

Rem定义函数Juli()计算(x1,y1)和(x2,y2)两点间的距离

FunctionJuli(x1,y1,x2,y2)

Juli=Sqr((x1-x2)^2+(y1-y2)^2)

EndFunction

PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,Y

AsSingle)

Line(x0,y0)-(X,Y)画直线

PrintJuli(x0,y0,X,Y)调用函数Juli()求线段长度并输出到窗体

x0=X:y0=Y

EndSub

显示全部
相似文档