vbvb期末考试实验答案作业

  • 格式:doc
  • 大小:40.00 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

请参考10_2.exe程序的运行结果,新建一个工程,完成"调色板"程序的设计,该程序由红绿兰三原色进行调色,如果预览满意,单击"应用"按钮,将调好的颜色作为文本框中文字的颜色。将完成后的工程文件以Design.Vbp、窗体文件以Design.frm保存到D:\10_2目录下。

具体要求如下:

1. 应用程序界面设计参考图示。

2. 要求水平滚动条和颜色成分输入文本框分别采用控件数组实现。

3. 要求操作任意一个滚动条,都会在相应的文本框中显示该颜色成分的当前取值,并且动态改变预览框中长方形的颜色。[注意:滚动条最大值为255]

4. 要求在任意一个颜色成分输入文本框中输入一个0-255的数据,相应的滚动条的滑块都会移到正确的位置上,并且预览框中长方形的颜色也随之而调整。

5. 单击"应用"按钮后将调好的颜色作为文本框中文字的颜色。

思考题:拖动滚动条时有没有触发滚动条的Change事件?

提示:

1. 应用程序界面设计参考图示。

程序界面右下角的预览框架里的长方形是形状控件Shape1(工具箱中的),将其FillStyle属性设置为0。

2. 要求水平滚动条和颜色成分输入文本框分别采用控件数组实现。

三个滚动条的Min设为0,Max设为255;三个文本框的Text属性设为空字串。

3. 要求操作任意一个滚动条,都会在相应的文本框中显示该颜色成分的当前取值,并且动态改变预览框中长方形的颜色。

颜色是利用Rgb(r,g,b)函数来表示,其中r,g,b是红、绿、兰颜色的饱和度,分别通过滚动条来控制。

Private Sub HScroll1_Change(Index As Integer)

Text1(Index).Text = HScroll1(Index).Value

Shape1.FillColor = RGB(HScroll1(0).Value, HScroll1(1).Value, HScroll1(2).Value)

End Sub

4. 要求在任意一个颜色成分输入文本框中输入一个0—255的数据,相应的滚动条的滑块都会移到正确的位置上,并且预览框中长方形的颜色也随之而调整。

设计文本框的Change事件:

Private Sub Text1_Change(Index As Integer)

HScroll1(Index).Value = Val(Text1(Index).Text)

End Sub

5. 单击“应用”按钮后将调好的颜色作为文本框中文字的颜色。

Text2.ForeColor = Shape1.FillColor

下载10_1.exe

请参考10_1.exe程序的运行结果,新建一个工程,完成"过程练习"程序的设计,并将工程文件以Design.Vbp、窗体文件以Design.frm保存到D:\10_1目录下。

具体要求如下:

1. 各题必须按要求用通用过程或函数过程进行编程。

2. "第一题":编写一个求n!的阶乘函数F(n),利用该函数计算二项式系数Cmn=m!/(n!*(m-n)!);其中m>=n;m和n从键盘输入。

3. "第二题":编写一个求1+2+……+n的函数Sum(n),利用该函数计算1+(1+2)+(1+2+3)+……+(1+2+……+100)的和。

4. "第三题":编写一个三个数中求最大数的函数过程Max(x,y,z)。随机产生7个∈[0,50]之间的整数,然后用这个函数过程分别求出前三个数的最大值、前五个数的最大值以及这七个数中的最大值。

5. "第四题":编写一个每行可以打印5个下标变量的打印数组的通用过程,。随机产生一个∈[100,500]、有20个下标变量的数组,调用该通用过程打印出原始数据;再将该数组中的偶数组成一个新的数组,再调用该通用过程打印出偶数数组。

思考题:通用过程与函数过程的区别?

提示:

1. 各题必须按要求用通用过程或函数过程进行编程。

2. “第一题”:编写一个求n!的阶乘函数F(n),利用该函数计算二项式系数Cmn=m!/(n!*(m-n)!);其中m>=n;m和n从键盘输入。

阶乘自定义函数F(n)的编写参考上课讲义

计算二项式系数Cmn可以通过调用F(n)函数完成:cmn=F(m)/(F(n)*F(m-n))

3. “第二题”:编写一个求1+2+……+n的函数Sum(n),利用该函数计算1+(1+2)+(1+2+3)+……+(1+2+……+100)的和。

自定义函数Sum(n)的编写:

Function Sum(n As Integer) As Long

……'编写s=1+2+...+n的程序段

Sum=s '将计算结果赋值给函数名

End Function

计算1+(1+2)+(1+2+3)+……+(1+2+……+100)的和就转化为计算

Sum(1)+Sum(2)+Sum(3)+……+Sum(100)的编程。

参考计算1!+2!+……+10!的程序

4. “第三题”:编写一个三个数中求最大数的函数过程Max(x,y,z)。随机产生7个∈[0,50]之间的整数,然后用这个函数过程分别求出前三个数的最大值、前五个数的最大值以及这七个数中的最大值。

自定义函数Max(x,y,z)的编写:

Function Max(x As Integer, y As Integer, z As Integer) As Integer

……'编写x、y、z中找最大的程序段并将结果赋值给Max

End Function

定义一个有7个数组元素的一维数组a,Dim a(1 To 7) As Integer,随机产生7个∈[0,50]之间的整数赋值给a(1)~a(7)。

前三个数的最大值:max1=Max(a(1),a(2),a(3))

前五个数的最大值: max2=Max(max1,a(4),a(5))

或max2=Max(Max(a(1),a(2),a(3)),a(4),a(5))

七个数中的最大值:max3=Max(max2,a(6),a(7))

5. “第四题”:编写一个每行可以打印5个下标变量的打印数组的通用过程,。随机产生一个∈[100,500]、有20个下标变量的数组,调用该通用过程打印出原始数据;再将该数组中的偶数组成一个新的数组,再调用该通用过程打印出偶数数组。