版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第0章 绪论 程序与程序设计语言程序设计方法算法计算思维0.1 程序与程序设计语言程序程序设计语言机器语言汇编语言高级语言 0.1 程序与程序设计语言机器语言 10111000000000010000010000000010汇编语言 MOV AL,1ADD AL,2 高级语言 x=1+2 0.2 程序设计方法结构化的程序设计 3种基本结构,即顺序结构、选择结构和循环结构 面向对象的程序设计 类、对象属性、事件、方法0-2 程序设计方法 结构化的程序设计思想面向对象的程序设计思想 0.2.1 结构化的程序设计程序设计划分为3种基本结构,即顺序结构、选择结构和循环结构 顺序结构当需要按照语句的先后
2、次序从上到下依次执行每条语句时,采用顺序结构选择结构当需要根据某个条件选择执行程序的不同部分时,采用选择结构循环结构当需要根据某个条件是否成立决定是否反复执行某段程序时,采用循环结构0.2.2 面向对象的程序设计类:同类事物抽象“车”可以抽象成一个类 可以划分为“跑车”、“轿车”、“越野车”、“货车”等子类 对象:类中的每个具体事物“轿车”类中某个具体车牌为“京A123456”则为一个具体的对象0.2.2 面向对象的程序设计对象的属性:静态特征“轿车”类有“车牌”、“品牌”“、“型号”、“颜色”、“是否四轮驱动”等属性 对象的事件:动态特征,外界触发“踩刹车” 对象的方法:动态特征,本身执行“
3、停止”0. 3 算法算法:描述解决问题的步骤算法的描述:标准流程图 0. 3 算法算法策略 穷举法贪心法分治法回溯法 0.4 计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。 一种基本思考方式与技能。 0.4 计算思维对于程序设计语言来说,其中包含着如下计算思维的概念:数据的组织结构的模块化数据的传递数据的处理 第1章 Visual Basic 6.0简介Visual Basic 6.0概述。Visual Basic 6.0的集成开发环境。Visual Basic程序组成与特点。1.1 Visual Basic 6.0概述特点面
4、向对象可视化事件驱动版本学习版专业版企业版Visual Basic 6.0中文企业版1.1.1 Visual Basic 6.0的启动和退出1.1.2 Visual Basic 6.0的集成开发环境1. 标题栏三种工作状态2. 菜单栏 Visual Basic提供的所有命令3. 工具栏 工具栏为常用菜单命令提供了快捷方式工具栏1.1.2 Visual Basic 6.0的集成开发环境4. 工程资源管理器窗口:查看工程结构1.1.2 Visual Basic 6.0的集成开发环境5窗体设计器窗口:查看对象,设计界面1.1.2 Visual Basic 6.0的集成开发环境6窗体布局窗口:设定窗体
5、在屏幕初始位置 1-3 VB6.0的集成开发环境7工具箱:管理控件标准exe工程所带有的控件1.1.2 Visual Basic 6.0的集成开发环境8属性窗口:设定对象的属性值name属性对象的名字每个对象name不同caption属性对象的标题 1.1.2 Visual Basic 6.0的集成开发环境9代码编辑器窗口 :编写代码1.1.2 Visual Basic 6.0的集成开发环境自动列出对象的属性和方法: 1.2 Visual Basic程序概述1.2.2 面向对象思想属性对象名.属性名 = 属性值事件Private Sub对象名_事件名(参数)End Sub方法对象名.方法名 参
6、数第2章 VB程序设计步骤 Visual Basic 6.0的程序设计步骤窗体常用控件2.1 一个简单的VB6.0程序 新建工程。 设计程序界面。 设置对象属性。 编写程序代码。 运行程序。 保存程序。 生成可执行文件。2.1 一个简单的VB6.0程序2.2 窗 体 在代码编写阶段,每个窗体对应着一个代码窗口当程序运行阶段,每个窗体就对应着一个窗口 2.2 窗 体属性Name:窗体的唯一标识 Caption:标题Picture:窗体中显示的图片 2.2 窗 体事件单击(Click):单击一个窗体的空白区域时触发装入(Load):当窗体装入内存时触发该事件,通常在该事件发生时进行控件、变量的初始
7、化工作问题:窗体显示时,窗体的背景颜色设置为红色2.2 窗 体方法Print:用于在窗体上输出数据 Print Hello World 在当前窗体上输出“Hello World” a = 10Print a + 20 计算结果并输出30 2.2 窗 体方法分号,紧凑格式 逗号,松散格式Private Sub Form_Click() a = 10 Print a+20的值为:; 紧凑格式 Print a + 20 Print a+20的值为:, 松散格式 Print a + 20End Suba+20的值为:30a+20的值为: 302.2 窗 体方法Cls:清除在窗体上输出的数据或图形,Pr
8、ivate Sub Form_Click() Cls Print Hello WorldEnd Sub 2.3 常用控件按钮CommandButton控件标签Label控件文本框TextBox控件 2.3.1 CommandButton控件Caption属性:命令按钮上显示的文字。Click事件:单击时发生2.3.2 Label控件显示用户不能直接修改的静态文本时使用的 Caption属性:显示在标签中的文本AutoSize属性:控件是否能够自动改变尺寸以适应内容2.3.3 TextBox控件文本框TextBox控件:用来获取用户输入的文本,比如用户名、口令等Text属性:文本框中的文本Loc
9、ked属性:文本框是否能输入MultiLine属性:文本框是否能够输入多行文本2.3.3 TextBox控件SelLength属性:选中文本的长度SelStart属性:选中文本的起始位置SelText属性:选中的文本GotFocus事件:文本框得到焦点时触发LostFocus事件文本框得到焦点时触发SetFocus方法使文本框获得焦点,可以直接接收键盘输入2.3.3 TextBox控件 第3章 Visual Basic程序设计基础 数据类型运算符和表达式常用内部函数 3.1 数据类型 3.1.1基本数据类型 Integer (整型) %Long (长整型) &Single (单精度实型) !D
10、ouble (双精度实型) #String (字符串类型) $Boolean (布尔型) Date (日期型)Variant (变体类型)3.1 数据类型3.1.2 常量 :程序运行时值不改变 整型: 12,3 ,1 长整型:-2147483640 , 1& 单精度实型: 1.2, -3.4, -1.0! 双精度实型:-3.5e55 , -1.0# 字符串: “hello world” , “” 布尔型: Ture真 ,False 假 日期型: #10/12/2005 10:10:10#3.1 数据类型3.1.3变量 1变量的定义:Dim 变量名1 As 类型1, 变量名2 As 类型2 Di
11、m a As Integer, b As Integer 定义两个整型变量a和b省略数据类型则变量为Variant类型Dim a, b As Integer 定义变量a为Variant类型,变量b为Integer类型 3.1 数据类型Private Sub Command1_Click() Dim a As Integer, b As Integer Print a a = 1 b = 2 Print a + bEnd Sub整型变量a,b初始值默认为0033.1 数据类型Private Sub Command1_Click() Dim a As Single, b As Single a =
12、 1.2 b = 2.3 Print a + bEnd Sub浮点型变量a,b初始值默认为0.03.53.1 数据类型Private Sub Command1_Click() Dim s As String s = hello world Print sEnd Sub字符串变量s初始值默认为“”空串hello world3.1 数据类型Private Sub Command1_Click() Dim f As Boolean Print f f = True frmInfo.Visible = f 窗体可见End Sub布尔变量f初始值默认为FalseFalse3.1 数据类型练习Privat
13、e Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Dim delta As Single Dim root1 As Single, root2 As SingleEnd Sub求二元一次方程的两个根,系数保存在变量a,b,c中,根保存在变量root1,root2中,判别式保存在变量delta中怎样定义变量?3.1 数据类型*通用|声明 Dim 变量名1 As 类型1, 变量名2 As 类型2 3.1 数据类型*Dim a As IntegerPrivate Sub Command1_Click() a = a + 1
14、 Print aEnd SubPrivate Sub Command2_Click() a = a + 1 Print aEnd Sub3.1 数据类型*Private Sub Command1_Click() Dim a As Integer a = a + 1 Print aEnd SubPrivate Sub Command2_Click() Dim a As Integer a = a + 1 Print aEnd Sub3.2 运算符和表达式算数算术运算符 运算符名称+加-减*乘/除乘方整除Mod 求余(取模)-取负32323 mod 29113.2 运算符和表达式算数写出表达式:b
15、2-4ac写出表达式 -b+delt 2ab*b-4*a*c(-b+delt)/(2*a)3.2 运算符和表达式关系关系运算符和关系表达式 (a=2,b=3)=等于或大于=大于或等于=小于或等于运算结果:True或Falsea=bababa=ba=bFalseTrueFalseTrueFalseTrue3.2 运算符和表达式关系可以通过 表达式判断x是奇偶数当表达式为真表示 整型变量x可以被2整除 不能被3整除的表达式(x Mod 2)=0(x Mod 3)03.2 运算符和表达式逻辑逻辑运算符和逻辑表达式 Not非对单个表达式的逻辑值取反,即由真变假或由假变真And与两个表达式都为True时
16、,整个表达式的值为True,否则为FalseOr或两个表达式有一个为True时,整个表达式的值为True,否则为FalseSARS: 高烧 肺部阴影Texi: 下雨 赶时间OrAnd3.2 运算符和表达式逻辑与数学表达式axb对应的Visual Basic表达式是_。 a=2,b=3,x=4 a=x=b 1=b True(a=x)And (x3Int(a) Int(b)复习当表达式为真,表示变量x是小于100的非负数当表达式为真,x不可以被3或5整除(0 x)And(x100)(x Mod 3)Or(x Mod 5)注意:算数非0逻辑True 算数0 逻辑False复习Print “hello
17、” & chr(10) & “world”Dim s As String s = ZhangHua Print Len(Trim(s)helloworld8复习Month(Now)Dim s As String s = 3.2“ 定义变量保存s的值的平方10Dim result As Singleresult = Val(s) 23.3 常用内部函数InputBox函数emailAdd= InputBox(“请按照下面的默认格式,输入邮件地址”, 邮件地址, aa) InputBox函数可以产生一个输入对话框3.3 常用内部函数InputBox函数InputBox函数可以产生一个输入对话框 e
18、mailAdd=InputBox( , , ) “请按照下面的默认格式”输入邮件地址邮件地址aaChr(10)&InputBox的返回值,即InputBox函数执行的结果值,是一个字符串单击 “确定” ,输入的内容单击 “取消” ,一个空字符串“”Dim emailAddr As StringemailAddr = InputBox(“请按照下面的默认格式” & Chr(10) & “输入邮件地址”, 邮件地址, aa) 3.3 常用内部函数InputBox函数3.3 常用内部函数InputBox函数确定: emailAddr = “”取消: emailAddr = “”3.3 常用内部函数I
19、nputBox函数练习P56-6 Dim account As String accountInputBox(“输入帐号” , “存款”, “123.123456789) 3.3 常用内部函数InputBox函数利用输入框提示输入一个正整数,在窗体上输出其平方根例如:输入4,输出 4的平方根是:23.3 常用内部函数InputBox函数3.3 常用内部函数InputBox函数Private Sub Form_Click() Dim number As String Dim result As Double number = InputBox(输入正整数, 求平方根) result = Sqr(
20、Val(number) Print number & 的平方根是: & resultEnd Sub3.3 常用内部函数MsgBox函数作用:用于产生一个消息对话框 3.3 常用内部函数MsgBox函数对话框结构3.3 常用内部函数MsgBox函数常用格式1:MsgBox 提示文本用处:只做简单提示例如:MsgBox 除数不能为0 3.3 常用内部函数MsgBox函数常用格式2:MsgBox 提示文本,图标用处:只做简单提示例如:MsgBox 除数不能为0, vbCritical3.3 常用内部函数MsgBox函数常用格式3:MsgBox 提示文本,图标,标题用处:只做简单提示例如:MsgBox
21、 除数不能为0, vbCritical, 错误提示3.3 常用内部函数MsgBox函数MsgBox , , 内存不足vbCritical“系统提示3.3 常用内部函数MsgBox函数常用格式4:dim answer as integeranswer=MsgBox(提示文本,图标+按钮组合,标题)用处:MsgBox函数的返回值就是用户按下按钮,保存在answer中例如:Dim answer As Integeranswer = MsgBox( , + , )确实想退出么?vbQuestionvbYesNo退出提示vbYesvbNo3.3 常用内部函数MsgBox函数Private Sub cmd
22、Exit_Click() Dim answer As Integer answer = MsgBox(“确实想退出么?”, vbYesNo + vbQuestion, 退出提示) If answer = vbYes Then End End IfEnd Sub第4章 Visual Basic程序设计结构顺序结构选择结构循环结构 4.1 概述在顺序结构中:程序由上到下依次执行每一条语句。在选择结构中:程序判断某个条件是否成立,以决定执行哪部分代码。在循环结构中:程序判断某个条件是否成立,以决定是否重复执行某部分代码。4.2 顺序结构 程序由上到下依次执行每一条语句 Private Sub For
23、m_Click() Dim i As Integer i = i + 1 Print iEnd Sub 4.2 顺序结构赋值语句:将数据保存在一个变量或对象的属性中(从右向左)格式:变量名=表达式Dim a As IntegerDim b As Integera = 1b = 2 * aa = a + 1 对象名.属性名=表达式Dim cap As String cap = “窗体标题”Caption = capForm1.Caption=cap4.2 顺序结构注释:开头,会自动变成绿色不被执行起到说明作用4.3 选择结构 根据某个条件来决定执行哪部分程序 选择结构if语句select语句单行
24、if语句多行if语句If x Mod 2 Then Print 奇数 If answer = vbYes Then End End If Select Case opt Case +“ result = a + b Case - result = a - b Case * result = a * b End Select 4.3 选择结构如果x是偶数,则输出“偶数”如果ageXageY,则salaryX=1500如果text2内容为空,提示“输入数据”If 条件 Then 语句块End If4.3 选择结构2If 条件 Then 语句块1 当条件为真,执行这里Else 语句块2 当条件为假,
25、执行这里End If4.3 选择结构 salary=If 条件 Then 语句块1 当条件为真,执行这里Else 语句块2 当条件为假,执行这里End If10001500year3year= playerFplayerM = playerFplayerM = playerF Then MsgBox 输了, , 5555 Else MsgBox !我又赢了, , ye ye End IfEnd Sub4.3 选择结构3 分段函数 y = 0If 条件1 Then 语句块1 当条件1为真,执行ElseIf 条件2 Then 语句块2 当条件1为假,条件2为真Else 语句块3 当条件1为假,条件
26、2为假End If1-1x0 x0y=1y=-1x=0 x=0y=04.3 选择结构3If 条件1 Then 语句块1 当条件1为真,执行ElseIf 条件2 Then 语句块2 当条件1为假,条件2为真,执行Else 语句块3 当条件1为假,条件2为假,执行End If4.3 选择结构4If 条件1 Then 语句块1 当条件1成立ElseIf 条件2 Then 语句块2 当条件1不成里,条件2成立ElseIf 条件n Then 语句块n 当前面n-1个条件不成立,条件n成立Else 语句块n+1 当前面n个条件都不成立 End If 4.3 选择结构4score变量保存0100间的整数作为
27、百分制成绩,If score 90 Then 当成绩90, Print AElseIf score 80 Then 当成绩80 Print BElseIf score 70 Then 当成绩70 Print CElseIf score 60 Then 当成绩60 Print DElse Print E 当成绩=60 End If 4.3 选择结构使用什么格式的if语句?If 条件 Then .End If对1种情况进行处理对2种情况处理If 条件 Then 语句块1 Else 语句块2End If对3种情况处理If 条件1 Then 语句块1 ElseIf 条件2 Then 语句块2Else
28、语句块3End If对3种以上情况处理If 条件1 Then 语句块1 ElseIf 条件2 Then 语句块2ElseIf 条件n Then 语句块nElse 语句块n+1 End If 4.3 选择结构 分段如果x15,则a=15;否则a=-15 0 x0 x+1 0 x1y= 2x 1 x2 x-1 2 x3 1 x 3if x0 then y=0elseif x1 then y= x+1 elseif x2 then y=2*xelseif x3 then y= x-1else y=1endif4.3 选择结构4Select Case 条件表达式 Case 表达式结果列表1 语句块1
29、Case 表达式结果列表2 语句块2 Case Else 可以省略 语句块n+1 End Select 4.3 选择结构4Select Case opt 根据运算符不同,进行运算不同 Case + result = opt1 + opt2 Case - result = opt1 - opt2 Case * result = opt1 * opt2 Case / result = opt1 / opt2End Select 4.5 循环结构程序设计 循环结构依据某一条件(即循环条件)反复执行某段程序(即循环体) 执行循环体的次数,称为循环次数WhileWendForNext不知道循环次数,宜用
30、 while 循环知道循环次数,宜用 For.Next 循环4.5.1 WhileWend语句 While 循环条件 循环体Wend 4.5.1 WhileWend语句在窗体上打印输出4个“*” i = 1 While i = 4 print “*” i=i+1 Wend1. i=1*1. i=22. i=2*2. i=33. i=3*3. i=44. i=4*4. i=55. i=5循环执行结束4.5.1 WhileWend语句程序功能是什么?执行结果是什么? sum = 0: i = 1 While i = 3 sum = sum + i i = i + 1 Wend Print sum,
31、i 14所有整数的和1.sum=0 i=11.sum=1 i=11.sum=1 i=22.sum=1 i=22.sum=12 i=22.sum=12 i=33.sum=1+2 i=33.sum=1+2+3 i=33.sum=1+2+3 i=44.sum=1+2+3 i=46 44.5.1 WhileWend语句练习求100之内所有偶数的和? While Wendsum = 0: i = 2i = 100sum = sum + ii = i + 24.5.1 WhileWend语句cmdComputetxtInputtxtOutput在txtInput中输入整数单击cmdCompute将1输入数
32、据间所有奇数的和计算出来结果显示在txtOutput中4.5.1 WhileWend语句Private Sub cmdCompute_Click()Dim i As Integer, sum As IntegerDim n As Integern = Val(txtInput.Text)sum = 0: i = 1While i = n sum = sum + i i = i + 2WendtxtOutput.Text = sumEnd Sub4.5.1 WhileWend语句单击命令按钮cmdCompute,计算1/1+1/2+1/3+1/4直到最后一项= 0.0001sum = sum +
33、 1 / ii = i + 1lblResult.Caption = sum4.5.1 WhileWend语句求100!Dim i As Integer, result As Doubleresult = 1: i = 1While i = 100 result = result * i i = i + 1Wend4.5.2 ForNext语句For 循环变量 = 初值 To 终值 Step 步长 循环体 Next 循环变量 “Step 步长” 省略时,表示步长为1循环次数(终值初值)步长1 sum = 0 For i = 1 To 10 sum = sum + i Next i4.5.2 F
34、orNext语句For 循环变量 = 初值 To 终值 Step 步长 循环体 Next 循环变量 sum = 0 For i = 1 To 10 sum = sum + i Next i4.5.2 ForNext语句求100之内偶数的总和求100!求1!+2!+100!4.5.2 ForNext语句求100之内偶数的总和Dim I As Integer, Sum As IntegerSum = 0For I = 2 To 100 Step 2 Sum = Sum + INext I4.5.2 ForNext语句求100!Dim I As Integer, S AsS =For ToNextI
35、 = 1 100 S = S * II1Double4.5.2 ForNext语句求100!Dim I As Integer, S As DoubleS = 1For I = 1 To 100 S = S * INext I求1!+2!+100!Dim I As Integer, S As Double, Sum As DoubleS =Sum =For I = 1 To 100 Next I10S = S * ISum = Sum + S4.5.2 ForNext语句用循环结构编程,需要问几个问题:反复执行某个操作?循环次数已知?循环变量 初值 中值 步长?循环体?能否使用循环变量?4.5.
36、2 For语句和While语句的对比 For-Next循环While-Wend循环不知道循环次数,宜用 while 循环知道循环次数,宜用 For.Next 循环4.5.2 For语句和While语句的对比输入5个学生成绩,计算平均分循环体,5次: 输入成绩 score = Val(InputBox(输入成绩) 累加 sum = sum + score求平均分 avg = sum / 5用什么循环?4.5.2 For语句和While语句的对比Private Sub Form_Click()Dim i As Integer ,score As IntegerDim sum As SingleDi
37、m avg As SingleFor i = 1 To 5 score = Val(InputBox(输入成绩) sum = sum + scoreNext iavg = sum / 5End Sub4.5.2 For语句和While语句的对比输入若干学生成绩,计算平均分,直到某次输入=0: 累加 sum = sum + score 输入成绩 score = Val(InputBox(输入成绩)求平均分 avg = sum / 54.5.2 For语句和While语句的对比Private Sub Form_Click()Dim i As Integer, score As IntegerDim
38、 sum As SingleDim avg As Singlescore = Val(InputBox(输入成绩)While score = 0 sum = sum + score score = Val(InputBox(输入成绩)Wendavg = sum / 5End Sub4.5.3 DoLoop语句语法格式1:Do 循环体 Loop While 循环条件语法格式2:Do While循环条件 循环体 Loop4.5.3 DoLoop语句语法格式1:Do 循环体 Loop Until 循环结束条件语法格式2:Do Until循环结束条件 循环体Loop4.5.4 循环结构的嵌套一个循环结
39、构的循环体内出现了另一个循环结构 For i = 1 To 2 For j = 1 To 3 Print i= & i, j= & j Next jNext i常见错误1text2是不存在的对象在属性窗口中看(名称)属性常见错误2属性的引用方式不对对象名.属性名常见错误3对象名正确属性名或方法名不正确常见错误4程序运行没反映事件过程是否正确单击command1代码编写在command2_Click()中输出结果的语句是否正确在text2中显示result变量值text2.text=result常见错误5结果运行不正确:单击设置断点 ,F8单步执行While score = 0 score =
40、Val(InputBox(输入成绩) sum = sum + score i = i + 1 Wendavg = sum / iscore=0score=90sum=90sum=90,score=90score=-1sum=90-1第5章 数组一维静态数组一维动态数组二维数组控件数组5.1.1 引例Dim score1 As IntegerDim score2 As IntegerDim score25 As Integerscore1 = Val(InputBox(输入第1号学生成绩 )score2 = Val(InputBox(输入第2号学生成绩 )score25 = Val(InputB
41、ox(输入第25号学生成绩 )Dim i As IntegerFor i = 1 To 25score(i) = Val(InputBox(输入第 & i & 号学生成绩 )Next iDim score(1 To 25) As Integer5.1.2 一维静态数组用处:批量处理数据,一次性定义多个变量概念:是一组具有相同名字、不同下标的 相同类型变量的集合 每个变量称为一个数组元素数组元素个数称为数组长度Dim score(1 to 6) As Integer 下界 to 上界score(1), score(2) ,score(3), score(4), score(5), score(6
42、),每个元素下标为1个,称为一维数组score在定义时就确定数组长度,称为静态数组 5.1.2 一维静态数组Dim Num(10) As Integer 下标默认从0开始Num(0) 、Num(1) 、Num(2) 、Num(10) 数组下标下界默认从1开始, “通用|声明”Option Base 1Dim Num(10) As Integer Num(1) 、Num(2) 、Num(10) 5.1.2 一维静态数组(局部)Private Sub Form_Click() Dim score(1 To 6) As Integer score(1) = 80 score(2) = 70 scor
43、e(3) = 60 score(4) = 40 score(5) = 60 score(6) = 90 print score(1)End Sub数组定义在事件过程内部,在当前过程中有效5.1.2 一维静态数组(局部)数组与For循环结合使用,循环变量范围是数组下标范围Private Sub Form_Click() Dim score(1 To 6) As Integer Dim i As Integer For i = 1 To 6 score(i) = Val(InputBox(输入一个成绩) Next iEnd Sub5.1.2 一维静态数组(局部)Private Sub Form_C
44、lick() Dim score(1 To 6) As Integer Dim i As Integer For i = 1 To 6 输入数据 score(i) = Val(InputBox(输入一个成绩) Next i For i = 1 To 6 输出数据 Print score(i) Next iEnd Sub5.1.2 一维静态数组(全局)Dim score(1 To 6) As IntegerPrivate Sub cmdInput_Click() Dim i As Integer For i = 1 To 6 输入数据 score(i) = Val(InputBox(输入一个成绩
45、) Next iEnd Sub定义在“通用|声明”,当前窗体中有效5.1.2 一维静态数组(全局)Private Sub cmdOutput_Click() Dim i As Integer For i = 1 To 6 输出数据 Print score(i) Next iEnd Sub5.1.2 一维静态数组用数组求和:1+2+3+100 Option Base 1 设置数组下界默认为1Private Sub Command1_Click() Dim a(100) As Integer , s As Integer For i = 1 To 100 a(i) = i 给数组赋初值 Next
46、i5.1.2 一维静态数组 s = 0 累加器清零 For i = 1 To 100 s = s + a(i) Next i Print 1+2+3+100=; sEnd Sub 5.1.3 二维数组1二维静态数组的定义二维静态数组的定义格式如下:Dim 数组名(下界 To 上界, 下界 To 上界) As 类型2二维静态数组的使用(1) 单个数组元素的使用每个数组元素两个下标,格式如下:数组名(第一维下标,第二维下标)5.1.3 二维数组(2) For循环在数组中的使用 Dim score(1 To 3, 1 To 20) As Integer Dim i As Integer 控制行的循环
47、 Dim j As Integer 控制列的循环 For i = 1 To 3 共3行 For j = 1 To 20 共20列 score(i, j) = Val(InputBox(输入数据) Next j Next i5.2 一维动态数组静态数组:定义时数组长度已知动态数组:定义时数组长度未知计算学生平均分,将学生成绩保存在数组中 用户先输入学生人数,再输入成绩第一步:Dim Score() As Integer 第二步:事件过程内部n = Val(InputBox(“请输入总人数”) ReDim Score(n) 5.2 一维动态数组应用输入学生的总人数和每个学生的成绩,然后根据输入的成
48、绩计算所有学生成绩的平均值Option Base 1Private Sub Form_Load()Dim Score() As IntegerDim n As Integer, Average As SingleDim i As Integern = Val(InputBox(请输入总人数, , ) ReDim Score(n) 5.2 一维动态数组应用For i = 1 To n Score(i) = Val(InputBox(请输入第 & Str(i) & 个学生的成绩, 成绩统计, )Next iTotal = 0For i = 1 To n Total = Total + Score(
49、i) Next i 5.2 一维动态数组应用Average = Total / nText1.Text = Format(Average, 0.00)End Sub 5.3 控件数组 由一组名称相同、类型相同的控件组成控件数组中的控件:具有相同的名称(Name)属性以下标索引值(Index)属性来识别各个控件 Option1(0), Option1(1) ,Option1(2)程序设计阶段创建 使用“复制”、“粘贴”命令5.3 控件数组控件数组的每个成员控件享有同一个事件过程 Option1(0), Option1(1) ,Option1(2)无论单击哪个,都会触发Option1_Click(
50、)Private Sub Option1_Click (Index As Integer) End Sub5.3 控件数组Private Sub Option1_Click (Index As Integer) Text1.FontName = Option1(Index).CaptionEnd Sub5.3 控件数组使用控件数组改变文本框的鼠标指针 Option(0)Option(1)Option(2)Option(3)Option(4)5.3 控件数组Private Sub cmdExit_Click() Unload Me 卸载当前窗体End Sub Me当前窗体(当前工程只一个窗体,相
51、当于)Private Sub cmdExit_Click() End 卸载当前窗体End Sub5.3 控件数组Private Sub Option_Click(Index As Integer) Text1.MousePointer = IndexEnd SubOption(0)Option(1)Option(2)Option(5)Option(11)第6章 过程Function过程的定义和调用。Sub过程的定义和调用。Function过程与Sub过程的区别。过程的参数及其传递方式。6.1 概述6.1 概述定义过程的意义在于:节省大量的重复性工作。将复杂问题分为若干子问题,也被称为“模块化”
52、过程分为Sub过程和Function过程。6.2 Function过程定义Function过程的语法格式如下: Private|Public Function 过程名(形式参数列表)As 返回值类型 过程名 = 返回值End Function6.2 Function过程Private Function f(x As Integer) As Long Dim i As Integer Dim result As Long result = 1 For i = 1 To x result = result * i Next i f = resultEnd Function6.2 Function过
53、程调用Function过程与调用Sub过程不同,Function过程调用后代表一个值,用户可通过表达式将过程名赋给一个变量来调用Function过程。例如: Text1.Text = f (3)Print f (4)6.3 Sub过程Sub过程(子过程)事件过程:系统定义过程名通用过程:用户定义过程名6.3.1 事件过程事件过程是系统预先定义的,当事件发生,事件过程的代码得到执行Private Sub Command1_Click() Dim i As Integer For i = 1 To 10 Print Rnd Next iEnd Sub6.3.1 事件过程事件过程除了由系统调用,也可
54、以用户使用Call语句调用,Call语句格式如下:Call 事件过程名例如,Private Sub Command2_Click() Call Command1_ClickEnd Sub6-1 子过程(通用过程) 通用过程:用户定义(完成特定功能)定义 形参调用(过程的使用)实参参数传递6.3.2 Sub过程的定义在代码窗口中任意位置定义定义Sub过程的语法格式如下: Private|Public Sub 过程名(形式参数) End Sub根据程序需要,决定有参数或无参数列表设置形式参数列表, a As Integer, b As Integer 有:有参数没有:无参数有无需要灵活变化的部分?
55、6.3.2 Sub过程的定义过程名: showInfo功 能:在窗体表面显示 * Welcome to BJFU *Private Sub showInfo() 无参数 Print * Welcome to BJFU *End Sub6.3.2 Sub过程的定义过程名: showInfo功 能:在窗体表面显示任意字符串str变量的内容 Private Sub showInfo(str As String) 有参数 Print strEnd Sub6.3.2 Sub过程的定义Private Sub sum(n As Integer)End Sub For i = 1 To n result =
56、result + i Next i Print result Dim i As Integer, result As Integer求1n之间所有整数的和,并显示在窗体上有:有参数有无需要灵活变化的部分?6.3.3 Sub过程的调用无参情况Private Sub showInfo() 无参数 Print * Welcome to BJFU *End SubCall showInfoshowInfoCall 过程名 过程名6-1-1 Sub过程的调用(无参)Private Sub Command1_Click() Call showInfoEnd SubPrivate Sub Form_Clic
57、k() showInfoEnd Sub单击窗体和command1时在窗体表面显示 * Welcome to BJFU *6.3.3 Sub过程的调用有参情况Private Sub sum(n As Integer) Dim i As Integer, result As Integer For i = 1 To n result = result + i Next i Print resultEnd SubCall 过程名 (实参表)过程名 实参表 Call sum(22)sum 22 Function过程与Sub过程区别Function过程与Sub过程一样,都是一段可以重用的代码,它们之间的
58、区别是:(1)Function过程可以有返回值,而Sub过程则没有。过程的返回值是指当Function过程结束时,此过程返回给调用程序的结果值。(2)Function过程调用在表达式中的地位与变量一样。(3)Function过程需要在返回前把一个值赋给过程名作为返回值。6.4 参数传递形参名字前有传参方式:ByRef 按照地址传参(可省略)形参的改变影响实参ByVal 按照值传参形参的改变不影响实参6.4 参数传递(ByRef)Private Sub Form_Click() Dim a As Integer a=2 Call add(a) Print aEnd SubPrivate Sub
59、add(ByRef n As Integer) n = n + 1End Suba的值跟n值变化相同形参的改变影响实参36.4 参数传递(ByVal)Private Sub Form_Click() Dim a As Integer a=2 Call add(a) Print aEnd SubPrivate Sub add(ByVal n As Integer) n = n + 1End Suba的值跟n值变化无关形参的改变不影响实参26.4 参数传递Private Sub sum( ByRef n As Integer) Dim i As Integer, result As Integer
60、 For i = 1 To n result = result + i Next i Print resultEnd SubPrivate Sub Form_Click() Dim number As Integer number = Val(Text1.Text) sum numberEnd Subnumber的值跟n值变化相同最好采用那种方式传参?ByVal6.4 参数传递Private Sub Form_Click() Dim a As Integer, b As Integer a = 1: b = 2 Call add(a, b)End SubPrivate Sub add(n As
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度年福建省高校教师资格证之高等教育心理学自我检测试卷A卷附答案
- 2024年度山西省高校教师资格证之高等教育法规通关提分题库及完整答案
- 2024年合成胶粘剂项目投资申请报告代可行性研究报告
- 2024年私人损害赔偿自愿协议
- 高校食品专业实验室安全管理探究
- 新形势下企业经济管理创新思路探究
- 2024年商业楼宇化粪池建造协议范例
- 2024年加工区租赁协议
- 2024年度工程地质勘察协议范本
- 2024届安徽省安大附中高三下学期第一次诊断测试数学试题
- DB22∕T 5016-2019 市政工程资料管理标准
- 叉车日常维护保养检查记录表
- 神经电生理检查ppt
- 2017年普通高中物理课程标准解读
- 堡垒机WEB方式运维
- 《体育科学研究论文的撰写与评价》PPT课件
- PTN测试操作指引
- 220KV线路运维实施方案
- 松木桩施工方案
- 剧院建筑设计规范标准
- 磁絮凝沉淀技术(课堂PPT)
评论
0/150
提交评论