资源简介 课件19张PPT。4.4 过程与函数高中信息技术浙教2003课标版选修1 算法与程序设计 VB应用程序是按模块化的方式组成的,每个模块完成一部分任务。 程序模块分为过程和函数两种1、事件处理过程:事件过理过程的一般形式参考如下: ①Sub过程以Sub开头,以End Sub结束。在Sub与End Sub之间是描述过程操作的语句块。过程体可以含有多个Exit Sub的语句,程序执行Exit Sub时提前退出该进程,返回到调用该过程的下一条语句。当对象X上发生某个事件Y时,需要执行一段程序来响应这个事件。过程的分类:事件处理过程和通用过程(不作要求)②事件处理过程名必须符合的规则是:“对象名_事件”的标准名。VB常用对象的事件处理过程名有:【例1】编写一个过程,计算一个立方体的体积,单击Command1按钮,程序立即进行体积的计算。【例2】设计一个应用程序,计算一批输入数据的平均值(如图),要求能显示:自定义函数VB有常用的标准函数 ,可以使用这些函数来实现某些数学计算或数据类型的转换 ,但许多应用程序常常需要自己来定义函数 ,以实现某种特定的功能。自定义函数建立过程格式如下:求3!+5!+7!+11!=?不使用自定义函数Function Fact(N As Integer) As Double Dim i As Integer, F As Double F = 1 For i = 1 To N F = F * i Next i Fact = F End FunctionPrivate Sub command_Click() Dim sum As Double sum = sum + Fact(3)+ Fact(5) + Fact(7) + Fact(11) Print "3! +5!+7!+11!="; sumEndsub使用自定义函数Private Sub command_Click() Dim i As Integer, F1,F2,F3,F4 As Double F 1= 1 :F2=1:F3=1:F4=1 :Sum=0 For i = 1 To 3 F1 = F1 * i Next i‘ For i = 1 To 5 F2 = F2 * i Next I For i = 1 To 7 F3= F3 * i Next I For i = 1 To 11 F4 = F4 * i Next I sum = F1+F2+F3+F4 Endsub比较两种方法得出什么结论:【例4】 设计一个函 数judge,判断year年是否是闰 年,若是,就返回1,否则,就返回0。 我们先构造一个函 数judge( year) :‘判断year年是否 是闰年方 法;Function judge(y As Integer) As Integer If y mod 100=0 then If y mod 400=0 then judge=1 Else judge=0 Else If y mod 4=0 then judge=1 Else judge=0 Endif End FunctionPrivate Sub Form_Click() Dim a As Integer a=Val(Text1.Text) If judge(a)=1 Then Label1.Caption=”Yes” Else Label1.Caption=”NO”End SubA.窗口中有三个事件处理过程B.窗口中有三个自定义函数过程C.窗口中有两个事件处理过程和一个自定义函数过程D.窗口中有一个事件处理过程和两个自定义函数过程以下说法正确的是?( )事件处理过程:Sub 事件处理过程名(参数表) 语句块 End Sub自定义函数: Function 函数名(参数表) As 类型名 语句块 End FunctionCommand1_Click和Form_Load是事件处理过程,even是自定义函数的函数名。答案????C课堂练习2、有如下程序: Private Sub Command1_Click()Dim x As Integerx=Val(Text1.Text)Text2.Text=even(x)End SubFunction even(num As Integer) As String If num Mod 2=0 Then even=“偶数” Else even=“奇数”End Function程序中的自定义函数的函数名是?( )A.x B.even C.num D.Function答案????B 本题考查自定义函数的语法。自定义函数:Function 函数名(参数表) As 类型名 语句块 End Function根据自定义函数格式判断,该函数的函数名为even。3、有如下Visual Basic自定义函数:Function f(i As Single) As Boolean If i <= 0 Then f = True Else f = FalseEnd Function执行语句s = f(-0.4)后,逻辑型变量s的值是( ) A.0 B.1 C.True D.False C4、Function f(m,n) as integer Do while m<>n Do while m>n m=m-n Loop Do while n>m n=n-m Loop Loopf=mEnd Function则f(24,18)的返回值是( )A、14 B、6 C、4 D、2答案:C5、下列VB程序用于将十进制X转化为二进制数private sub command1_click() dim x as integer ,t as long x=val(text1.text) ① '调用函数fx text2.text=str(t)end subFunction fx(y as integer) as long if y=0 then fx=0 else fx=fx(y2)*10+y mod 2 end ifend fun_ctiont=fx(x)?6、下列VB程序用于求2个正整数(均小于10000)的最大公约数:Private Sub Command1_Click()Dim x As Integer,y As Integer,z As Integerx=Val(Text1.Text) ??????第1个正整数y=Val(Text2.Text) ??????第2个正整数 ??????调用函数gcdText3.Text=Str(z)End SubFunction gcd(a As Integer,b As Integer) As Integer Do While a <> bIf a>b Then a=a-b Else b=b-aLoopgcd=bEnd Function方框中的正确语句是?( )A.z=gcd B.z=gcd(a,b)C.z=gcd(x,y) D.z=gcd x,y解析 本题考查自定义函数的调用。在调用已经定义好的函数时,必须要有与定义函数数量相同,类型相同的参数。本题中定义函数gcd时引用了两个形式参数a、b,在调用函数gcd时,两个实际参数x、y与a、b相对应。答案????C三、内容小结Vb是一种模块化的设计方法,函数与过程是模块的具体实现⑴了解过程或自定义函数在何时调用⑵掌握自定义函数对应参数传递的过程⑶掌握自定义函数返回的结果及格式函数执行完成后,函数的计算结果被送到函数的调用点供程序的后继部分继续进行处理,而过程是没有返回值的。四、课后作业 1、书本P89第1题,第2题 2、课后习题一张谢 谢! 展开更多...... 收起↑ 资源列表 4.4过程与函数.mp4 4.4过程与函数.pptx