版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页,共40页,2023年,2月20日,星期六6.1子过程
6.1.1子过程的定义6.1.2子过程的调用第2页,共40页,2023年,2月20日,星期六6.1.1子过程的定义
【实例6.1】定义一个名为num的子过程,该子过程用来计算1+2+…+n的和。第3页,共40页,2023年,2月20日,星期六PrivateSubsum(mAsInteger,sAsLong)Fori=1Toms=s+iNextiEndSub(2)自定义名为sum的Sub过程过程名形式参数形式参数不能通过用户的动作触发此过程第4页,共40页,2023年,2月20日,星期六子程序过程的一般定义格式[Static][Private|Public]Sub子程序名
[(形参列表)]
语句组1 [ExitSub]
语句组2EndSub
已知条件、计算结果的个数及类型提前结束子程序过程只能被本窗体中的过程调用能被程序中的所有过程调用第5页,共40页,2023年,2月20日,星期六6.1.2子程序过程的调用
【实例6.2】程序运行时单击“1+……+100”
按钮,在标签中显示1至100的和;单击“1+……+n”
按钮,由用户在输入框中输入n值,并在标签中显示1至n的和。第6页,共40页,2023年,2月20日,星期六操作步骤(1)设计界面第7页,共40页,2023年,2月20日,星期六PrivateSubsum(mAsInteger,sAsLong)Fori=1Toms=s+iNextiEndSub(2)自定义名为sum的Sub过程防止越界用户输入的n值累加和值第8页,共40页,2023年,2月20日,星期六PrivateSubcmdSum1_Click()DimssAsLong
sum100,ss lblShow.Caption="1+……+100="&ssEndSub(3)编写cmdSum1的Click事件过程第9页,共40页,2023年,2月20日,星期六PrivateSubcmdSum2_Click()DimnAsInteger:DimssAsLonglblShow.Caption=""n=InputBox(……)Ifn>1Then
Callsum(n,ss) lblShow.Caption=……ElseMsgBox……EndIfEndSub(4)编写cmdSum2的Click事件过程第10页,共40页,2023年,2月20日,星期六子程序过程的调用格式(两种形式)Call
过程名[(
实际参数)]过程名[实际参数]1、必须有确定值2、个数、类型必须与形参一一对应第11页,共40页,2023年,2月20日,星期六6.2函数过程
6.2.1函数过程的定义6.2.2函数过程的调用第12页,共40页,2023年,2月20日,星期六6.2.1函数过程的定义
【实例6.3】定义一个函数过程,计算n!。第13页,共40页,2023年,2月20日,星期六PrivateFunctionfac(mAsInteger)AsDoubleDimsAsDouble
s=1Fori=1Toms=s*iNexti
fac=sEndFunction求m!通过函数名返回阶乘值防止数据溢出(2)自定义名为fac的函数过程函数名形参返回值类型第14页,共40页,2023年,2月20日,星期六函数过程的一般定义格式[Static][Private|Public]Function函数名
[(形参列表)][As类型]
语句组1 [函数名=返回值
ExitFunction]
语句组2
函数名=返回值EndFunction
必有该语句提前结束函数第15页,共40页,2023年,2月20日,星期六6.2.2函数过程的调用
【实例6.4】窗体中有1个标签和3个命令按钮(控件数组)。程序运行时,单击命令按钮,在标签中显示所求的阶乘。第16页,共40页,2023年,2月20日,星期六操作步骤(1)设计界面第17页,共40页,2023年,2月20日,星期六PrivateFunctionfac(mAsInteger)AsDoubleDimsAsDouble
s=1Fori=1Toms=s*iNexti
fac=sEndFunction求m!通过函数名返回阶乘值防止数据溢出(2)编写名为fac的函数过程第18页,共40页,2023年,2月20日,星期六PrivateSubcmdCal_Click(IndexAsInteger)DimiAsInteger:DimsumAsDoubleSelectCaseIndexCase0lblCal.Caption="5!="&fac(5)Case1lblCal.Caption="7!="&fac(7)Case2Fori=1To11Step2sum=sum+fac(i)NextilblCal.Caption=……&sumEndSelectEndSub求5!求7!求1!+3!+…+9!+11!(3)编写命令按钮控件数组的Click事件过程第19页,共40页,2023年,2月20日,星期六函数过程的调用格式变量名=函数名(实际参数)1、必须有确定值2、个数、类型必须与形参一一对应第20页,共40页,2023年,2月20日,星期六6.3变量定义位置的确定
6.3.1在本过程内使用的变量6.3.2在本窗体内使用的变量6.3.3在所有窗体内使用的变量第21页,共40页,2023年,2月20日,星期六6.3.1在本过程内使用的变量
【实例9.9】单击“和”按钮,求两随机数的和,同时使“平均值”按钮可用;单击“平均值”按钮,求两随机数的平均值,且使“平均值”按钮禁用。
第22页,共40页,2023年,2月20日,星期六操作步骤(1)设计界面第23页,共40页,2023年,2月20日,星期六PrivateSubcmdSum_Click()DimaAsInteger,bAsIntegera=Int(Rnd*100)b=Int(Rnd*100)lblShow.Caption=a&"+"&b&"="&a+bcmdAve.Enabled=TrueEndSub过程级变量(2)编写cmdSum的Click事件过程第24页,共40页,2023年,2月20日,星期六PrivateSubcmdAve_Click()DimaAsInteger,bAsIntegerlblShow.Caption="("&a&"+"&b&")/2="&(a+b)/2cmdAve.Enabled=FalseEndSub不是前面的变量过程级变量只在其所在的过程中起作用(3)编写cmdAve的Click事件过程计算结果错!第25页,共40页,2023年,2月20日,星期六6.3.2在本窗体内使用的变量
【实例9.10】修改实例9.9,使其能够正确计算平 均值。第26页,共40页,2023年,2月20日,星期六操作步骤(1)在“通用”|“声明”部分定义窗体级变量
DimaAsInteger,bAsInteger窗体级变量第27页,共40页,2023年,2月20日,星期六(2)修改cmdSum的Click事件过程PrivateSubcmdSum_Click()DimaAsInteger,bAsIntegera=Int(Rnd*100)b=Int(Rnd*100)lblShow.Caption=a&"+"&b&"="&a+bcmdAve.Enabled=TrueEndSub窗体级变量第28页,共40页,2023年,2月20日,星期六PrivateSubcmdAve_Click()DimaAsInteger,bAsIntegerlblShow.Caption="("&a&"+"&b&")/2="&(a+b)/2cmdAve.Enabled=FalseEndSub窗体级变量(3)修改cmdAve的Click事件过程第29页,共40页,2023年,2月20日,星期六6.3.3在所有窗体内使用的变量
【实例9.11】在窗体1单击“查看”按钮,在标签中显示变量a的值;单击“进入”按钮进入窗体2。单击窗体2中“测试”按钮,在标签中显示a的值;单击“返回”按钮切换到窗体1。
第30页,共40页,2023年,2月20日,星期六操作步骤(1)设计界面第31页,共40页,2023年,2月20日,星期六(2)定义全局变量a在工程中添加标准模块Module1.bas。【工程】|【添加模块】
第32页,共40页,2023年,2月20日,星期六全局变量,各窗体中通用第33页,共40页,2023年,2月20日,星期六PrivateSubcmdShow_Click()
a=Int(Rnd*32767)lblShow.Caption=aEndSub(3)编写窗体1中命令按钮的Click事件过程PrivateSubcmdIn_Click()frmEx9_11_2.ShowfrmEx9_11_1.HideEndSub第34页,共40页,2023年,2月20日,星期六PrivateSubcmdTest_Click()txtShow.Text=aIfa=""ThenMsgBox"a为空值"EndSub(4)编写窗体2中命令按钮的Click事件过程PrivateSubcmdReturn_Click()frmEx9_11_2.HidefrmEx9_11_1.ShowEndSub第35页,共40页,2023年,2月20日,星期六6.4静态变量的使用
【实例9.12】单击“开始”按钮,在图像框中轮流显示哭脸和笑脸,同时该按钮的标题变为“暂停”;单击“暂停”按钮,图像框停止变换,同时该按钮的标题变为“开始”。第36页,共40页,2023年,2月20日,星期六操作步骤(1)设计界面第37页,共40页,2023年,2月20日,星期六PrivateSubcmdCtrl_Click()IfcmdCtrl.Caption="开始"ThentmrShow.Enab
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某机械厂环保安全准则
- 2026中国建筑结构健康监测传感器成本控制与规模化应用
- 2026中国植物油压榨行业市场前景需求分析与发展投资评估规划发展研究报告
- 2026自动驾驶高精地图数据采集标准与商业模式落地实践专题研究
- 2026中国涡流泵行业市场饱和度与新增需求机会报告
- 食品冷链物流及低温储藏项目可行性研究报告
- 2027届安徽省宣城市培训学校九上化学期中调研模拟试题含解析
- 2026氢能源储存与运输关键技术突破方向及产业实施方案深度研究
- 2027届山东省滕州市九年级物理第一学期期末达标检测试题含解析
- 2027届江苏省高邮市南海中学物理九年级第一学期期末质量跟踪监视试题含解析
- 2026黑龙江省纪委监委直属事业单位公开招聘14人考试备考题库及答案详解
- 2026秋人教版小学数学三年级上册(新教材)教学计划附教学进度表
- 2026年上海市闵行区政务服务中心(窗口人员)招聘考试参考试题及答案详解
- (2026年秋)人教版五年级上册数学教案
- 2026年7月4日广东初级注安《建筑施工安全》真题卷
- 风力发电工程验收规程
- 围标串标现象深度透析
- 2026秋教科版(新教材)小学科学六年级上册(全册)教学设计(附目录p276)
- 上海市2026年中考数学真题附答案
- 2026年中储粮储运有限公司校园招聘吉林省岗位(9人)笔试历年常考点试题专练附带答案详解
- 2026西藏拉萨市市直机关事业单位遴选(招聘)公务员(工作人员)19人考试备考试题及答案详解
评论
0/150
提交评论