电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Visual Basic程序设计与实训 教学课件 ppt 作者 苏玉雄 电子教案 第7章

52页
  • 卖家[上传人]:E****
  • 文档编号:89183988
  • 上传时间:2019-05-20
  • 文档格式:PPT
  • 文档大小:1.81MB
  • / 52 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第 7 章 过程,本章学习目标,7.1 Sub过程,在VB中,当通用过程没有返回值时称为Sub过程。,7.1.1 Sub过程的定义,自定义Sub过程: Sub () Exit Sub End Sub,自定义Sub过程 Sub () Exit Sub End Sub,7.1.1 Sub过程的定义,使用“添加过程对话框”,自定义Sub过程 Sub () Exit Sub End Sub,7.1.2 Sub过程的调用,定义好Sub过程后可以采用以下两种方式来进行调用: Call (实参表) 说明: 当用Call调用时,子程序后面的括号不能省略。 当不用Call调用时,子程序后面的括号必须省略。后方的参数之间用逗号进行分隔。 调用时传递实参时必须满足实参与形参“个数相同、顺序相同、类型相同”的调用原则。,案例7-1,案例7-1:建立一个通用过程PrintMe,输出问候某人的对话框。,案例7-1,【案例分析】:只需在输出框中将表示姓名的参数的内容显示在相应位置即可。 【操作步骤】: 1、程序代码如下: Sub PrintMe(x As String) 定义通用过程PrintMe MsgBox x

      2、 & “ ,你好!“, vbOKOnly, “PrintMe“ End Sub Private Sub Command1_Click() PrintMe Text1.Text 调用PrintMe过程显示欢迎信息 End Sub,案例7-2,案例7-2:创建名维ShowChr的通用过程,程序中输出n行字符串“This is a Example”。,案例7-2,【案例分析】:本案例中定义一个通用过程ShowChr。该过程接受用户输入的一个整数n后输出n行字符串“This is a Example”。 【操作步骤】: Sub ShowChr(n As Integer) Dim i As Integer For i = 1 To n 将“This is a example.”输出n次 Label2.Caption = Label2.Caption & “This is a example.“ & vbCrLf Next i End Sub Private Sub Command1_Click() ShowChr (CInt(Text1.Text) 调用ShowChr过程显示信息 End Sub

      3、,课堂练习7-1,定义一个能设置任意一个窗体的尺寸大小的过程,然后建立多个窗体调用此过程进行窗体设置。,课堂练习7-1,【案例分析】:在通用过程中通过参数来设置窗体的长度与宽度 。 【操作步骤】: Public Sub ResizeForm(f As Form, x As Integer, y As Integer) f.Width = x 设置窗体宽度 f.Height = y 设置窗体高度 End Sub Private Sub Command1_Click() ResizeForm Form2, CInt(Text1.Text), CInt(Text2.Text) Form2.Show End Sub Private Sub Command2_Click() ResizeForm Form3, CInt(Text1.Text), CInt(Text2.Text) Form3.Show End Sub,课堂练习7-2,设计一个多窗体程序,共3个窗体,分别为form1,form2,form3,窗体的大小和位置都是相同的。form1为启动窗体,在该窗体中编写一个通用过程showform

      4、(frm as form, c as string)。在该窗体中还编写了两个按钮事件的单击过程,分别用form2,form3作为参数调用showform过程,实现对不同窗体的显示。,课堂练习7-2,【案例分析】: ShowForm过程中第一个参数为表示窗体的frm,第二个参数为表示显示窗体标题内容的c。通过窗体的Show()方法可以实现窗体的显示。 【操作步骤】: Public Sub ShowForm(frm As Form, c As String) frm.Caption = c frm.Show End Sub Private Sub Command1_Click() ShowForm Form2, “第二个窗体“ End Sub Private Sub Command2_Click() ShowForm Form2, “第三个窗体“ End Sub,7.2 函数过程,在VB中,当通用过程有返回值时称为Function(函数)过程。,7.2.1 函数过程的定义,自定义Function过程 Function ()As = Exit Function = End Function,

      5、7.2.1 函数过程的定义,使用“添加过程对话框” 使用“添加过程对话框”来添加Function过程框架的过程与添加Sub过程框架的过程类似 。,案例7-3,案例7-3:设计一个Function过程CircleArea 来计算圆的面积。 【案例分析】:定义一个Function过程CircleArea。该过程接受一个表示圆半径的Double类型参数并返回一个表示圆面积的Double类型数据。 【程序代码】 Function CircleArea(x As Double) As Double CircleArea = 3.1415 * x * x End Function Private Sub Command1_Click() Label3.Caption = CircleArea(CDbl(Text1.Text) End Sub,案例 7-4,案例5-5:设计一个Function过程TriangleArea来利用三角形两条直角边的长度计算并返回直角三角形的面积。 【案例分析】:直角三角形的面积公式是S=1/2*a*b ,其中a、b分别表示直角三角形的两条直角边。 【程序代码】 Publ

      6、ic Function TriangleArea(x As Double, y As Double) As Double TriangleArea = 0.5 * x * y End Function Private Sub Command1_Click() Label4.Caption = TriangleArea(CDbl(Text1.Text), CDbl(Text2.Text) End Sub,课堂练习7-3,课堂练习5-3:编写一个求最大公约数的函数过程,并在命令按钮的单击事件中调用该过程,求任意两个数的最大公约数。 【案例分析】:要求两个整数的最大公约数可以采用用辗转相除法。步骤如下:先用小的一个数除大的一个数,得第一个余数;再用第一个余数除小的一个数,得第二个余数;又用第二个余数除第一个余数,得第三个余数;这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。,课堂练习7-3,【程序代码】: Function Gcd(m As Integer, n As Integer) As Inte

      7、ger Dim t, r As Integer If n m Then 如果n大于m则交换两个变量的值 t = m : m = n :n = t End If r = m - n Do While r 0 辗转直至r等于0为止 If n r Then t = n: n = r:r = t End If m = n :n = r:r = m - n Loop Gcd = m End Function Private Sub Command1_Click() Label4.Caption = Gcd(CInt(Text1.Text), CInt(Text2.Text) End Sub,7.3 参数传递,参数传递是调用者向过程或函数传递过程或函数正常工作所必需数据的手段。,7.3.1 形式参数与实际参数,1形式参数 形式参数在子程序或函数定义时进行指定。形式参数的作用主要用来接受调用方传递进来的数据。形式参数一般可简称为形参。 2实际参数 实际参数是在调用子程序或函数时传递给子程序或函数的数据。在调用子程序或函数时传递实际参数要遵循实参与形参“个数相同、顺序相同、类型相同”的调用原则。,7.

      8、3.2 参数传递,1、传值 当定义过程时在形参前加上ByVal关键字或在传递实参时实参为常量或表达式时,参数的传递方式就是传值方式。 2、传址 当定义过程时在形参前加上ByRef关键字时参数的传递方式就是传址方式。VB6.0中参数的传递方式默认为传址方式。 采用传值方式时只能从外部向过程传递数据,而采用传址方式则既可以从外部向过程传递数据又可以从过程内部向外部传递数据。,7.3.3 用数组作为参数,VB中可以使用数组作为实参传递给过程中,但只能使用传址方式来传递数组参数。可以使用UBound与LBound函数来获得指定数组的上、下界。,案例7-5,案例7-5:设计两个过程SwapByVal和SwapByRef分别用传值与传址的方法来完成两个变量交换值的过程。 【案例分析】:要交换两个变量的值可以引入一个中间的临时变量(本示例中为k),通过中间变量k的临时存储作用就可以完成两变量值的交换。 【代码分析】: Sub SwapByVal(ByVal m As Integer, ByVal n As Integer) Dim k As Integer k = m m = n n = k End

      9、 Sub,案例7-5,【代码分析】: Sub SwapByRef(ByRef m As Integer, ByRef n As Integer) Dim k As Integer k = m m = n n = k End Sub,案例7-5,【代码分析】: Private Sub Command1_Click() Dim x As Integer Dim y As Integer x = CInt(Text1.Text) y = CInt(Text2.Text) SwapByVal x, y Label3.Caption = x Label4.Caption = y End Sub,案例7-5,【代码分析】: Private Sub Command2_Click() Dim x As Integer Dim y As Integer x = CInt(Text1.Text) y = CInt(Text2.Text) SwapByRef x, y Label3.Caption = x Label4.Caption = y End Sub,案例7-6,案例7-6:利用数组参数传递的方法,建立一个输出一组数的Sub过程ShowArray,然后在窗体上输出两组数据。 【案例分析】:在ShowArray过程中利用UBound函数可以获得数组的上界。利用一个for循环就可以输出数组的每一个元素。 【代码分析】: Sub ShowArray(a() As Integer) Dim i, n As Integer n = UBound(a) 获取数组a的上界 For i = 0 To n Print a(i); If (i Mod 10 = 9) Then 如果输出元素达到10则换行 Print End If Next i End Sub,案例7-6,【代码分析】: Private Sub Command1_Click() Dim x(9) As Integer Dim y(8) As Integer x(0) = 10: x(1) = 23:x(2) = 34: x(3) =

      《Visual Basic程序设计与实训 教学课件 ppt 作者 苏玉雄 电子教案 第7章》由会员E****分享,可在线阅读,更多相关《Visual Basic程序设计与实训 教学课件 ppt 作者 苏玉雄 电子教案 第7章》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.