网站大量收购闲置独家精品文档,联系QQ:2885784924

C基础—理解算法.ppt

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

C基础——理解算法 算法举例 C程序示例 结构化算法 趣味算法 理解算法 算法就是按部就班地解决某个问题的方法。 离散化、序列化、规范化、程序化 烹饪鲤鱼算法(Adlai Stevenson) 1、取一条1 - 2磅重的鲤鱼,并把它放在清水里游上24小时。 2、将鱼刮鳞去骨切成片。 3、给鱼涂上黄油,并撒上盐和胡椒。 4、把鱼片放在烤炉里用温火烘烤20分钟。 5、取出即可享用。 目标:烹饪鲤鱼 ?实现:算法 ?细化:各具体操作 算法举例1:求两数之和 1、有两个数a和b,a等于2,b等于3。 2、准备一个数sum,sum取值为a加上b 3、将sum的值显示在屏幕上 1、有三个整数 a,b,sum 2、置 a = 2 3、置 b = 3 4、置 sum = a + b 5、输出 sum 算法举例2:计算1+2+3+4+5 0+1=1 1+2=3 3+3=6 6+4=10 10+5=15 … 0+1=1 1+1=2 1+2=3 2+1=3 3+3=6 3+1=4 6+4=10 4+1=5 10+5=15 5+1=6 … 算法与C程序 1、置sum=0 ,i=1 2、当i小于等于5时重复下 (1) 置 sum 为 sum+i (2) 置 i 的值为 i+1 3、输出y的值 4、程序结束 理解变量的作用 理解“置”与等式区别 试手工运行程序 CPU的运行 机器语言与汇编语言(求和100) 146B:0100 B80000 MOV AX,0000 sum=0 146B:0103 A30220 MOV [2002],AX (地址2002) 146B:0106 B80100 MOV AX,0001 i=1 146B:0109 A30020 MOV [2000],AX (地址2000) 146B:010C A10020 MOV AX,[2000] sum+=i 146B:010F ADD [2002],AX 146B:0113 B80100 MOV AX,0001 i=i+1 146B:0116 ADD [2000],AX 146B:011A A10020 MOV AX,[2000] i=100? 146B:011D 3D6400 CMP AX,0064 146B:0120 76EA JBE 010C Yes:循环 146B:0122 B402 MOV AH,02 No:输出 146B:0124 B230 MOV DL,30 (输出‘0’) 146B:0126 CD21 INT 21 146B:0128 CD20 INT 20 程序结束 趣味算法举例 求一分数的千位小数 1/7 = 0.14285714285714……(共1000位) 求e,?的千位小数 e = 2.71828182845904523536…... ? = 3.14159265358979323846…... 扑克牌算24点 安全过河求解 . . . . . . 千位小数求解 计算过程 10 ?7=1,余3 30 ?7=4,余2 20 ?7=2,余6 60 ?7=8,余4 重复主体 x ?y=m,余n n*10为新的x 千位小数算法 置x = 10,y = 7 输出“1/7=0.” 以下重复1000次 x ?y求商m,余n 输出m 置x为10*n 程序结束 main() { int x, y, i, m, n; x = 10; y = 7; printf( “1/7=0.” ); for (i=0;i1000;i++) { /*重复1000次*/ m = x / y; /*求商*/ n = x % y; /*求余数*/ printf( “%d”, m ); x = 10 * n; } } 千位小数算法——数组法 准备数列A1,A2,…,A1000 用于记录第1,2,…,1000位小数,… 置x = 10,y = 7 以下重复1000次(i=1到1000) x ?y求商m,余n 置Ai = m 置x为10*n 输出“1/7=0.”,输出A1,A2,…,A1000 软件方法 问题?描述?算法?程序?调试 离散化、序列化、规范化、程序化 算法 + 数据结构 = 程序 结构化

文档评论(0)

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

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

1亿VIP精品文档

相关文档