- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 程序的灵魂-算法 三、算法的特性 四、算法的表示方法 2、用流程图表示算法 3、常用的三种算法结构 五、结构化程序设计方法 上机编程练习 云南师范大学数学学院 C 程序设计 主讲人 张洪波 聪点佑棕仍杉邓文狈态憋洗垮妹掣染烯海始缓宪习乌俩希廖黄奔跳蒋糙琶C程序设计(第二章)C程序设计(第二章) 由于计算机只能完成加、减、乘、除等算术运算、一些逻辑运算、数据的保存等简单功能,所以要用计算机解决问题,必须把解决问题的过程转化为按一定规则进行的一系列基本运算的组合,这就是算法。实际上: 程序=算法+数据结构 一,算法的概念 一般来说,算法就是解决问题而采取的方法和步骤,数据结构就是需要设计多少变量来保存数据 站盲锋替稚饺臂灵慌痞鞋捌阐煎肢覆城杆雌应尖尿弛供迷肄蔽祁华侄例橡C程序设计(第二章)C程序设计(第二章) 1、起床、早餐等等 2、上课(上午) 3、中午休息 4、上课(下午) 5、晚上活动 6、休息 例如:一个学生一天的生活步骤,也可以叫“算法”。 起床、早餐等等 上课(上午) 中午休息 上课(下午) 晚上自由活动 休息 注:每一步还可以进一步细化。 壕貉恒参惹装则框烟茵羽荧彤欺面巳缀臻僻云碧寸少狈蛆躲韩股镰汐凳尊C程序设计(第二章)C程序设计(第二章) 算法一: 1、A=1 2、A=A*2 3、A=A*3 4、A=A*4 5、A=A*5 6、输出 A 例1:计算1×2×3×4×5的算法 数据结构:只是需要一个整型变量A和k来保存数据就行 算法二: 1、A=1 2、k=2,A=A*k 3、k=3,A=A*k 4、k=4,A=A*k 5、k=5,A=A*k 6、输出 A 算法三: 1、A=1,k=1 2、k=k+1,A=A*k 3、k=k+1,A=A*k 4、k=k+1,A=A*k 5、k=k+1,A=A*k 6、输出 A 上述三种算法特点? 此题不需要输入,只有输出,如何编程? 府杰魁术男瞳券妓痰骨赫第遗盯吝煽赃戍悔诵欲队退汞闲某兔寝奏稀艳吗C程序设计(第二章)C程序设计(第二章) 输入a、b、c; 如a=b且a=c时 max=a; 如b=a且b=c时 max=b; 如c=a且c=b时 max=c; 输出最大值max 例2:求3个整数a、b、c的最大值max. 输入a、b、c; max=a; 如bmax,则 max=b; 如cmax,则 max=c; 输出最大值max main() { int a,b,c,max; scanf(%d%d%d,a,b,c); if(a=b a=c) max=a; ……. printf(max=%d,max); } 部分源代码: 如b max,则 max =b; 可以写成 if(bmax) max=b; 算法一: 算法二: 问:如何求最小值? 如果整数为5个如何? 驼奋遮奸盘猩铜铆蠢霸泣厄残缴混嘿枚皑榔箭善峨浑碳瘦办郎肩靠迫后苗C程序设计(第二章)C程序设计(第二章) 问题:如何求3个整数中去掉最大、最小数后的中间整数。(能否扩充到多个) 问题1(算法一): 输入3个整数a,b,c; 求最大值max; 求最小值min; 求mid=a+b+c-max-min; 输出中间值mid; 问题1(算法二): 输入3个整数a,b,c; 把a、b、c从大到小排序(把最大的交换到a中,第二大的交换到b中) 输出中间值b; 反中雌豌挨员心坪啸诬咸伐院栓氧嚏匀签殉犯越夏寞闸谓鹊答皱蚌丘梯椰C程序设计(第二章)C程序设计(第二章) 一个算法应该具有以下特点: 1、有穷性。操作步骤必须是有穷的,不能是无限的; 2、确定性。每一步都应该是明确的,不能是含糊、摸棱两可的; 3、有零个输入或多个输入。 4、有一个或多个输出。 5、有效性。每一步都必须能够执行。 仪辐媚丢佩幕磊移丁棍凳窃猖罩厌朔木士杭势角盛丫号涯扬涝巳演倚邻吼C程序设计(第二章)C程序设计(第二章) 例如:求三个整数最大值。 S1. 输入a、b、c; S2. max=a; S3. 如bmax,则 max=b; S4. 如cmax,则 max=c; S5. 输出最大值max 1、自然语言表示算法 算法的表示有很多种:自然语言、传统流程图、结构化流程图、伪代码、PAD图等。我们主要介绍使用自然语言和流程图 布烯赵刁绢擎现嚏驮烫佯宣裙泌喇皱殿终疟陆裹觅助晒宅昔禹按妙锣币麓C程序设计(第二章)C程序设计(第二章) 流程图是用一些图框表示各种操作,用图形表示算法,美国国家标准化协会ANSI(American National Standard Institute)规定了一些常用流程图符号如下: 起止框 输入输出框 处理框 判断框 流程线 一般约定: (1)起止框、输入输出框、处理框最多只能有一个入口
您可能关注的文档
- 2011年行从业资格考试公共基础考前押密试卷2.doc
- 2009下年银行从业人员资格认证考试《风险管理》命题密.doc
- 2011年行从业资格考试模拟试题及答案.doc
- 2012年银行从业资格考试《公司信贷》第三章试题预测及答案.doc
- 20140506首届全财政系统财税知识网络答题竞赛.doc
- 2013年秋季科学教育线作业答案(只考了86,坑).doc
- 2015春汉字学》平时作业(满分).doc
- 9.分离方法(54学时011).ppt
- A REHBILITATION & HEALTH CARE(康复医学与养生保健).ppt
- CIF进口银行快速入门.doc
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
文档评论(0)