《VB批量数据的处理-PPT.ppt》由会员分享,可在线阅读,更多相关《VB批量数据的处理-PPT.ppt(97页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章 批量数据的处理1批量数据的处理4.1 循环结构4.2 数组4.3 过程4.4 高级界面设计4.5 批量数据的输入和输出*4.6 应用举例2循环结构利用循环结构可以实习语句的重复执行VB提供了计数型循环和条件型循环For循环语句属于计数型循环Do循环和While循环属于条件型循环3For循环语句(计数型循环语句)For循环用于实现循环次数已知的循环结构For循环的格式如下:For 循环变量=初始值 To 终值 Step 步长 循环体 Exit For 循环体 Next 循环变量关键词:循环变量、初始值、终值、步长、循环体、Exit For、Next 循环变量4For循环语句应用举例 例4
2、.1:求1100的所有整数之和。例4.1的进一步深入:求1100的所有奇数之和。例4.1的变化:求1100的所有整数之积。例4.3:求Pi的近似值,其计算公式为:练习:用写出求下式的前一百项结果的VB代码5For循环语句应用举例(续一)例4.4:房屋贷款的年利率是4.81%,如果一次性贷款15万元,15年后归还,则归还时,应偿还的本息总额是多少?例4.4的深入:若贷款分15年归还,每年归还本金相同,那么累计还款金额是多少?6For循环应用:打印ASCII 码表ASCII码是计算机常用的字符编码例4.2:打印ASCII码表的程序码表中:32以前的是非打印字符32对应的是空格09对应的ASCII码
3、范围是4857大写字母对应的ASCII码范围是6590小写字母对应的ASCII码范围是971227大家应该也有点累了,稍作休息大家有疑问的,可以询问和交流 大家有疑问的,可以询问和交流8For循环应用:猴子吃桃小猴子在一天摘了若干个桃子,当天吃掉了一半多一个;第二天接着吃了剩下的桃子的一半多一个;以后每天都吃掉剩余桃子的一半多一个,到第8天早上要吃的时候,只剩下一个桃子了,问:小猴子那天共摘了多少个桃子?分析:设第n天的桃子数为,那么它是前一天桃子数的二分之一减一,即:或9For循环应用:素数判断素数,也称质数,指一个大于1且只能被1和自身整除的正整数。判别某数m是否为素数的方法很多,最简单的
4、方法是根据素数的定义来求解,其算法思路是:用 分别去除m,判断m能否被i整除,只要有一个能整除,m就不是素数,否则m是素数。10作业(思考题,下次课提问)用For循环语句实现如下计算:(1)求11000的所有偶数之和;(2)求11000的所有被3除余1的数之积;(3)求(4)求菲波那乞数列的第100项。菲波那乞数列:1,1,2,3,5,8,1311While 循环(条件型循环)While 条件 循环体 Wend条件:一般为条件表达式,值为True或False条件在循环体内应有所变动,否则造成不循环或“死循环”;没有循环体的循环称“空循环”12While 循环举例使用While循环语句实现没有重
5、复的学号抽取使用While循环语句改写连加的例子使用While循环语句改写连乘的例子使用While循环语句改写素数判断程序13Do 循环(条件型循环)先判断型Do循环语句:Do While或Until 条件 语句体 Exit 满足某条件时 语句体Loop后判断型Do循环语句:Do 语句体 Exit 满足某条件时 语句体Loop While或Until 条件14Do 循环举例使用Do循环语句改写连加的例子使用Do循环语句改写连乘的例子没有条件的Do语句(使用Exit语句结束)使用Do循环语句实现没有重复的学号抽取15循环的嵌套在一个循环体内又包含了一个完整循环的循环结构称为循环的嵌套。注意:内外
6、循环变量不能重名;内外循环不能交叉。允许:两个并列的循环;正确的嵌套16循环嵌套的举例例4.5:打印九九乘法表例4.6:百元找零(穷举法举例)应用举例4.5.1:打印五角星17打印五角星应用举例4.5.1:打印如下列各图所示的五角星18打印九九乘法表例4.5:在窗体上打印出如下图所示的九九乘法表19百元找零(穷举法举例)把一张一百元的人民币,兑换成40张1元、2元或5元的零钱,编程计算可以有多少种兑换方法。分析:设1元、2元、5元的零币分别为x、y、z张,根据题目要求,列出方程为 三个未知数,只有两个个方程,因此解不确定,可以有如下两种方法求解:三重循环,都是从0到40;三重循环,内循环利用外
7、循环的条件。20作业1.For循环语句的循环次数应如何计算?2.For循环与Do循环有何区别?哪种循环至少循环一次?什么叫“死循环”?什么叫“空循环”?3.简述For循环语句执行的过程。4.简述While循环语句执行的过程。5.简述Do循环语句执行的过程。21第六次上机总结1.求sinx的值:递推的使用以及防止溢出;2.打印九九乘法表:重点。3.百元买百鸡问题:两个条件;循环次数4.打印五角星:分号的使用;打印起始位置的控制;打印行数的控制;五角星个数的控制。22数组数组可以用来处理同一性质的成批数据固定数组动态数组控件数组23引例:求15个观测值的均值方差例4.8:求15个观测值 的均值和方
8、差。均值:中误差:24求15个观测值的均值方差:代码不用数组的写法 算术平均值和中误差(不用数组)使用数组的写法 算术平均值和中误差(用数组)25固定数组数组的声明:数组的基本操作:(1)给数组元素赋初值;(2)数组的输入和赋值;(3)数组的输出;(4)求数组最大元素所在的下标;(5)交换数组中各元素;(6)数组元素排序;(7)求数组各元素之和;(8)求二维数组行和、列和、对角线和26固定数组的声明一维数组:Dim 数组名(下标)As 类型其中:数组名的命名规则与变量命名规则相同;下标必须为常数(要使用变量或者表达式,需用动态数组);下标的形式为下界 to 上界,省略下界时,默认为0;类型为任
9、何一种VB的数据类型。一维数组举例:Dim A(6)As Integer 数组元素下标从0开始,共7个Dim a(1 to 7)As Interger 下标从1开始,共7个Dim x(15)As Double 下表从0开始,共16个27固定数组的声明(续)多维数组:Dim 数组名(下标1,下标2,下标3,)As 类型其中:下标个数决定了数组的维数;数组每一维的大小与一维数组的计算方法相同;数组总的大小维每一维大小的乘积。多维数组举例:Dim Matrix(3,4)As DoubleDim a(1 to 3,1 to 4)As IntegerDim b(5,1 to 9,1 to 6)As Lo
10、ngDim c(1 to 4,7,3 to 9)as Single28数组的输入给数组赋初值For i=1 to 15 v(i)=0Next i数组的输入For i=1 to 15 v(i)=InputBox(“请输入第”&i&“个观测值”)Next i数组的赋值For i=1 to 15b(i)=a(i)或者 b=a(Vb6.0以后)Next i29数组的输出一维数组的输出:For i=1 to 15Print v(i);”Next i二维数组的输出:For i=1 to 15For j=1 to 15Print Q(i,j);”Next jPrint Next i30求数组中最大元素及其下
11、标Dim Max As Integer,iMax As Integer,sum As Integer 数组V赋初值Max=V(1):iMax=1For i=2 to 15If V(i)Max ThenMax=V(i)iMax=iEnd IfNext i31交换数组中各元素将数组第1个元素与最后一个交换,第2个元素与倒数第2个元素交换,依此类推,结果如图所示:For i=1 to 10 2Temp=v(i)v(i)=v(15 i+1)v(15 i+1)=TempNext i32思考题1.如何求一维数组最小元素及其下标?如何求二维数组的最小元素及其下标?2.进行数组元素交换操作时,为什么循环的终值
12、是15 2,而不是15?如果要将数组的前一半元素与后一半元素交换,即第1个与第9个交换,第2个与第10个交换,上述代码应如何修改?33数组应用举例:40抽12的实现从40个学号中直接抽出12个互不相同的学号点名:(1)完全不使用数组的写法;(2)使用数组进行重复判断的写法;(3)完全使用数组的写法;34控件数组类型相同且功能相近的控件可以组成控件数组,它们使用相同的名称(Name),通过索引值(下标)来互相区别。创建控件数组:(1)设计时创建;(2)运行时动态加载;35控件数组应用举例应用举例4.5.7:考试成绩分析统计应用举例4.5.5:矩阵运算程序*36动态数组事先不知道数组大小时,可以声
13、明该数组为动态数组,在需要时再用ReDim语句指定数组的大小。创建动态数组的步骤:(1)声明数组为动态数组;(2)在需要时指定数组大小。37动态数组应用举例应用举例4.5.2:观测值均值和中误差的计算应用举例4.5.3:学号抽点程序的完善38求数组各元素之和一维求和:For i=1 to 15sum=sum+v(i)Next i二维求和:For i=1 to 15For j=1 to 15sum=sum+Q(i,j)Next jNext i39数组元素排序选择法排序:从n个数中选出最小数,将其与第1个数交换位置;除第1个数外,其余n-1个数再按步骤选出次小数,与第2个数交换位置;重复步骤 n-1次,构成递增序列。40