VB第七章
更新时间:2023-09-05 02:46:01 阅读量: 教育文库 文档下载
计算机VB教程 实例 基础
常 用 算 法 ------------------------- 排序算法 --〉比较互换 选择法 冒泡法 查找算法 --〉顺序查找 折半查找 素数的求法 --〉定义法 筛选法 解一元方程 --〉牛顿迭代法 二分法 数值积分 --〉矩形法 梯形法 辛普生法 数值转换 --〉B<->O<->D<->H
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
7.1 常用的排序算法1:比较互换法 基本过程(以降序为例):将第一个元素顺序与其后 基本过程(以降序为例):将第一个元素顺序与其后 ): 面的元素比较,比第一个大则进行交换, 面的元素比较,比第一个大则进行交换,第一轮完毕 最大的元素被挪到了第一个位置, 后,最大的元素被挪到了第一个位置,第二轮从第二 个元素开始重复上面的过程, 个元素开始重复上面的过程,结束后得到第二个最大 的元素, 轮的比较, 的元素,如此下去经过 N-1 轮的比较,可将 N 个数 排好 举例 原始数据: 原始数据: 1,2,3,5,4 要求: 要求:降序
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
第 一 轮 比 较 :
1 2 3 5 5
2 1 1 1 1
3 3 2 2 2
5 5 5 3 3
4 4 4 4 4
第一轮结束,找到最大值 5 第一轮结束,
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
第 二 轮 比 较 :
5 5 5 5
1 2 3 4
2 1 1 1
3 3 2 2
4 4 4 3
第二轮结束,找到第二最大值 4
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
第三轮结果:5 第三轮结果:
4
3
1
2
第四轮结果: 第四轮结果:5 4 3 2 1 公式表示:(N为排序的维数, OP为操作 为操作, 公式表示:(N为排序的维数, OP为操作,降序为 为排序的维数 “>”) ) N‘外层循环N-1次 外层循环N for (i=1 to N-1) 外层循环 ‘内层依赖外层 for (j=i+1 to N) 内层依赖外层 S(i)) if (S(j) OP S(i))then t=S(i):S(i)=S(j):S(j)=t ‘交换 交换 End if Next j VB例 Next I VB例7-1点此进入
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
2:选择法排序 特点:比较後不立即互换元素, 特点:比较後不立即互换元素,而是记下其位置并 在每一轮比较完毕后和S(i)互换. S(i)互换 在每一轮比较完毕后和S(i)互换. 首先,比较的元素不同,以降序为例, 首先,比较的元素不同,以降序为例,是当前元素 与上次比较後的最大元素进行比较,因此, 与上次比较後的最大元素进行比较,因此,在进行 比较之前,要有一个初始化最大元素的过程. 比较之前,要有一个初始化最大元素的过程. 其次, 其次,确定完毕的元素的互换是在每一轮完成后进 行的,而不是在比较後进行的. 行的,而不是在比较後进行的. 再次,互换元素的不同, S(i 再次,互换元素的不同,为S(i)和S(iMax) S(iMax) iMax :
举例 原始数据: 原始数据: 1,2,3,5,4 要求: 要求:降序
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
第一轮比较,初始化最大元素为iMax=1 1 2 3 5 4 iMax=1 iMax=2 1 2 3 5 4 iMax=2 iMax=3 1 2 3 5 4 iMax=3 iMax=4 1 2 3 5 4 iMax=4 iMax=4 S(1) S(iMax)的结果 5 2 3 1 4
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
如此下去,第二轮找到4,第三轮3,.... 选择法的公式表示: For i=1 to N-1 iMax=I ‘初始化iMax,在每轮比较开始处 for j=I+1 to N if(S(j) OP S(iMax)) then iMax=j next j ‘注意比较对象的转变 t=S(i):S(i)=S(iMax):S(iMax)=t ‘注意互换的时间 Next I VB例7-2点此进入
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
3:冒泡法排序 如果按升序排序,则方法为: 如果按升序排序,则方法为: 将相邻两个数比较,把小数对调到前边, 将相邻两个数比较,把小数对调到前边,如此进 行一轮後,就会把最大的数互换到最后,再进行一次, 行一轮後,就会把最大的数互换到最后,再进行一次, 则会把第二大数排在倒数第二的位置上,进行N- N-1 则会把第二大数排在倒数第二的位置上,进行N-1 次後,整个数列即可排好. 次後,整个数列即可排好. 在这种排序过程中,小数如同气泡一样逐层上伏, 在这种排序过程中,小数如同气泡一样逐层上伏, 而大数逐个下沉,因此,被形象的喻为“冒泡” 而大数逐个下沉,因此,被形象的喻为“冒泡”. 特征: 特征: 当数据的大小顺序与要求不符时(逆序),才进 当数据的大小顺序与要求不符时(逆序),才进 ), 行互换操作. 行互换操作.
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
第 一 轮 比 较 :
9 4 4 4 4
4 9 7 7 7
7 7 9 5 5
5 5 5 9 2
2 2 2 2 9
第一轮结束,最大值 9沉到最底 第一轮结束,
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
第 二 轮 比 较 :
4 4 4 4
7 7 5 5
5 5 7 2
2 2 2 7
9 9 9 9
第二轮结束,次大值7沉到倒数第二 第二轮结束,次大值7
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
冒泡法的公式表示: 冒泡法的公式表示: For i=1 to N-1 for j=1 to N-i ‘比较次数逐次减少 比较次数逐次减少
if(S(j) OP S(j+1)) then t=S(j):S(j)=S(j+1):S(j)=t ‘立即互换 end if next j next i
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
7.2 常用的查找算法7.2.1 顺序查找 顺序查找表现是把待查找的数与数组中的数从头 到尾逐一比较, 来表示当前比较的位置, 到尾逐一比较,用一变量 P 来表示当前比较的位置, 初始为1, 初始为 ,当待查找的数与数组中 P 位置的元素相等时 即可结束,否则 继续比较, 即可结束 否则 P=P+1 继续比较
,当 P 大于 数组的最 大长度,也应该结束 也应该结束. 大长度 也应该结束. 注意退出的两种情况, 注意退出的两种情况,分别为 大于数组的最大长度). 到(P大于数组的最大长度). 大于数组的最大长度 找到 和 未找
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
顺序查找的公式表示(x为待查找的数): 顺序查找的公式表示(x为待查找的数): (x为待查找的数 P=1 Do while x<>S(p) And p<N p=p+1 Loop ‘退出的两种情况 退出的两种情况 If x=S(p) then ‘找到,处理 找到, 找到 else ‘没找到,处理 没找到, 没找到 end if ‘初始化比较位置 初始化比较位置
VB例7-3点此进入 例 点此进入
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
7.2.2 折半查找 折半查找法是对有序数列进行查找的一种高效查找办 其基本思想是逐步缩小查找范围, 法,其基本思想是逐步缩小查找范围,因为是有序数 所以采取半分作为分割范围可使比较次数最少. 列,所以采取半分作为分割范围可使比较次数最少 比较过程: 比较过程 设置三个指针,分别指向数组序列 S 的Top,Bottom和 设置三个指针 分别指向数组序列 和 Middle,其中 其中Middle=(Top+Bottom)/2,进行下列判断 其中 进行下列判断 1) 等于S(Middle),则已经找到 位置就是 则已经找到,位置就是 若待查找的数 X 等于 则已经找到 Middle.否则进行下面的判断 否则进行下面的判断. 否则进行下面的判断
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
2) 如果 X 小于 S(Middle),因为是有序数列 则 X 必定落在Top 因为是有序数列,则 必定落在 因为是有序数列 的范围之内,下一步查找只需在此范围之内进行 和 Middle-1的范围之内 下一步查找只需在此范围之内进行 的范围之内 即可.即 位置不动,Bottom变为 Middle-1.重复 1) 即可 即可 即Top位置不动 位置不动 变为 重复 即可. 3) 如果 X 不小于 S(Middle),则 X 必定落在 Middle+1 和 则 Bottom之间 下一步查找范围应该是 Top=Middle+1 和 之间,下一步查找范围应该是 之间 Bottom,设定完 设定完Top後即可转到 1) 继续判断 设定完 後即可转到 继续判断. 注意: 注意 在此循环过程中,Top,Middle,Bottom都是表示位置的整数 如 在此循环过程中 都是表示位置的整数,如 都是表示位置的整数 果循环到 Top=Middle 或者 Middle=Bottom,则表明此数列中 则表明此数列中 没有我们要找的数.应该退出循环 应该退出循环. 没有我们要找的数 应该退出循环
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
折半查找的公式表示: 折半查找的公式表示: result = False ‘初始化逻辑变量 初始化逻辑变量 Top = 1:bottom = N:middle=(top+bottom)/2 ‘初始化指针 初始化指针 Do While (result = False and middle
<>bottom) ‘构造循环 构造循环 middle = (bottom +Top) / 2 ‘初始化指针 初始化指针 If X = S(middle) Then ‘判断 判断 result = True ‘找到 找到 Else If X > S(middle) Then ‘根据大小 根据大小 Top = middle + 1 ‘确定下一步比较范围 确定下一步比较范围 Else bottom = middle - 1 VB例7-4点此进入 End If End If Loop ‘下一步通过分析 下一步通过分析result的真值来区分是否找到 下一步通过分析 的真值来区分是否找到
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
7.3 素数的判定和求法素数的定义: 素数的定义: 除了1与本身之外,不能被其他正整数整除的数, 除了1与本身之外,不能被其他正整数整除的数, 叫作素数,也叫质数。 叫作素数,也叫质数。 按照习惯规定, 不算素数, 按照习惯规定,1 不算素数,最小的素数是 2, 其余的是 3、5、7、11、13、17、19……等等。 11、13、17、19 等等。 等等 7.3.1 由定义判断素数 ,从I=2,3,4,5…到 对于数 M ,从I=2,3,4,5 到 m-1 判断 m 能否 整除,如果全部不能整除, 是素数, 被 I 整除,如果全部不能整除,则 m 是素数,只要有一 个能除尽, 不是素数,为了压缩循环次数, 个能除尽,则 m 不是素数,为了压缩循环次数,可将判断 范围从 2 --- m-1 改为 2 -- int(sqr(m))
计算机软件技术基础 Visual Basic 程序设计
计算机VB教程 实例 基础
根据定义判断是否素数的公式表示 I=2:j=sqr(m) ‘初始化 初始化 Do While(I<=j) and (m Mod i)<>0 I=I+1 Loop ‘根据退出的两种情况来判断是否素数 根据退出的两种情况来判断是否素数 If I>j then ‘是素数 是素数 else ‘有整除情况 有整除情况 end if VB例7-5点此进入 例 点此进入
计算机软件技术基础 Visual Basic 程序设计
正在阅读:
VB第七章09-05
七年级下册地理重点(湖南教育出版社)10-15
炼铁厂工作实习个人报告02-22
代办证明08-22
英语荣誉证书内容模板10篇 - 图文11-13
人教版语文二年级上册古诗《江雪》教学反思-精选文档11-16
消失模铸造作业指导书05-07
沈阳管道工程施工组织设计03-26
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 第七章
- 中国人民银行云南分行2013校园招聘大礼包_笔试面试经验汇总@大街网@应届生校园招聘 制作
- 票据种类总结
- 国际快递形式发票样本
- 香港政府常用英汉词汇·消防卷
- 2015-2020年中国氯化镍市场调研及投资趋势研究报告
- 河北公务员考试行测答题技巧:行测常识之中国历史上的改革和变法
- 2011保利地产财务报告分析---
- Socket编程原理
- 数控激光切割机的调试培训考核表Ver:PM-300,2010-3
- 历史研究性学习——寻访“丝绸之路”
- 大学英语视听说4 Unit6
- 外研版(三起)-英语-三年级上册-Module 9 Unit 2 He's a doctor 精选教案
- Html试题
- 行业研究报告-2017-2022年中国太阳能利用产业发展预测及投资咨询报告(目录)
- 2015-2020年中国钢铁铸件市场运行动态分析及投资战略研究报告
- 工程流体力学 第四版 孔珑 作业答案 详解
- 康复科五年发展规划
- 2012―2013学年第二学期概率论与数理统计试卷(本科及专升本)
- 热力学第二定律
- 七年级生物上册2.2植株的生长学案(新版)新人教版