收藏 分销(赏)

过程VB武科大教学省公共课一等奖全国赛课获奖课件.pptx

上传人:a199****6536 文档编号:3509023 上传时间:2024-07-08 格式:PPTX 页数:68 大小:613.24KB
下载 相关 举报
过程VB武科大教学省公共课一等奖全国赛课获奖课件.pptx_第1页
第1页 / 共68页
过程VB武科大教学省公共课一等奖全国赛课获奖课件.pptx_第2页
第2页 / 共68页
过程VB武科大教学省公共课一等奖全国赛课获奖课件.pptx_第3页
第3页 / 共68页
过程VB武科大教学省公共课一等奖全国赛课获奖课件.pptx_第4页
第4页 / 共68页
过程VB武科大教学省公共课一等奖全国赛课获奖课件.pptx_第5页
第5页 / 共68页
点击查看更多>>
资源描述

1、Version 3.0过 程第六章第1页目标目标过程定义和调用参数传递递归变量作用域多窗体与Sub Main过程2 2第2页过程引入过程引入企业年底评先进,全部部门必须依据公共文件:计企业年底评先进,全部部门必须依据公共文件:计算先进人数、评选方法等算先进人数、评选方法等企业经营恪守和使用相关法律、法规、行业规则企业经营恪守和使用相关法律、法规、行业规则在财务管理、进销存、物流等系统中金额必须大写在财务管理、进销存、物流等系统中金额必须大写(代码见试验教程实例)(代码见试验教程实例)3 3第3页过程引入过程引入数据连接、网页顶部和底部怎样结构?以数据连接、网页顶部和底部怎样结构?以ASP.NE

2、T运行为例(以教务系统为例)运行为例(以教务系统为例)4 4第4页过程引入过程引入5 5第5页过程引入过程引入6 6第6页过程引入过程引入分而治之:将复杂问题尽可能地分解成若干分而治之:将复杂问题尽可能地分解成若干个易于处理子问题个易于处理子问题 许多窗体都需要做一样工作,防止代码重复许多窗体都需要做一样工作,防止代码重复 和共享代码,需引入过程。和共享代码,需引入过程。7 7第7页VB应用程序组成应用程序组成 VB应用程序应用程序 (.vbp文件)文件)标标准模准模块块(.bas文件)文件)最少一个窗体最少一个窗体模模块块(.frm文件)文件)Sub过过程程图图片或片或图图 标标事件事件过过

3、程程Sub过程过程VB应用程序组成函数函数过过程程Function()()函数过程函数过程(Function)8 8第8页 定义:定义:将程序分割成较小逻辑部件就能够简化将程序分割成较小逻辑部件就能够简化程序设计任务,称这些部件为程序设计任务,称这些部件为过程。过程作用:压缩重复任务和共享任务。过程作用:压缩重复任务和共享任务。如:数据连接和大小写转换等如:数据连接和大小写转换等 过过 程程 概概 述述9 9第9页过过 程程 概概 述述VB过程分类:过程分类:事件过程:与窗体相关联,发生某个事件时事件过程:与窗体相关联,发生某个事件时调用对应事件过程。调用对应事件过程。通用过程:用户自已确定程

4、序结构通用过程:用户自已确定程序结构(Sub过程、过程、Function过程过程)。1010第10页通用过程和事件过程关系1111第11页事件过程事件过程事件过程:如事件过程:如FORMClick(load)等)等原理:(举例滚动条调字体颜色)原理:(举例滚动条调字体颜色)用户动作对象该对象事件过程Windows操作系统识别通知窗体上相同对象事件过程都不一样,类似于相同岗位在不一样部门做事过程不一样1212第12页通用过程通用过程建立通用过程就相当于创建自己方法或自己建立通用过程就相当于创建自己方法或自己命令动词,该方法(命令)完成一定操作命令动词,该方法(命令)完成一定操作当需要计算机完成这

5、一定操作时,发出自己当需要计算机完成这一定操作时,发出自己命令。我们称之为调用。命令。我们称之为调用。建立通用过程允许带有参数(虚拟参数、形建立通用过程允许带有参数(虚拟参数、形式参数);在调用时对应给予真正参数(实式参数);在调用时对应给予真正参数(实际参数)际参数)包含包含SUB和和Function过程过程1313第13页SUB过程过程普通格式以下普通格式以下 Static PrivatePublic Sub过程名过程名(参数列表列表)语句块语句块 Exit Sub 语句块语句块 End Sub 1414第14页通用(通用(SUB)过程)过程Public 和和Private区分区分Stat

6、ic涵义涵义子过程命名符合变量命名规则子过程命名符合变量命名规则参数列表说明:参数列表说明:BYVA和和ByRef区分区分有始有终:有始有终:-Sub-End Sub过程内语句中能够出现过程内语句中能够出现Exit Sub语句,语句,用于提前退出通用过程用于提前退出通用过程1515第15页静态和动态变量区分静态和动态变量区分Dim t as integer t=t+1 print t换成静态变量:换成静态变量:Static t as integer t=t+1 print t1616第16页SUB过程建立过程建立方法一:快捷方式(利用工具中添加过程:代方法一:快捷方式(利用工具中添加过程:代码

7、窗口)码窗口)1717第17页SUB过程建立和调用过程建立和调用方法二:在窗体或标准模块代码窗口通用段,方法二:在窗体或标准模块代码窗口通用段,输入输入Sub过程名过程名1818第18页SUB过程建立和调用过程建立和调用调用方法调用方法Call 过程名(实参列表)过程名 实参列表调用说明调用说明主程序段调用子过程,程序流自动指向被调用过程被调用时形参和实参在个数、次序、类型要完全一致1919第19页形参加实参形式参数:被调过程中参数。出现在形式参数:被调过程中参数。出现在Sub过过程和程和Function过程中过程中 形式参数能够是变量名和数组名。形式参数能够是变量名和数组名。实际参数:在主调

8、过程中参数。过程调用时实际参数:在主调过程中参数。过程调用时实参数据会传递给形参实参数据会传递给形参 形参表和实参表中对应变量名能够不一样,形参表和实参表中对应变量名能够不一样,但实参和形参个数、次序以及数据类型必须但实参和形参个数、次序以及数据类型必须相同。相同。2020第20页举例举例Sub Dprint(n As Integer)For i=1 To n Print“欢迎进入欢迎进入VB世界世界”Next iEnd SubPrivate Sub Command1_Click()Call Dprint(5)End Sub形式参数形式参数实际参数实际参数2121第21页程序举例程序举例Pri

9、vate Sub Form_Load()Show Call mysub1(30)Call mysub2(1)Call mysub2(1)Call mysub2(1)Call mysub1(30)End Sub Private Sub mysub1(n)Print String(n,*)End SubPrivate Sub mysub2(n)Print*;Tab(30);*End Sub2222第22页例例 编编写写一一个个交交换换两两个个整整型型变变量量值值过过程程SwapSwap,然然后后在在窗窗体体ClickClick事事件件过过程程中中,随随机机产产生生两两个个小小于于10001000正

10、正整整数数,调调用用过过程程SwapSwap完完成成对对其其值值交交换换,并输出交换前后结果。并输出交换前后结果。程序代码以下:程序代码以下:Sub Swap(x As Integer,y As Integer)Dim t as IntegerT=y:y=x:x=tEnd SubSub Form_Click()Dim a As Integer,b As Integera=Int(Rnd*1000)b=Int(Rnd*1000)Print 交换前交换前:Print a=;a,b=;bSwap a,b 或或 Call Swap(a,b)Print 交换后交换后:Print a=;a,b=;bEnd

11、 Sub2323第23页举例举例Sub Pyramid()For i=1 To 5 Print Spc(10-i);For j=1 To 2*i-1 Print*;Next j Print Next iEnd SubPrivate Sub FORM_Click()Call PyramidEnd Sub调用调用建立建立Pyramid过程过程2424第24页程序举例程序举例-计算计算 5!+10!先定义阶乘方法先定义阶乘方法:Private Sub Jc(n As Integer,t As Long)Dim i As Integer t=1 For i=1 To n t=t*i Next i En

12、d SubPrivate Sub Form_Load()Show Dim y As Long,s As Long Call Jc(5,y)s=y Call Jc(10,y)s=s+y Print 5!+10!=;s End Sub2525第25页课堂练习课堂练习计算计算1!+2!+.+10!以下列图型怎样设计:以下列图型怎样设计:*2626第26页 自定义函数过程有两种方法:自定义函数过程有两种方法:(1)利用代码窗口下利用代码窗口下“工具工具”菜单下菜单下“添加过添加过程程”命令命令 定义,生成一个函数框架。定义,生成一个函数框架。(2)利用代码窗口直接定义。利用代码窗口直接定义。Funct

13、ion函数过程2727第27页Function函数过程函数过程函数过程形式:Function 函数名(参数列表)As 类型 局部变量或常数定义 语句块 函数名=表示式 函数体 Exit FunctionEnd Function2828第28页Function函数过程函数过程函数过程名:命名规则同变量名参数列表形式:变量名 As 类型形参仅表示参数个数、类型,无值。函数名=返回值:在函数体内最少对函数名赋值一次。Exit Function :表示退出函数过程。2929第29页Function函数过程与调用函数过程与调用Function过程有返回值,通惯用于完成特定计算过程有返回值,通惯用于完成特

14、定计算过程内语句中能够出现过程内语句中能够出现Exit Function语句,用于语句,用于提前退出函数过程提前退出函数过程过程内语句中必须最少有一条对函数名赋值语句过程内语句中必须最少有一条对函数名赋值语句函数名函数名=表示式表示式调用方法:与标准函数利用完全一样,能够出现调用方法:与标准函数利用完全一样,能够出现在表示式中在表示式中3030第30页Function过程调用直接调用直接调用 像使用像使用VB内部函数一样,只需写出函数名和对内部函数一样,只需写出函数名和对应参数即可。比如:应参数即可。比如:s=Max(a,b)Print Max(s,c)用用Call语句调用语句调用 与调用与调

15、用Sub过程一样来调用过程一样来调用Function过程过程 Call Max(a,b)当用这种方法调用当用这种方法调用Function过程时,将会放弃返过程时,将会放弃返回值。回值。3131第31页举例举例-输入三个数,求出它们最大数输入三个数,求出它们最大数定义求最大值函数定义求最大值函数Function max(m,n)As Single If m n Then max=m Else max=n End If End Function Private Sub Form_click()Dim a As Single,b As Single,c As SingleDim s As Singl

16、ea=Val(InputBox(输入第一个数输入第一个数)b=Val(InputBox(输入第二个数输入第二个数)c=Val(InputBox(输入第三个数输入第三个数)s=max(a,b)Print 最大数是最大数是:;max(s,c)End Sub 函数作为变量使用函数作为变量使用函数作为变量使用函数作为变量使用形式参数形式参数m,n函函数数名名3232第32页举例举例计算计算计算计算1!+2!+.+10!Private Sub Form_Click()Dim i As Integer,s As Double s=0 For i=1 To 10 s=s+f(i)Next i Print 1

17、!+2!+.+10!=;sEnd Sub自定义函数:自定义函数:Public Function f(x As Integer)As Double t=1 For i=1 To x t=t*i Next i f=tEnd Function3333第33页举例举例Function nFactor(n As Integer)As Long T=1 For i=1 To n T=T*i Next i nFactor=TEnd FunctionPrivate Sub FORM_Click()s=0 For i=1 to 10s=s+nFactor(i)Next I Print“1!+2!+10!=”;s

18、End Sub形式参数形式参数实际参数实际参数函数名函数名3434第34页Fabonacci数列数列Option ExplicitPrivate Sub Command1_Click()Dim n As IntegerDo n=Val(InputBox(n=)Loop While n=0Print Fabonacci数列第数列第;n;项项=;f(n)End SubPublic Function f(x As Integer)As Long If x=1 Then f=0:Exit Function If x=2 Then f=1:Exit Function f=f(x-1)+f(x-2)End

19、 Function3535第35页课堂练习课堂练习Private Sub Command1_Click()Dim I As Integer Dim e As Single,F As Long For I=0 To 10 F=Factorial(I)计算计算 I!e=e+1/F Next I Print e=;eEnd Sub返回目录返回目录Function Factorial(X As Integer)As Long Dim I As Integer,T As Long T=1 For I=1 To X 计计算算 X!T=T*I Next I Factorial=TEnd Function 计

20、算阶乘函数过程3636第36页总结总结-sub 和和function过程比过程比较较(1)过程申明关键字不一样过程申明关键字不一样(2)子过程无返回值,函数过程有返回值子过程无返回值,函数过程有返回值(其返回值类型要定义)。(其返回值类型要定义)。(3)Sub 过程中没有对过程名赋值语句,过程中没有对过程名赋值语句,而而Function过程中一定有对函数名赋值语句过程中一定有对函数名赋值语句。3737第37页总结总结-sub 和和function过程比过程比较较(4)调用方式不一样,子过程是一条独立语调用方式不一样,子过程是一条独立语句,可用句,可用Call子过程名或省略子过程名或省略Call

21、直接以子过直接以子过程名调用;函数过程不是一条独立语句,是程名调用;函数过程不是一条独立语句,是一个函数值,必须参加表示式运算。一个函数值,必须参加表示式运算。(5)普通来说,一个函数过程能够被一个子普通来说,一个函数过程能够被一个子过程代替,代替时只要改变函数过程定义形过程代替,代替时只要改变函数过程定义形式,并在子过程形参表中增加一个地址传递式,并在子过程形参表中增加一个地址传递形参来传递结果。形参来传递结果。3838第38页参数传递参数传递按值传递 和和 按地址传递(VB默认数据传递方式)ByVal 传值 Byref传址实参暂时单元实参形参形参3939第39页按值传递 和和 按地址传递P

22、rivate Sub xyz(ByVal n As Integer)n=n+5End SubPrivate Sub abc(ByRef n As Integer)n=n+5End SubPrivate Sub Command1_Click()Dim x As Integer x=3 Call xyz(x)x值传给值传给n,相当于,相当于n=3 Print x x依然操持原有值依然操持原有值 Call abc(x)x值传给值传给n,相当于,相当于n=3 Print x 因为在执行因为在执行abc过程中过程中n=8了,了,x同时变为同时变为8End Sub单击单击Command1后,打印出:后,打

23、印出:384040第40页数组作为参数值传递方式数组作为参数值传递方式数组参数只能按地址传递在实参和形参中无需说明数组维数数组上界和下界可用Lbound()和Ubound()函数测出返回目录返回目录 4141第41页3.数组参数 在在一一个个通通用用过过程程中中使使用用数数组组作作为为参参数数时时,除除遵遵照照参参数数基基本本标标准准外外,还还须注意以下几点须注意以下几点:数数组组作作形形参参时时,普普通通不不申申明明大大小小,但但括括号号不不能能省省略略,方方便便与与普普通通变量混同。变量混同。数数组组作作形形参参时时,只只能能采采取取按按地地址址传传送送方方式式,即即在在定定义义数数组组时

24、时,前前面不能加关键字面不能加关键字ByVal。在在过过程程体体内内,形形参参数数组组下下标标改改变变范范围围能能够够使使用用LBound函函数数或或UBound函函数数来来确确定定。比比如如,要要将将一一个个二二维维数数组组中中元元素素输输出出,则则通通用用程程序段以下:序段以下:Sub printarray(x()Dim row%,col%For row=LBound(x,1)to UBound(x,1)For col=LBound(x,2)to UBound(x,2)Print tab(6*col);x(row,col);Next colPrintNext rowEnd Sub4242第

25、42页 调调用用通通用用过过程程时时,假假如如形形参参是是数数组组,则则对对应应实实参参必必须须是是与与形形参参同同类类型数组。实参数组格式为:实参数组名型数组。实参数组格式为:实参数组名()()或实参数组名。或实参数组名。整整个个数数组组必必须须以以ByRefByRef(按按地地址址方方式式)传传递递,但但数数组组中中数数组组元元素素可可用用ByValByVal(按值)传递。当数组元素作为实参出现时,一定要写上下标。(按值)传递。当数组元素作为实参出现时,一定要写上下标。数数组组作作参参数数时时,对对形形参参数数组组元元素素改改变变,将将最最终终改改变变实实参参数数组组中中对对应应元素值。元

26、素值。4343第43页例 Private Sub Form_Click()Dim a As Integer,b(4)As Single,c As String*5 a=3 For i=0 To 4 b(i)=i Next i c=“china”Call testsub(a,b,c)Print“返回后数组b值为:”For i=0 To 4 Print b(i);Next i End SubSub testsub(x As Integer,y()As Single,z As String)Print x For i=0 To UBound(y)Print y(i);Next i y(4)=8 Pr

27、int Print zEnd Sub4444第44页数组参数传递数组参数传递参数:任意一维数组,数组个数,打印时每参数:任意一维数组,数组个数,打印时每行个数行个数Public Sub printarray(x()As Integer,n As Integer,k As Integer)调用:调用:Call Print array(a,50,5)Print array b,100,8注意:数组作为形参时,不要定义下标界限;注意:数组作为形参时,不要定义下标界限;而在调用时,数组作为实参时,只须给出数而在调用时,数组作为实参时,只须给出数组名组名形参形参实参实参4545第45页数组参数传递数组参

28、数传递Public Sub printarray(x()As Integer,n As Integer,k As Integer)For I=1 To n Print x(I);If I Mod k=0 Then PrintNext IEnd Sub在需要输出数组时,调用在需要输出数组时,调用printarray过程过程Private Sub Form_Click()Dim a(20)As Integer,b(30)As Integer For I=1 To 20 a(I)=Int(Rnd*90)+10 Next IFor I=1 To 30b(I)=Int(Rnd*900)+100 Next

29、 ICall printarray(a,20,4)printarray b,30,5End Sub4646第46页次序查找代码次序查找代码Private Sub Form_ click()Const N As Integer=9 Dim List As Variant List=Array(65,72,83,79,97,87,75,57,91,78)Dim key,i As Integer key=Val(InputBox(请输入要查找数请输入要查找数:)i=1 Do While i N Then Print 没找到没找到!Else Print 找到了找到了!位置是位置是:&i End IfE

30、nd Sub public Sub sxcz(b,k As Single)N=UBound(b)Dim i As Integer i=lBound(b)Do While i N Then Print 没找到没找到!Else Print 找到了找到了!位置是位置是:&i End IfEnd SubPrivate Sub Form_Click()Dim a As Variant,key As Single a=Array(65,72,83,79,97,87,75,57,91,78)key=Val(InputBox(请输入要查找数请输入要查找数:)Call sxcz(a,key)End Sub想一想

31、,查找位置为何不对?4747第47页折半查找代码折半查找代码Option Base 1Private Sub Form_Activate()Const N As Integer=10 Dim List As Variant List=Array(57,65,72,75,78,79,83,87,91,97)Dim key,i,low,mid,high,found As Integer For i=1 To N Print List(i);Next i Print key=Val(InputBox(请输入要查找数请输入要查找数:)low=0:high=N:found=0Do While low L

32、ist(mid)Then low=mid+1 Else high=mid-1 End If Loop If found=1 Then Print 找到了找到了!位置是位置是:&mid Else Print 没找到没找到!End IfEnd Sub折半查找代码折半查找代码过程怎过程怎样实现?样实现?4848第48页冒泡法冒泡法冒泡法排序冒泡法排序 Const N=10:Dim D(N)As Integer,I%,J%,T%Randomize Timer For I=1 To N D(I)=Rnd*100:Print D(I);Next I Print:Print For I=N-1 To 1 S

33、tep-1 大数逐一大数逐一沉底沉底 For J=1 To I If D(J)D(J+1)Then T=D(J):D(J)=D(J+1):D(J+1)=T End If Next J Next I For I=1 To N 输出排序结果输出排序结果 Print D(I);Next I4949第49页使用过程处理冒泡法使用过程处理冒泡法先定义过程先定义过程Private Sub rank(n As Integer,a()As Long)n=ubound(a)c=lbound(a)For i=c To n-1 For j=c+1 To n If a(j-1)a(j)Then t=a(j-1):a(

34、j-1)=a(j):a(j)=t End If Next jNext iEnd Sub5050第50页使用过程处理冒泡法使用过程处理冒泡法Private Sub Form_Click()Dim D(10)As Long,I%,J%,T%Randomize For I=1 To 10 D(I)=Rnd*100+I:Print D(I);排序前数据序列排序前数据序列 Next I PrintCall rank(10,D()For I=1 To 10 Print D(I)竖向输出数列竖向输出数列 Next IEnd Sub5151第51页选择法选择法选择法排序选择法排序Const N=10:Dim

35、D(N)As Integer,I%,J%,T%Randomize Timer For I=1 To N D(I)=Rnd*100:Print D(I);排序前数据序列排序前数据序列 Next I Print:Print For I=1 To N-1 挑出前挑出前N-1个小数个小数 For J=I+1 To N If D(I)D(J)Then 数据元素交换数据元素交换 T=D(I):D(I)=D(J):D(J)=T End If Next J Next I For I=1 To N 输出排序结果输出排序结果 Print D(I);Next I5252第52页使用过程处理选择法(升序)使用过程处理

36、选择法(升序)Option Base 1Private Sub rank(n As Integer,a()As Long)c=LBound(a)n=UBound(a)For I=c To n-1For J=I+1 To nIf a(J)a(I)Then T=a(I):a(I)=a(J):a(J)=TNext JNext IEnd SubPrivate Sub rank(n As Integer,a()As Long)For I=1To n-1For J=I+1 To nIf a(J)a(I)Then T=a(I):a(I)=a(J):a(J)=TNext JNext IEnd Sub5353第

37、53页使用过程处理选择法使用过程处理选择法Private Sub Form_Click()Dim D(10)As Long,I%,J%,T%Randomize Timer For I=1 To 10 D(I)=I*Rnd*100:Print D(I);排序前数据序列排序前数据序列 Next I PrintCall rank(10,D()For I=1 To 10 Print D(I)竖向输出数列竖向输出数列 Next IEnd Sub5454第54页变量作用域变量作用域按空间角度分按空间角度分1局部变量 局部变量是只能在一个函数或过程中访问变量,其它过程或函数不能访问此变量数据。2.窗体/模块

38、级变量 窗体/模块级变量是指在一个窗体/模块任何过程之外,即在“通用申明”段中用Dim或Private语句申明变量。3.全局变量 全局变量是指在一个窗体/模块任何过程之外申明变量,即在“通用申明”段中用Public语句申明变量。注:不一样标准模块或不一样学体通用段定义全局变量能够重名,但引时需加载对象名,如:窗体名.变量名。5555第55页变量作用域变量作用域表5656第56页变量作用域问题 局部变量:调用一次,初始化一次,变量值调用一次,初始化一次,变量值不保留不保留模块级变量:当窗体模块装入时,分配该变当窗体模块装入时,分配该变量存放空间,直到该窗体模块从内存中缷掉,量存放空间,直到该窗体

39、模块从内存中缷掉,才回收该变量分配存放空间。才回收该变量分配存放空间。5757第57页过程过程作用域作用域 对过程而言,也有对过程而言,也有模块级过程模块级过程和和全局级过程全局级过程之分之分1.模块级过程 在在一一个个窗窗体体模模块块中中以以Private定定义义过过程程为为模模块块级级过过程程,可为模块内各个过程引用。可为模块内各个过程引用。2.全局级过程 在在一一个个窗窗体体模模块块中中以以Public定定义义过过程程为为全全局局级级过过程程,其其它它窗窗体体可可经经过过“窗窗体体模模块块名名.过过程程名名”引引用用;在在标标准准模块中定义全局过程可模块中定义全局过程可直接经过过程名直接

40、经过过程名引用。引用。返回目录返回目录5858第58页例:下面程序中有三个同名变量wv,图是运行该程序后,三次单击Command1后显示结果。Public wv As IntegerPrivate Sub Command1_Click()Dim wv As Integer wv=wv+3 Call wholesub Print Command1事件过程wv=;wv,全局wv=;Form1.wvEnd SubPublic Sub wholesub()Static wv As Integer wv=wv+1 Form1.wv=wv+5 Print wholesub过程wv=;wv,全局wv=;Fo

41、rm1.wvEnd SubPrivate Sub Form_Load()wv=1End Sub图 全局变量、局部变量、静态变量假如将dim改为static,结果怎样?5959第59页过程过程作用域作用域 对过程而言,也有对过程而言,也有模块级过程模块级过程和和全局级过程全局级过程之分之分1.模块级过程 在在一一个个窗窗体体模模块块中中以以Private定定义义过过程程为为模模块块级级过过程程,可为模块内各个过程引用。可为模块内各个过程引用。2.全局级过程 在在一一个个窗窗体体模模块块中中以以Public定定义义过过程程为为全全局局级级过过程程,其其它它窗窗体体可可经经过过“窗窗体体模模块块名名

42、.过过程程名名”引引用用;在在标标准准模块中定义全局过程可模块中定义全局过程可直接经过过程名直接经过过程名引用。引用。返回目录返回目录6060第60页Sub Main过程过程-开启过程开启过程 作用:在一个含有多个窗体或多个工程应用作用:在一个含有多个窗体或多个工程应用程序中,有时需要在显示多个窗体之前对一程序中,有时需要在显示多个窗体之前对一些条件进行初始化些条件进行初始化在标准模块窗口中建立在标准模块窗口中建立:执行:执行“工程”菜菜单中单中“添加模块”命令,打开标准模块窗口,命令,打开标准模块窗口,在该窗口中键入:在该窗口中键入:Sub Main6161第61页练习 指出下面过程语句说明

43、中错误:指出下面过程语句说明中错误:(1)Sub f1(n%)As Integer(2)Fuction f1%(f1%)(3)Sub f1(ByVal n%()(4)Sub f1(x(i)As Integer)6262第62页练习已知有以下求两个平方数和已知有以下求两个平方数和Fsum子过程:子过程:Public Sub fsum(sum%,Byval m%,Byval n%)sum=m*m+n*nEnd Sub在事件过程中若有以下变量申明:在事件过程中若有以下变量申明:Private Sub Command1_Click()Dim a%,b%,c!a=10:b=206363第63页练习指出以

44、下过程调用语句错误所在:指出以下过程调用语句错误所在:fsum 3,4,5 fsum a+b,a,b Call Fsum c,a,b6464第64页试验汇报试验汇报编写程序,经过调用阶乘函数过程求编写程序,经过调用阶乘函数过程求S=A!+B!+C!。!。A、B、C值由键盘输入。值由键盘输入。由随机函数产生由随机函数产生20个个100300之间随机整之间随机整数放入数组中,将它们中偶数按从大到小数放入数组中,将它们中偶数按从大到小次序放入另一个数组并输出。(由选择法次序放入另一个数组并输出。(由选择法或冒泡法完成)或冒泡法完成)6565第65页第第1题答案题答案Private Sub Form_

45、Click()Dim a As Integer,b As Integer,c As Integer Dim s As Long a=Val(InputBox(A=):b=Val(InputBox(B=):c=Val(InputBox(C=)s=nfactor(a)+nfactor(b)+nfactor(c)Print s=;sEnd SubPublic Function nfactor(n As Integer)As Long Dim i As Integer,t As Long t=1:For i=1 To n :t=t*I :Next i nfactor=tEnd Function6666

46、第66页第第2题答案题答案Private Sub Form_Click()Dim a(50)As Integer,b(50)As Integer,k As Integer,i As Integer,j As Integer,temp As Integer Randomize For i=1 To 50 :a(i)=Int(201*Rnd+100):Next i Print 原始数据:原始数据:printarray a,50 For i=1 To 50 If a(i)Mod 2=0 Then k=k+1:b(k)=a(i)Next i Print 偶数数据:偶数数据:printarray b()

47、,k For i=1 To k-1 For j=i+1 To k If b(i)b(j)Then temp=b(i):b(i)=b(j):b(j)=temp Next j Next i Print 排序偶数数据:排序偶数数据:printarray b(),kEnd SubPublic Sub printarray(x()As Integer,n As Integer)Dim perline As Integer,i As Integer For i=1 To n Print x(i);Space(3);perline=perline+1 If perline=10 Then Print:perline=0 Next i PrintEnd Sub6767第67页下课了!下课了!6868第68页

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服