自定义函数 市赛一等奖_第1页
自定义函数 市赛一等奖_第2页
自定义函数 市赛一等奖_第3页
自定义函数 市赛一等奖_第4页
自定义函数 市赛一等奖_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

开启精彩视界主讲人:衢州高级中学任妍交流探讨创新探索自定义函数的秘密识学练用自定义函数比一比、赛一赛

例:耿耿编写解决下面运算式的程序PrivateSubCommand1_Click()Dimm,n,c,iAsLongDimFacN,FacM,FacNMAsLong

m=Val(Text1.Text)n=Val(Text2.Text)FacN=1Fori=1TonFacN=FacN*iNextI

FacM=1Fori=1TomFacM=FacM*iNexti

FacNM=1Fori=1Ton-mFacNM=FacNM*iNextic=FacN/(FacM*FacNM)Label1.Caption=Str(c)EndSub虽然VB提供了常用的标准函数,可以使用这些标准函数来实现某些数学计算或数据类型的转换,也可以减少程序代码的重复。但是耿耿在编写解决下面运算式的程序时,她想简化程序中多处重复出现相同功能的程序段的设计问题,可她没有找到合适的内部函数去替换这些代码段,同学们我们可不可以发挥自己的创造力——编写函数,帮助她解决问题?在定义函数时,参数表里定义的变量是形参(不知道具体的数值,但必须知道数据类型)自定义函数自定义函数的格式:Function函数名(参数表)AS类型名语句块(其中至少有一个语句是:函数名=表达式)EndFunctionFunction过程以Function语句开头,以EndFunction结束;中间代码部分为函数体;函数名的命名规则与变量名的命名规则相同,长度不超过40个字符是函数返回值的数据类型。自定义函数的过程代码中,一般会有一个表达式,用来计算函数的返回

值,并且通过赋值语句,将表达式的值赋给自定义函数的函数名,形如:函

数名=表达式。例:

Functionou(aasinteger)AsStringIfaMod2=0Thenou="该数为偶数!"Elseou="该数为奇数!"EndIfEndFunction调用(使用)自定义函数PrivateSubCommand1_Click()DimxAsIntegerx=Val(Text1.Text)Text2.Text=ou(x)EndSubFunctionou(aasinteger)AsStringIfaMod2=0Thenou="该数为偶数!"Elseou="该数为奇数!"EndIfEndFunction在VB中有如下程序,判断一个数是否为偶数,运行该程序,在文本框1中输入4,单击命令按钮Command1,文本框text2中显示的是?形参形参仅仅是一个符号,是要被实际数据所代替的。实参参与运算的实际数据。程序在调用函数时,实参代替形参

例:耿耿编写解决下面运算式的程序PrivateSubCommand1_Click()Dimm,n,c,iAsLongDimFacN,FacM,FacNMAsLong

m=Val(Text1.Text)n=Val(Text2.Text)FacN=1Fori=1TonFacN=FacN*iNextI

FacM=1Fori=1TomFacM=FacM*iNexti

FacNM=1Fori=1Ton-mFacNM=FacNM*iNextic=FacN/(FacM*FacNM)Label1.Caption=Str(c)EndSub请同学们帮助耿耿解决简化程序中多处重复出现相同功能的程序段的设计问题?PrivateSubCommand1_Click()DimmAsLong,nAsLong,cAsLongm=Val(Text1.Text)n=Val(Text2.Text)c=fac(n)/(fac(m)*fac(n-m))Label1.Caption=Str(c)EndSubFunctionfac(xAsLong)AsLongDimFAsLong,iAsLongF=1Fori=1ToxF=F*iNexti①EndFunction简化程序fac=F注意自定义函数的过程代码中,一般会有一个表达式,用来计算函数的返回值,并且通过赋值语句,将表达式的值赋给自定义函数的函数名,形如:函数名=表达式。如果整个函数过程中没有该语句,则该函数过程返回一个默认值:数值类型的函数过程返回0;字符串类型的函数过程则返回一个空字符串。PrivateSubCommand1_Click()Dimm,n,c,iAsLongDimFacN,FacM,FacNMAsLong

m=Val(Text1.Text)n=Val(Text2.Text)FacN=1Fori=1TonFacN=FacN*iNextI

FacM=1Fori=1TomFacM=FacM*iNexti

FacNM=1Fori=1Ton-mFacNM=FacNM*iNextic=FacN/(FacM*FacNM)Label1.Caption=Str(c)EndSubPrivateSubCommand1_Click()DimmAsLong,nAsLong,cAsLongm=Val(Text1.Text)n=Val(Text2.Text)c=fac(n)/(fac(m)*fac(n-m))Label1.Caption=Str(c)EndSubFunctionfac(xAsLong)AsLongDimFAsLong,iAsLongF=1Fori=1ToxF=F*iNexti①EndFunction简化前简化后使用这样的方法的好处是:

①、使程序设计结构简单化

②、使过程规模小,容易调用和维护

③、自定义函数可以被反复使用,从而避免了重复编码接下来请完成学习平台中的题目吧!1.有如下VisualBasic自定义函数:Functionmax(xAsInteger,yAsInteger)AsIntegerIfx>yThenmax=xElsemax=yEndFunction关于该函数说法不正确的是(

)A.该自定义函数名称是maxB.函数返回一个整型数据C.该自定义函数返回参数x、y中的较小数D.调用该自定义函数需要2个参数答案解析解析关闭该自定义函数返回参数x、y中的较大数。答案解析关闭C2.有如下VisualBasic程序:Functionmax(xAsInteger,yAsInteger)AsIntegerIfx>yThenmax=xElsemax=yEndFunctionPrivateSubCommand1_Click()a=3∶b=4∶c=5a=max(a,b)a=max(a,c)Label1.Caption=Str(a)EndSub运行该程序后,标签Label1上显示的内容是(

)A.3 B.4C.5 D.60答案解析解析关闭自定义函数max返回参数x、y中的较大数,所以a=max(a,b)=max(3,4)=4,a=max(a,c)=max(4,5)=5。答案解析关闭C3.有如下VisualBasic程序:Functionjc(nAsInteger)AsDoubleDimsAsLongs=1Fori=1Ton

s=s*iNextjc=sEndFunctionPrivateSubCommand1_Click()DimsAsLong,nAsInteger答案解析解析关闭自定义函数jc的功能是计算n的阶乘,即n!=1*2*…*n,Command1_Click过程的功能是计算s=1!+2!+3!+…+n!。答案解析关闭Ds=0n=Text1.TextFori=1Ton

s=s+jc(i)NextLabel1.Caption=Str(s)EndSub运行程序后,在文本框Text1中输入5,单击按钮Command1,则在Label中显示(

)A.15 B.120C.5 D.1534.已知自定义函数Check(xAsSingle,yAsString)AsBoolean,以下赋值语句正确的是(

)A.Flag=Check(16,15)B.Flag=Check(16,″15″)C.Flag=Check(16,″hello″)+″2016″D.Check(16,″15″)=Flag答案解析解析关闭调用自定义函数时,参数个数及数据类型须一一对应。选项A第2个参数的类型不符合。Check函数返回值类型是逻辑型,选项C,逻辑型数据不能与字符串相加。选项D,赋值方向错误。答案解析关闭B小结回顾自定义函数在定义函数时,参数表里定义的变量是形参(不知道具体的数值,但必须知道数据类型)自定义函数自定义函数的格式:Function函数名(参数表)AS类型名语句块(其中至少有一个语句是:函数名=表达式)EndFunctionFunction过程以Function语句开头,以EndFunction结束;中间代码部分为函数体;函数名的命名规则与变量名的命名规则相同,长度不超过40个字符是函数返回值的数据类型。自定义函数的过程代码中,一般会有一个表达式,用来计算函数的返回

值,并且通过赋值语句,将表达式的值赋给自定义函数的函数名,形如:函

数名=表达式。例:

Functionou(aasinteger)AsStringIfaMod2=0Thenou="该数为偶数!"Elseou="该数为奇数!"EndIfEndFunction形参:形参仅仅是一个符号,是要被实际数据所代替的。实参:参与运算的实际数据。参数传递:程序在调用函数时,实参代替形参的过程。以下三个概念非常重要使用这样的方法的好处是:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论