1 / 39

程序设计导论

程序设计导论. 第一章 : 计算机程序介绍 第二章:脚本简介 第三章:数据和变量 第四章:使用程序逻辑 第五章:使用过程和函数 第六章:开发用户界面 第七章:数据处理简介 第八章:编程方法 第九章:软件开发过程简介 第十章:进阶学习目标. 第五章 使用过程和函数. 使用过程 使用函数. 使用过程. 学完本节后,将能够: 了解什么是过程 掌握如何建立过程 掌握如何向过程传递数据. 使用过程. 5.1 使用过程. 过程的定义 建立过程 使用过程 向过程传递数据 示例 使用过程. 过程的定义.

keena
Download Presentation

程序设计导论

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 程序设计导论 • 第一章:计算机程序介绍 • 第二章:脚本简介 • 第三章:数据和变量 • 第四章:使用程序逻辑 • 第五章:使用过程和函数 • 第六章:开发用户界面 • 第七章:数据处理简介 • 第八章:编程方法 • 第九章:软件开发过程简介 • 第十章:进阶学习目标

  2. 第五章 使用过程和函数 • 使用过程 • 使用函数

  3. 使用过程 • 学完本节后,将能够: • 了解什么是过程 • 掌握如何建立过程 • 掌握如何向过程传递数据

  4. 使用过程 5.1 使用过程 • 过程的定义 • 建立过程 • 使用过程 • 向过程传递数据 • 示例 使用过程

  5. 过程的定义 5.1.1 过程的定义 • 过程是程序中可重复使用的执行代码段,包括声明语句和 End 语句 (1)过程类型 • Sub过程:执行操作但不向调用它的过程返回值 • Function过程:执行操作并可以向调用它的过程返回值

  6. 过程的定义 5.1.1 过程的定义 • (2)使用过程 • 可以在一个过程中调用另一个过程。在调用过程中,控制发生了转移。 • (3)示例

  7. 过程的定义 5.1.1 过程的定义 • (3)示例 Sub ProcedureA( ) Call ProcedureB( ) MessageBox.Show( “ Control passed back to ProcedureA ” ) End Sub Sub ProcedureB( ) MessageBox.Show( “ Control passed to ProcedureB” ) End Sub

  8. 过程的定义 5.1.1 过程的定义 调用流程: Sub ProcedureA( ) Sub ProcedureB( ) Call ProcedureB( ) MessageBox.Show ( “ Control passed to ProcedureB” ) Control passed back to ProcedureA End Sub

  9. 过程的定义 5.1.1 过程的定义 • (3)示例的结果 • 在一个消息框中先显示消息“Control passed to ProcedureB”,然后在另一个消息框中显示消息“Control passed back to ProcedureA”。 • 这是因为,ProcedureA()先将控制传递给了ProcedureB()。

  10. 建立过程 5.1.2 建立过程 • (1)建立 Sub 过程的语法 [accessibility] Sub subname[(argumentlist)] ' Sub 过程语句放在此处 End Sub [accessibility]:可访问性 [(argumentlist)]:参数列表

  11. 建立过程 5.1.2 建立过程 • 可访问性:是指使用它的权限,就是代码对元素进行读写的许可。 • Public:用Public关键字声明的元素可在一组程序中的任何地方访问。 • Protected:仅可以从同一类中或其派生类中访问。 • 类:是一组具有相同性质的数据的集合,它由数据成员和操作方法组成。 • 派生类:用现有的类A来定义新的类B,则类B是类A的派生类,B继承A 的性质。

  12. 建立过程 5.1.2 建立过程 • Friend:声明元素可从同一个工程中访问,但不能从工程外访问。 • Protected Friend:所声明的元素可从派生类或同一工程中访问。 • Private:所声明的元素只能从同一模块、类或结构中访问。

  13. 建立过程 5.1.2 建立过程 • (2)建立Sub过程举例 Private Sub AboutHelp( ) MessageBox.Show("MyProgram V1.0", "MyProgram Help") End Sub

  14. 使用过程 5.1.3 使用过程 • (1)代码流程 • 当调用Sub过程时,从Sub语句的第一句可执行的语句开始,到End Sub、 Exit Sub或 Return结束,结束后,将返回到Sub下一行代码。 • 当执行重复或共享任务时,需要对过程的参数列表赋值。传递给过程的值称为参数。

  15. 使用过程 5.1.3 使用过程 • (2)调用过程 • 语法规则为: [Call] Subname [(Argumentlist)]

  16. 使用过程 5.1.3 使用过程 • (2)调用过程 • 必须在代码中单独调用Sub过程。 • 调用语句必须提供所有必选参数的值。 • 可以有选择地使用Call语句来调用Sub过程。

  17. 使用过程 5.1.3 使用过程 • (3)调用举例 Sub Main( ) SetData( ) End Sub

  18. 使用过程 5.1.3 使用过程 • (4)使用Call语句举例 Sub Main( ) Call SetData( ) End Sub

  19. 向过程传递数据 5.1.4 向过程传递数据 • (1)形参和实参 • 在定义过程时,需要描述从调用过程中接收的数据和数据类型。此过程定义的元素称为形参。 • 用实际值代替每个形参,分配到形参位置的值称为实参。

  20. 向过程传递数据 5.1.4 向过程传递数据 • (2)声明参数 • 为过程声明参数的方法与声明变量的方法相同,指定参数名和数据类型。 • 为Sub和Function声明参数的语法是相同的。 [ByVal|ByRef] argumentname As datatype

  21. 向过程传递数据 5.1.4 向过程传递数据 例如: Public Sub Hello (ByVal Name As String) MessageBox.Show ( “Hello, ” & Name & “ ! ” ) End Sub

  22. 向过程传递数据 5.1.4 向过程传递数据 • 参数的传递包括值传递和引用传递两种。 • 使用ByVal关键字通过值传递可变参数,则被调用过程无法修改变量本身。 • 使用ByRef关键字传递可变参数,则被调用过程就能够修改变量本身。

  23. 示例 使用过程 5.1.5 示例 使用过程 • 代码 • 输出 Public Sub Button_Click() ……….. Bonus(nSal) End Sub Private Sub Bonus(ByVal salary as Integer) ……….. MessageBox.Show(……) End Sub

  24. 第五章使用过程和函数 • 使用过程 • 使用函数

  25. 使用函数 5.2 使用函数 • 建立函数 • 函数的定义 • 什么是预定义函数 • 函数的使用 • 课堂练习 使用函数

  26. 建立函数 5.2.3 建立函数 语法: [accessibility] Function functionName([arguments]) As returnType ……………. Return expression End Function

  27. 建立函数 5.2.3 建立函数 • 语法: [accessibility] Function functionName([arguments]) As returnType ……………. functionName = expression End Function

  28. 建立函数 5.2.3 建立函数 • 示例 Public Function Sum(ByVal nNum1 As Integer, ByVal nNum2 As Integer) as Integer Return (nNum1 + nNum2) End Function

  29. 函数的定义 5.2.1 函数的定义 • (1)调用函数 • 调用Function过程,只需在赋值语句右边或表达式中包含函数名称和参数。

  30. 函数的定义 5.2.1 函数的定义 Function 过程向调用过程返回值 • 示例 Function FtoC(ByVal temperature As Single) As Single 'Convert Fahrenheit to Celsius Return (temperature - 32.0) * (5 / 9) End Function 该函数将华氏温度转换成摄氏温度。

  31. 函数的定义 5.2.1 函数的定义 • 调用函数举例 Dim celsiusTemperature As Single celsiusTemperature = FtoC (80) If FtoC (userValue) < 0 Then… 第二行语句通过赋值语句调用FtoC函数 第三行语句通过表达式调用FtoC函数

  32. 函数的定义 5.2.1 函数的定义 • (2)代码流程 • 当调用Function过程时,从Function语句后的第一句可执行的语句开始,到End Function 、 Exit Function或 Return语句时结束。

  33. 什么是预定义函数 5.2.2 什么是预定义函数 • 在代码中使用预定义函数来提供常用功能 • 调用预定义函数的方法与调用其他函数的方法相同 • 示例 • InputBox函数 • “日期和时间”函数 • “字符串”函数 • “格式”函数 • “财务”函数

  34. 什么是预定义函数 5.2.2 什么是预定义函数 • 预定义函数举例: InputBox函数 • 第三章实验中代码行: mSalary = InputBox ( “ Enter Your Monthly Salary ” )

  35. 函数的使用 5.2.4 函数的使用 • 可以使用预定义函数或在代码中创建自己的函数 • (1)调用语法:使用赋值语句或表达式 • (2)字符串函数:对字符串进行处理、分析等操作。 • Trim函数:消除特定字符串前后空格

  36. 函数的使用 5.2.4 函数的使用 • (2)字符串函数 • Len函数:得到字符串中的字符数并保存 • 如:用户输入Alice,则使用Len函数得到5 • Left函数:从字符串左边开始返回制定数目的字符 • 如:Left ( customerName, 5 )

  37. 函数的使用 5.2.4 函数的使用 • (3)函数与表达式 • 通过算术运算符和逻辑运算符连接变量组成复杂的算式。 • 如:Dim x As Integer • Dim y As Integer • x = 10 • y = 20 • MsgBox ( x + y )

  38. 课堂练习 使用函数 5.2.5 课堂练习 使用函数 • 使用 Visual Studio .NET 文档来学习预定义函数并掌握如何在代码中使用这些函数

  39. 回顾 • 使用过程 • 使用函数

More Related