数据与计算科学基础_第7章 数据计算.pptx

数据与计算科学基础_第7章 数据计算.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据与计算科学基础;第7章 数据计算;;;7.1.3. 常用的字段计算;(1) IF函数介绍 逻辑判断函数,判断是否满足某个条件,如果满足返回一个值,如果不满足则返回另一个值。语法格式如下: IF(logical_test,value_if_true,value_if_false) 参数说明: logical_test: 任何可能被计算为TRUE或FALSE的逻辑表达式。 value_if_true: 指logical_test为TRUE时的返回值。 value_if_false: 指logical_test为FALSE时的返回值。 (2) 应用案例 ;7.1.3. 常用的字段计算;7.1.3. 常用的字段计算;7.1.3. 常用的字段计算;7.1.3. 常用的字段计算;7.1.3. 常用的字段???算;7.1.3. 常用的字段计算;7.1.3. 常用的字段计算;7.2.1 数制转换的递推计算;7.2.1 正整数转换为原码、反码和补码的递推计算;2.十进制整数转换为R进制整数反码 反码也是用一半较小的数来表示0和正整数,用另一半较大的数来表示-0和负整数,它和原码不同的是负数的编码正好相反。对于R进制来说,如果有m个不同的表示状态,反码表示如表7-2所示。 ;3.十进制整数转换为R进制整数补码 补码也是用一半较小的数来表示0和正整数,用另一半较大的数来表示负整数。它和反码不同的是解决了-0问题,同时可以多表示一个负数。对于R进制来说,如果有m个不同的表示状态,补码表示如表7-3所示。 ;7.3.1 递推计算;7.3.1 递推计算;7.3.1 递推计算;;7.3.2 二分法;7.3.2 二分法;7.3.2 二分法;2.二分法求幂 用乘法计算x的整数次幂f(x,n)归约为 使用递推算法,要做n次乘法运算。运用二分法计算,只需做log2 n次乘法运算。算法过程如表7-4、图7-11所示,将xn 表达为f(x, n)。 ;7.3.3 贪心算法;7.4.1 排序算法演示 7.4.2 频数计算 7.4.3 工作日计算 ;排序是程序设计中常用的算法,一般通过数组来实现排序。利用Excel中的单元格和VBA代码可将排序过程动态地显示出来,而且速度可由用户自己控制,具有直观、形象的特点,有利于用户加深对排序算法的理解。实现步骤如下。 步骤1:启动Excel,依次单击“开发工具”→“代码”→“宏”按钮,打开“宏”对话框。 步骤2:创建宏“Randint”,在区域A1:A10中生成10个随机整数,输入以下代码。 Randomize For i = 1 To 10 ??Cells(i, 1) = Int(Rnd * 100) Next ;步骤3:创建宏“SelSort”,用于实现对区域中的10个整数进行升序排序(冒泡排序),输入以下代码。 For i = 1 To 10 - 1 ??For j = 1 To 10 - i ????If Cells(j, 1) Cells(j + 1, 1) Then ???????temp = Cells(j, 1) ????????Cells(j, 1) = Cells(j + 1, 1) ???????Cells(j + 1, 1) = temp ???????Application.Wait Now() + CDate(00:00:01) ????End If ??Next Next MsgBox 排序完毕! 步骤4:执行宏“Randint”,可看到自动生成的10个随机整数。 步骤5:执行宏“SelSort”,可看到动态排序过程。 ;(1)函数介绍 在7.1节的字段计算中,介绍了计算频数的FREQUENCY数组函数,它用一个数组公式即可轻松地统计出各分数段的人数分布。该函数以一列垂直数组返回某个区域中数据的频数,由于其结果返回一个数组,因此必须以数组公式的形式输入。如果以60、70、80、90作为间隔点,那么统计产生的是区间[0, 60]、(60, 70]、(70, 80]、(80, 90]、(90, 100]的频数。60被统计在[0, 60]这个区间内,也就是说60被统计在不及格的区间内,而实际希望得到的结果应该是区间[0, 60)、[60, 70)、[70, 80)、[80, 90)、[90, 100]的频数。当然在实际应用时,可以把间隔点改为59、69、79、89,显然这是一种变通的办法。 (2)通过VBA编程重新定义频数计算函数 【例7.6】以60、70、80、90作为间隔点,用VBA为Excel重新编写一个频数计算函数。 ;Function myfrequency(data_array As Range, bins_array As Range)

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档