03数值计算.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
03数值计算

数值计算 Computing with Numbers 本章作业 教材 3.7 Exercises (p43): 1~5, 10, 11, 13, 14, 16, 18, 20 本章内容 Numeric Data Types Using the Math Library Accumulating: Factorial The Limits of Int, Long Ints Type Conversions 数据类型(Data Types) 程序存储与操作的信息称为数据 何为数据类型? 类型不同:存储和操作的方式不同 为什么要使用数据类型 不同的数据类型代表不同的 数据表示形式 合法的取值范围 占用存储空间大小 数据在计算机中的表示形式 十进制数转换成二进制数 正整数:原码 如: 10 --- (0 0 0 0 1 0 1 0)2 负整数:补码 如:-10 --- (1 1 1 1 0 1 1 0)2 实数:尾数 + 阶码 (90.5)10 =(1011010.1)2 027 -- 02111 数据在计算机中的表示形式 字符转换成二进制数 按照“ASCII代码表” 字母‘a’: 注:The American Standard Code for Information Interchange 数值数据类型 整数类型integer (int for short) 不带小数点 计算机可存储整数的精确值 浮点数类型floating point (or float) 带小数点 计算机只能存储浮点数的近似值 type()函数 给出数据的类型 浮点数的数值范围 单精度: 4字节, ~7位有效数字, ? ~ 10-44 to ~ 1038 双精度: 8字节, ~15位有效数字, ? ~ 10-323 to ~ 10308 Python采用双精度 参考:IEEE 754标准 需注意的问题:有效数字,数据溢出 Numeric Data Types type (3) type int type (3.1) type float type(3.0) type float myint = -32 type(myint) type int myfloat = 32.0 type(myfloat) type float mystery = myint * myfloat type(mystery) type float 算术运算 运算符特性 运算符的优先级 运算符的结合性 Using the Math Library 编程计算一元二次方程的根! 数学库(Math Library) 提供了许多数学函数 mathematical functions 数学库的引入: import math 求平方根: math.sqrt() help(math) help(math.sqrt) 例:quadratic.py import math def main() a, b, c = input(“Enter three coefficients: ”) discRoot = math.sqrt(b*b – 4*a*c) r1 = (-b + discRoot) / (2 * a) r2 = (-b – discRoot) / (2 * a) print “The solutions are:”, r1, r2 不用sqrt()能求平方根吗? 库函数一般效率高? 数学库提供的一些常数和函数 计算阶乘 How to compute Factorial? 利用数学库函数: math.factorial (n) Factorial is defined as: n! = n(n-1)(n-2)…(1) 6! = 6*5*4*3*2*1 = 720 算法:Accumulating(累积) 累积器Accumulator: 存放累积结果的变量 累积过程是一个循环(Loop) 初始化: 给累积变量一个合适的初值,以便进入循环后能正确计算 忘记初始化是一个常见编程错误! 例:阶乘计算程序 fact = 1 for f in [6,5,4,3,2,1]: fact = fact * f fact = 1 for f in range(n,1,-1): fact = fact * f range()函数 range(n) range(start,n) range(start,n,step) 完整的阶乘程序 Input number to take factorial of, n Compute factorial of n,

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档