《计算机程序设计化强复习.ppt》由会员分享,可在线阅读,更多相关《计算机程序设计化强复习.ppt(98页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、南通大学计算机科学与技术学院南通大学计算机科学与技术学院 鲁松鲁松计算机程序设计强化复习Visual Basic 6.0Visual Basic 6.01计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松全文结构全文结构1VB语法知识基础语法知识基础2VB语法知识进阶语法知识进阶3常用算法及编程技巧常用算法及编程技巧4界面元素与程序调试界面元素与程序调试5真题讲解真题讲解第第1 1章章 程序代码的组织方式程序代码的组织方式第第2 2章章 数据类型、常量与变量数据类型、常量与变量第第3 3章章 运算符、表达式与公共函数运算符、表达式与公共函数第第4 4章章 数组数组第第5 5
2、章章 顺序结构顺序结构第第6 6章章 选择结构选择结构第第7 7章章 循环结构循环结构第第8 8章章 过程设计过程设计第第9 9章章 文件操作文件操作第第1010章章 算法中使用的基本技巧算法中使用的基本技巧第第1111章章 数列、级数求和及矩阵运算问题数列、级数求和及矩阵运算问题第第1212章章 数组的移动、排序及查找数组的移动、排序及查找第第1313章章 因数、最大公约数与素数等问题因数、最大公约数与素数等问题第第1414章章 整数拆分、进制转换整数拆分、进制转换第第1515章章 字符运算及圆圈数问题字符运算及圆圈数问题第第1616章章 常用控件的通用属性、事件及方法常用控件的通用属性、事
3、件及方法第第1717章章 窗体的通用属性、事件及方法窗体的通用属性、事件及方法第第1818章章 重要控件重要控件第第1919章章 程序调试和程序设计程序调试和程序设计2 2计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第1 1章章 程序代码的组织方式程序代码的组织方式1.1 1.1 程序代码的基本构成程序代码的基本构成程序代码的基本构成程序代码的基本构成l字符集字符集l关键字关键字l标识符标识符l运算符运算符l表达式表达式l语句及语法规则语句及语法规则l语义语义Print aPrint a,Print a;字符字符关键字关键字/标识符标识符表达式表达式语句语句过程过程
4、模块模块程序程序3 3计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第1 1章章 程序代码的组织方式程序代码的组织方式1.2 VB中的过程中的过程l用过程编程的两大好处用过程编程的两大好处lVB中过程的种类中过程的种类u事件过程事件过程系统提供的过程系统提供的过程u通用过程通用过程用户自定义过程用户自定义过程 1.3 VB中的模块中的模块l窗体模块窗体模块l标准模块标准模块l类模块类模块4 4计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第2 2章章 数据类型、常量与变量数据类型、常量与变量2.1 基本数据类型基本数据类型l数值型数值型l字符
5、串型字符串型l逻辑型逻辑型l日期型日期型l变体型变体型l数据类型转换数据类型转换u数值类型间的转换数值类型间的转换u数值类型与字符串类型的转换数值类型与字符串类型的转换u数值类型与逻辑类型的转换数值类型与逻辑类型的转换u字符串类型与逻辑类型的转换字符串类型与逻辑类型的转换Print True+3显示结果为显示结果为2Print“123”+100显示结果为显示结果为223Print#5/1/2000#+3显示结果是显示结果是00-5-4类型名称类型名称表示数据表示数据存储空间存储空间取值范围取值范围整型整型Integer整型整型2个字节个字节-32,768 32,767Long长整型长整型4个字
6、节个字节-2,147,483,648 2,147,483,647Byte字节型字节型1个字节个字节0 255实型实型Single单精度浮点数单精度浮点数4个字节个字节-3.402,823E38 -1.401,298E-451.401,298E-45 3.402,823E38Double双精度浮点数双精度浮点数8个字节个字节-1.797,693,134,862,32D308 -4.940,656,458,412,47D-3244.940,656,458,412,47D-324 1.797,693,134,862,32D308Cunency货币型货币型8个字节个字节-922,337,203,685
7、,447.580,8 922,337,203,685,447.580,7 5 5计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第2 2章章 数据类型、常量与变量数据类型、常量与变量2.2 构造数据类型构造数据类型l数组数组u固定大小数组固定大小数组u动态数组动态数组l自定义类型自定义类型2.3 常量与变量常量与变量l字面常量字面常量l符号常量符号常量u系统内部常量系统内部常量VbRed、VbCrLf等等u用户自定义符号常量用户自定义符号常量Const Pi As Single=3.14l变量变量6 6计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁
8、松第第3 3章章 运算符、表达式与公共函数运算符、表达式与公共函数3.1 VB中的运算符与表达式中的运算符与表达式l算术运算符与算术表达式算术运算符与算术表达式l字符串连接符字符串连接符l关系运算符与关系表达式关系运算符与关系表达式l逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式l运算符的优先级运算符的优先级u算术运算符算术运算符 、-、*或或/、Mod、+或或-u字符运算符字符运算符 +或或&u关系运算符关系运算符 =、=、=、Is、Likeu逻辑运算符逻辑运算符 Not、And、Or、Xor、Eqv、Imp7 7计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第3 3
9、章章 运算符、表达式与公共函数运算符、表达式与公共函数3.2 VB中的公共函数中的公共函数l数学函数数学函数l字符串函数字符串函数l类型转换函数类型转换函数l随机函数随机函数生成某个范围内的随机整数生成某个范围内的随机整数Int(upperbound lowerbound+1)*Rnd+lowerbound)l输入与输出函数输入与输出函数8 8计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第4 4章章 数数 组组4.1 数组的命名及说明数组的命名及说明l数组的命名数组的命名l数组的说明数组的说明4.2 数组结构与数组元素数组结构与数组元素l数组的逻辑结构与存储结构数组
10、的逻辑结构与存储结构l数组元素数组元素4.3 固定大小数组与动态数组固定大小数组与动态数组l固定大小数组固定大小数组l动态数组动态数组4.4 Erase语句语句9 9计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第5 5章章 顺序结构顺序结构5.1 赋值语句赋值语句l赋值语句的格式赋值语句的格式=l不同类型数据之间的赋值不同类型数据之间的赋值l赋值号与等号的区别赋值号与等号的区别A AB B变量变量表达式表达式逻辑型逻辑型True非非0数值型数值型False0整型整型-1True逻辑型逻辑型0False字符型字符型“True”True逻辑型逻辑型“False”Fals
11、e数值型数值型编译出错编译出错非数值字符串非数值字符串字符型字符型对应的数值对应的数值数值字符串数值字符串1010计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第5 5章章 顺序结构顺序结构5.2 Print 方法、方法、Cls 方法方法l方法调用语句的一般形式方法调用语句的一般形式.参数列表参数列表lPrint 方法方法对象对象.Print p1p2例例5-7:下列程序片断的输出结果是什么?:下列程序片断的输出结果是什么?a=3:b=5Print a;bPrint a,Print bPrint aPrint blCls 方法、方法、Clear方法方法 3 5 3 5
12、 3 5 3 5 3 3 5 5 1111计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第6 6章章 选择结构选择结构6.1 IfThen 结构语句结构语句l标准分支选择结构标准分支选择结构例例6-1:写出根据键盘输入的百分制学生成绩判断该学生:写出根据键盘输入的百分制学生成绩判断该学生是否及格并输出是否及格并输出“Pass”或或“Fault”。l单分支结构单分支结构例例6-2:写出根据键盘输入的百分制学生成绩判断该学生:写出根据键盘输入的百分制学生成绩判断该学生是否及格并将及格学生的成绩输出的程序片段。是否及格并将及格学生的成绩输出的程序片段。l多分支结构多分支结构
13、例例6-3:写出将键盘输入的百分制学生成绩转换成五分制:写出将键盘输入的百分制学生成绩转换成五分制并输出的程序片段。并输出的程序片段。e eA AB BTrueTrueFalseFalse1212计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第6 6章章 选择结构选择结构6.2 Select Case 结构语句结构语句l一般形式一般形式l测试项的形式测试项的形式例例6-4:在:在 Select Case X 结构中,描述判断条件结构中,描述判断条件3X7的的测试项应该写成测试项应该写成 。A.Case 3 X7B.Case 3 X,X7C.Case Is7,Is3 D
14、.Case 3 To 71313计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第7 7章章 循环结构循环结构7.1 DoLoop 结构语句结构语句lDo-While循环结构循环结构lDo-Until循环结构循环结构e eA AFalseFalseTrueTruee eA AFalseFalseTrueTrue“当当”型循环型循环“直到直到”型循环型循环1414计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第7 7章章 循环结构循环结构7.2 ForNext 结构语句结构语句l一般形式一般形式For=ToStepExit ForNextlFor
15、循环与循环与Do循环的比较循环的比较l循环嵌套循环嵌套1515计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第8 8章章 过程设计过程设计8.1 Sub过程与过程与Function过程的定义与调用过程的定义与调用lSub过程的定义过程的定义Private|Public Static Sub 过程名过程名(参数列表参数列表)局部变量和常量声明局部变量和常量声明语句体语句体Exit SubEnd SubuSub事件过程的定义事件过程的定义uSub通用过程的定义通用过程的定义1616计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第8 8章章 过程设
16、计过程设计8.1 Sub过程与过程与Function过程的定义与调用过程的定义与调用lFunction过程的定义过程的定义Private|Public Static Function 函数名函数名(参数列表参数列表)As 数据类型数据类型局部变量和常量声明局部变量和常量声明语句体语句体Exit Function函数名函数名=表达式表达式End Function例例8-5:以下有关过程的说法中错误的是:以下有关过程的说法中错误的是 。A.在在Sub或或Function过程中不能再定义其他过程中不能再定义其他Sub或或Function过程过程B.在调用过程时,与使用在调用过程时,与使用ByRef说
17、明的形参对应的实参只能按地址传递方说明的形参对应的实参只能按地址传递方式结合。式结合。C.递归过程既可以是递归递归过程既可以是递归Function过程,也可以是递归过程,也可以是递归Sub过程。过程。D.在调用过程时,形参为数组的参数对应的实参只能是数组。在调用过程时,形参为数组的参数对应的实参只能是数组。1717计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第8 8章章 过程设计过程设计8.1 Sub过程与过程与Function过程的定义与调用过程的定义与调用lFunction过程与过程与Sub过程的区别过程的区别例例8-6:分别用:分别用Sub过程和过程和Func
18、tion过程编写一个求过程编写一个求n!的自定义过程。的自定义过程。SubSub过程:过程:Private Sub fact(n As Integer,f As Long)Private Sub fact(n As Integer,f As Long)Dim i As IntegerDim i As Integerf=1f=1For i=1 To nFor i=1 To n f=f*i f=f*iNext iNext iEnd SubEnd SubFunctionFunction过程:过程:Private Function fact(n As Integer)As LongPrivate Fu
19、nction fact(n As Integer)As LongDim i As IntegerDim i As Integerfact=1fact=1For i=1 To nFor i=1 To n fact=fact*i fact=fact*iNext iNext iEnd SubEnd Sub1818计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第8 8章章 过程设计过程设计8.1 Sub过程与过程与Function过程的定义与调用过程的定义与调用lSub过程与过程与Function过程的调用过程的调用uSub事件过程的调用事件过程的调用uSub通用过程的调用通
20、用过程的调用 Call 语句调用:语句调用:Call (实参表实参表)将过程名作为语句调用:过程名将过程名作为语句调用:过程名 实参表实参表uFunction过程的调用过程的调用 变量变量=过程名(实参表)过程名(实参表)主调程序主调程序语句语句 n n调用过程调用过程 A A语句语句 n+1 n+1End SubEnd Sub过程过程 A AEnd SubEnd Sub1919计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第8 8章章 过程设计过程设计8.1 Sub过程与过程与Function过程的定义与调用过程的定义与调用l过程的嵌套调用过程的嵌套调用l过程调用的
21、注意事项过程调用的注意事项u把把Sub过程名作为语句调用时,参数不需要加括号过程名作为语句调用时,参数不需要加括号uFunction过程无参时,括号不可省,其调用方法与公共函数类似过程无参时,括号不可省,其调用方法与公共函数类似u由于由于Function过程本身返回值,所以一般不使用过程本身返回值,所以一般不使用Sub通过过程的调通过过程的调用方法,因为这两种方法将放弃函数名的返回值用方法,因为这两种方法将放弃函数名的返回值u若对若对Function过程的调用出现在表达式中,则其运算优先级最高过程的调用出现在表达式中,则其运算优先级最高主调程序主调程序调用过程调用过程 A AEnd SubEn
22、d Sub过程过程 A A调用过程调用过程 B BEnd SubEnd Sub过程过程 B BEnd SubEnd Sub程序程序 A A调用过程调用过程 B BEnd SubEnd Sub程序程序 B B调用过程调用过程 A AEnd SubEnd Sub2020计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第8 8章章 过程设计过程设计8.2 过程调用时的参数过程调用时的参数l参数传递的限制参数传递的限制形参与实参的个数、类型和顺序必须严格匹配形参与实参的个数、类型和顺序必须严格匹配形参形参实参实参变量变量变量、常量、表达式、数组元素、对象变量、常量、表达式、数组
23、元素、对象数组数组数组数组2121计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第8 8章章 过程设计过程设计8.2 过程调用时的参数过程调用时的参数l按值传递按值传递 ByValu数组、自定义记录类型的变量、对象变量不能按值传递;常数和表数组、自定义记录类型的变量、对象变量不能按值传递;常数和表达式必须按值传递达式必须按值传递u按值传递的参数,形参和实参的类型只需要相容即可按值传递的参数,形参和实参的类型只需要相容即可l按地址传递按地址传递 ByRef2222计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第8 8章章 过程设计过程设计8.3
24、 递归过程递归过程l递归过程的定义递归过程的定义u在过程定义中调用自身或以其他方式间接调用自身的过程在过程定义中调用自身或以其他方式间接调用自身的过程u可以递归可以递归Sub过程,也可以递归过程,也可以递归Function过程过程l递归过程的构成条件递归过程的构成条件u有对本身的调用语句有对本身的调用语句u有一个结束递归过程的条件(终止条件或边界条件)有一个结束递归过程的条件(终止条件或边界条件)l三题递归相关三题递归相关u求求 N!u求求 菲布拉及数列菲布拉及数列u求求 最大公约数最大公约数2323计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第8 8章章 过程设计
25、过程设计8.4 变量的作用域与生命期变量的作用域与生命期l变量的作用域变量的作用域 在窗体模块中,不能定义数组、定长字符串、用户自定义类型等在窗体模块中,不能定义数组、定长字符串、用户自定义类型等为全局变量。为全局变量。局部变量局部变量模块级变量模块级变量全局变量全局变量窗体模块窗体模块标准模块标准模块声明方式声明方式Dim/StaticDim/PrivatePublic声明位置声明位置过程内过程内窗体窗体/模块的通模块的通用声明段用声明段窗体窗体/模块的通用声明段模块的通用声明段作用范围作用范围本过程本过程本模块本模块整个程序整个程序能否本模块其它能否本模块其它过程访问过程访问不能不能能能能
26、能能否被其它模块能否被其它模块访问访问不能不能不能不能能,但需在变量能,但需在变量名前加上窗体名名前加上窗体名能能2424计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第8 8章章 过程设计过程设计8.4 变量的作用域与生命期变量的作用域与生命期l变量的生命期变量的生命期l8-22:若希望在离开某过程后,还能保存该过程中局部变量的值,则:若希望在离开某过程后,还能保存该过程中局部变量的值,则应使用应使用 关键字在该过程中定义局部变量。关键字在该过程中定义局部变量。A.DimB.PrivateC.PublicD.Staticl同名变量同名变量 局部变量局部变量静态变量静
27、态变量模块级变量模块级变量全局变量全局变量声明方式声明方式DimStaticDim/PrivatePublic作用域作用域本过程本过程本过程本过程本模块本模块整个程序整个程序生命期生命期从声明到过程终止从声明到过程终止 从声明到程序终止从声明到程序终止 从声明到程序终止从声明到程序终止 从声明到程序终止从声明到程序终止2525计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第9 9章章 文件操作文件操作9.1 文件的基本概念文件的基本概念l文件的概念文件的概念l文件类型文件类型l文件操作步骤文件操作步骤9.2 基本文件操作控件基本文件操作控件l驱动器列表框驱动器列表框l
28、目录列表框目录列表框l文件列表框文件列表框2626计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第9 9章章 文件操作文件操作9.3 常用文件操作语句与文件操作函数常用文件操作语句与文件操作函数lOpen语句语句lClose语句与语句与Reset语句语句lLock和和Unlock语句语句lSeek语句语句lPrint#和和Write#语句语句lInput#和和Line Input#语句语句lPut#和和 Get#语句语句l常用文件操作函数常用文件操作函数2727计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第10 10章章 算法中使用的基本技
29、巧算法中使用的基本技巧10.1.1 交换交换lt=a:a=b:b=tlt=b:b=a:a=tlt=a:a=b:b=c:c=tla=a+b:b=a-b:a=a-b10.1.2 累加、累乘累加、累乘ln=n+1lSum=Sum+n P=P*n10.2 最大最大/小值问题小值问题l max=a(1)for i=2 to Ubound(a)if a(i)max then max=a(i)next i2828计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第10 10章章 算法中使用的基本技巧算法中使用的基本技巧10.3.1 穷举穷举l10-1:用:用100元买元买100只鸡,公
30、鸡每只只鸡,公鸡每只5元,母鸡每只元,母鸡每只3元,小鸡每元,小鸡每1元元3只,问可以买多少只公鸡、母鸡和小鸡?有多少种组合?只,问可以买多少只公鸡、母鸡和小鸡?有多少种组合?Private Sub Command1_Click()Dim X As Integer,Y As Integer,Z As IntegerDim Count As IntegerCount=0For X=0 To Fix(100/5)For Y=0 To Fix(100/3)For Z=0 To 100 If X*5+Y*3+Z/3=100 And X+Y+Z=100 Then Print X,Y,Z Count=Co
31、unt+1 End If Next NextNextPrint 组合个数:组合个数:;CountEnd SubFor X=0 To 100 For Y=0 To 100-X Z=100-X-Y If 0.5*X+2*Y+3*Z=100 Then Print X,Y,Z Count=Count+1 End If Next YNext2929计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第10 10章章 算法中使用的基本技巧算法中使用的基本技巧l10-2:求出所有的水仙花数,如:求出所有的水仙花数,如153=13+53+33Private Sub Command1_Cli
32、ck()Dim X As Integer,Y As Integer,Z As IntegerFor X=1 To 9 For Y=0 To 9 For Z=0 To 9 If X 3+Y 3+Z 3=100*X+10*Y+Z Then Print 100*X+10*Y+Z End If Next NextNextEnd Sub3030计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第10 10章章 算法中使用的基本技巧算法中使用的基本技巧10.3.2 迭代迭代l10-3:设方程为:设方程为4*x2-3*x-7=0,给出不精确的初始根,给出不精确的初始根x0=2,利用,利
33、用公式:公式:xn+1=xn-f(xn)/f(xn)n=0,1,2求出方程的近似根,求出方程的近似根,直到直到|xn+1-xn|0.00001。Dim X0 As Double,X1 As DoubleX0=2Do X1=X0-(4*X0 2-3*X0-7)/(8*X0-3)If Abs(X1-X0)0.00001 Then Exit Do X0=X1LoopPrint X1Dim X0 As Double,X1 As DoubleDim X0 As Double,X1 As DoubleX1=2X1=2DoDo X0=X1 X0=X1 X1=X0-(4*X0 2-3*X0-7)/(8*X0-
34、3)X1=X0-(4*X0 2-3*X0-7)/(8*X0-3)Loop Until Abs(X1-X0)0.00001Loop Until Abs(X1-X0)=10 -10Loop While Abs(T)=10 -10Print SumPrint SumEnd SubEnd Sub3434计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松Private Sub Command1_Click()Private Sub Command1_Click()Const x As Single=3.14159/3Const x As Single=3.14159/3Dim Sum
35、 As Single,n As Integer,T As SingleDim Sum As Single,n As Integer,T As Singlen=1:T=1n=1:T=1DoDo Sum=Sum+T Sum=Sum+T n=n+1 n=n+1 T=(-1)(n+1)*x(2*(n-1)/F(2*(n-1)T=(-1)(n+1)*x(2*(n-1)/F(2*(n-1)Loop While Abs(T)=10 -10Loop While Abs(T)=10 -10Print SumPrint SumEnd SubEnd Sub q q Function F(ByVal k As Int
36、eger)As Function F(ByVal k As Integer)As DoubleDoubleDim i As IntegerDim i As IntegerF=1F=1For i=2 To kFor i=2 To k F=F *i F=F *iNext iNext iEnd FunctionEnd Functioncos(x)=1-x2/2!+x4/4!-+(-1)n+1x2(n-1)/2(n-1)!+3535计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第11 11章章 数列、级数求和及矩阵运算问题数列、级数求和及矩阵运算问题11.2.2 连乘积连乘积
37、11-4:到通项接近到通项接近1时停止计算。时停止计算。Private Sub Command1_Click()Private Sub Command1_Click()Dim Sum As Single,T As SingleDim Sum As Single,T As SingleSum=2:T=Sqr(2)Sum=2:T=Sqr(2)DoDo Sum=Sum*2/T Sum=Sum*2/T T=Sqr(2+T)T=Sqr(2+T)Loop While Abs(2/T-1)=10 -10Loop While Abs(2/T-1)=10 -10Print SumPrint SumEnd Sub
38、End Sub3636计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第11 11章章 数列、级数求和及矩阵运算问题数列、级数求和及矩阵运算问题11.3.1 矩阵的生成和打印矩阵的生成和打印l生成数组生成数组l打印数组打印数组11.3.2 矩阵的行列交换矩阵的行列交换11.3.3 矩阵的变换矩阵的变换11-10:将一个:将一个4行行4列矩阵进行转置列矩阵进行转置11-11:求出一给定矩阵的旋转矩阵。:求出一给定矩阵的旋转矩阵。3737计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第11 11章章 数列、级数求和及矩阵运算问题数列、级数求和及矩阵
39、运算问题11.3.4 寻找某些特殊点寻找某些特殊点l11-12:求:求6*5数组的鞍点,鞍点是指本行最大、本列最数组的鞍点,鞍点是指本行最大、本列最小的元素。小的元素。11.3.5 特殊矩阵特殊矩阵l按以下样式输出按以下样式输出5行杨辉三角。行杨辉三角。111 1 2 1 1 33 1 1 4 6 4 1Private Sub Command1_Click()Private Sub Command1_Click()Dim A(5,5)As Integer,I As Integer,Dim A(5,5)As Integer,I As Integer,J As IntegerJ As Intege
40、rFor I=1 To 5For I=1 To 5 A(I,1)=1 A(I,1)=1 A(I,I)=1 A(I,I)=1Next INext IFor I=3 To 5For I=3 To 5 For J=2 To I-1 For J=2 To I-1 A(I,J)=A(I-1,J-1)+A(I,J)=A(I-1,J-1)+A(I-1,J)A(I-1,J)Next J Next JNext INext IFor I=1 To 5For I=1 To 5 Print Space(5-I);Print Space(5-I);For J=1 To I For J=1 To I Print CStr
41、(A(I,J);Print CStr(A(I,J);Next J Next J Print PrintNext INext IEnd SubEnd Sub3838计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松11.3.6 11.3.6 综合例题综合例题l11-4:标记出:标记出5*5方阵中每一行最小元素的位置。如果某方阵中每一行最小元素的位置。如果某一行有多个数值相等的最小元素,也要同时标记出来。一行有多个数值相等的最小元素,也要同时标记出来。标记方式为每一行的最小元素为标记方式为每一行的最小元素为0,其他元素为,其他元素为1。Option ExplicitOption
42、 ExplicitOption Base 1Option Base 1Private A(5,5)As IntegerPrivate A(5,5)As IntegerPrivate Sub Form_click()Private Sub Form_click()Text1=Text1=Dim I As Integer,J As IntegerDim I As Integer,J As IntegerRandomizeRandomizeFor I=1 To 5For I=1 To 5 For J=1 To 5 For J=1 To 5 A(I,J)=Int(20-10+1)*Rnd+10)A(I
43、,J)=Int(20-10+1)*Rnd+10)Text1.Text=Text1&A(I,J)&Text1.Text=Text1&A(I,J)&Next J Next J Text1=Text1&vbCrLf Text1=Text1&vbCrLfNext INext IEnd SubEnd SubPrivate Sub Command1_Click()Private Sub Command1_Click()Dim I As Integer,J As Integer,Min As IntegerDim I As Integer,J As Integer,Min As IntegerFor I=1
44、 To 5For I=1 To 5 Min=A(I,1)Min=A(I,1)For J=2 To 5 For J=2 To 5 If A(I,J)Min Then Min=A(I,J)If A(I,J)Min Then Min=A(I,J)Next J Next J For J=1 To 5 For J=1 To 5 If A(I,J)=Min Then If A(I,J)=Min Then Text2=Text2&0 Text2=Text2&0 Else Else Text2=Text2&1 Text2=Text2&1 End If End If Next J Next J Text2=Te
45、xt2&vbCrLf Text2=Text2&vbCrLfNext INext IEnd SubEnd Sub3939计算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松11.3.6 11.3.6 综合例题综合例题l11-15:找出:找出5*5数组中最大元素和最小元素所在行,如数组中最大元素和最小元素所在行,如果不在同一行则交换这两行。果不在同一行则交换这两行。Option ExplicitOption ExplicitOption Base 1Option Base 1Private A(5,5)As IntegerPrivate A(5,5)As IntegerPriva
46、te Sub Form_click()Private Sub Form_click()Dim I As Integer,J As IntegerDim I As Integer,J As IntegerRandomizeRandomizeFor I=1 To 5For I=1 To 5 For J=1 To 5 For J=1 To 5 A(I,J)=Int(99-10+1)*Rnd+10)A(I,J)=Int(99-10+1)*Rnd+10)Text1.Text=Text1&A(I,J)&Text1.Text=Text1&A(I,J)&Next J Next J Text1=Text1&vb
47、CrLf Text1=Text1&vbCrLfNext INext IEnd SubEnd SubPrivate Sub Command1_Click()Private Sub Command1_Click()Dim I As Integer,J As Integer,T As IntegerDim I As Integer,J As Integer,T As IntegerDim Min As Integer,Max As IntegerDim Min As Integer,Max As IntegerDim LMin As Integer,LMax As IntegerDim LMin A
48、s Integer,LMax As IntegerMin=A(1,1):Max=A(1,1)Min=A(1,1):Max=A(1,1)For I=1 To 5For I=1 To 5 For J=1 To 5 For J=1 To 5 If A(I,J)Min Then If A(I,J)Max Then If A(I,J)Max Then Max=A(I,J)Max=A(I,J)LMax=I LMax=I End If End If End If End If Next J Next JNext INext IIf LMin LMax ThenIf LMin LMax Then For I=
49、1 To 5 For I=1 To 5 T=A(LMin,I)T=A(LMin,I)A(LMin,I)=A(LMax,I)A(LMin,I)=A(LMax,I)A(LMax,I)=T A(LMax,I)=T Next I Next IEnd IfEnd IfFor I=1 To 5For I=1 To 5 For J=1 To 5 For J=1 To 5 Text2=Text2&A(I,J)&Text2=Text2&A(I,J)&Next J Next J Text2=Text2&vbCrLf Text2=Text2&vbCrLfNext INext IEnd SubEnd Sub4040计
50、算机等级考试二级(计算机等级考试二级(VBVB)培训)培训 鲁松鲁松第第12 12章章 数组的移动、排序及查找数组的移动、排序及查找12.1 移动移动l12-1:将一个:将一个10个元素的数组个元素的数组A循环向右移动一位。循环向右移动一位。1 2 3 4 5 6 7 8 9 10 10 1 2 3 4 5 6 7 8 9l12-2:将一个:将一个10个元素的数组个元素的数组A循环向左移动一位。循环向左移动一位。l12-3:将一个:将一个10个元素的数组个元素的数组A循环向右移动三位。循环向右移动三位。l12-4:将一个:将一个4行行4列数组的列循环右移一列。列数组的列循环右移一列。4141计