下载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中找最大的程序段并将结果赋值给MaxEnd 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个下标变量的数组,调用该通用过程打印出原始数据;再将该数组中的偶数组成一个新的数组,再调用该通用过程打印出偶数数组。
打印数组的通用过程设计参考上课讲义在需要输出数组的时候调用该通用过程下载10_2.exe请参考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).ValueShape1.FillColor = RGB(HScroll1(0).Value, HScroll1(1).Value, HScroll1(2).Value)End Sub4. 要求在任意一个颜色成分输入文本框中输入一个0—255的数据,相应的滚动条的滑块都会移到正确的位置上,并且预览框中长方形的颜色也随之而调整。
设计文本框的Change事件:Private Sub Text1_Change(Index As Integer)HScroll1(Index).Value = Val(Text1(Index).Text)End Sub5. 单击“应用”按钮后将调好的颜色作为文本框中文字的颜色。
Text2.ForeColor = Shape1.FillColor下载10_3.exe说明:了解过程的递归。
请参考10_3.exe程序的运行结果,新建一个工程,完成"Fibonacci"程序的设计,并将工程文件以Design.Vbp、窗体文件以Design.frm保存到D:\10_3目录下。
具体要求如下:1.编写一个求斐波纳契(Fibonacci)数列某一项的函数过程。
已知:斐波纳契数列的第一项是0,第二项是1,以后各项都是前两项的和。
要求用递归算法求解[提示:f(n)=f(n-1)+f(n-2) ;f(1)=1;f(0)=0]2.从键盘上输入任意一个数n,调用编写的函数过程得到斐波纳契第n项值。
提示:1.编写一个求斐波纳契(Fibonacci)数列某一项的函数过程。
已知:斐波纳契数列的第一项是0,第二项是1,以后各项都是前两项的和。
要求用递归算法求解[提示:f(n)=f(n-1)+f(n-2) ;f(1)=1;f(0)=0]斐波纳契(Fibonacci)数列的递归函数过程F(n)如下:Function F(x As Integer) As LongIf x = 1 ThenF = 0ElseIf x = 2 ThenF = 1Elsef = f(x - 1) + f(x - 2)End IfEnd Function2.从键盘上输入任意一个数n,调用编写的函数过程得到斐波纳契第n项值。
可以直接调用F(n)求斐波纳契第n项值。
下载9_3.exe,9_3.frm , QBColor函数.Doc(参考文档)请参考9_3.exe 程序的运行结果,新建一个工程,完成一个带有预览效果的“综合字体设置”程序的设计,并将工程文件以Design.vbp ,窗体文件以Design.frm 保存到D:\9_3 目录下。
具体要求如下:1. 运行9_3.exe ,参照其界面,在窗体上部有1个带有垂直水平滚动条的文本框,在窗体下部有1个“字体设置”框架。
在此框架的右侧又有1个“预览”小框架,“预览”框架中是1个标签。
在“字体设置”框架的左侧有1个列表框和3个组合框,用于进行相应的字体设置。
2. 继续运行9_3.exe ,根据各个用于字体设置的列表框和组合框是否下拉和是否允许键盘输入来确定:它们分别是列表框(ListBox),还是组合框(Combo)?若是组合框,又属于哪种类型(Style)? 然后分别引入这4个控件,再一一设置其属性。
3. 打开9_3.frm ,在Form_Load() 事件中已经为各个列表框和组合框添加列表项编写了大部分代码。
其中“With ...... End With”语句用于简化对同一对象进行设置的代码,例如:Private Sub Form_Load()Command1.Caption = "OK"Command1.Visible = TrueCommand1.Top = 200Command1.Left = 5000Command1.Enabled = TrueEnd Sub可用“With ...... End With”语句简化如下,注意各个属性前的“.”不可缺。
Private Sub Form_Load()With Command1.Caption = "OK".Visible = True.Top = 200.Left = 5000.Enabled = TrueEnd WithEnd Sub因此,在Form_Load() 事件中,同学们只需在每个“With”语句后填写相应的控件名称,便可为各个列表框和组合框添加列表项。
在Form_Load()事件中,还需编写其它有关初始状况的代码。
4. 编写各个列表框和组合框事件过程的代码。
要求字体设置中的任何选择操作都在预览的"效果"标签中及时体现;(提示:颜色组合框中颜色排列顺序与Qbcolor(x) 函数一致,即x = .ListIndex,请参阅QBColor函数.doc)。
5. 单击"应用"按钮后,将字体预览中设置的字体效果全部运用到文本框中的文字上。
6. 按要求改名保存。