第四章 算法.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
复习与拓展 如何做到“两个变量交换数值” int a = 9, b = 18, t ; t = a; a = b; b = t ; /*运行效果是:a=18 b=9 */ 或者使用下面的语句 t = a, a = b, b = t ; /*这一行是逗号表达式*/ 逗号表达式的值是“最右”表达式的值 复习与拓展 C语言中最短表达式 一个“常数” 一个“变量” 一个“函数调用” 表达式可以作为“语句”用 x = 5 ; x==1?printf(“OK”) : printf(“ERROR”) ; 复习与拓展 条件表达式( ?:) 格式:表达式1 ?表达式2 :表达式3 x==1条件成立,显示OK;否则显示ERROR x==1?printf(“OK”) : printf(“ERROR”) ; 这句的功能是什么??? int a = 9, b = 18 , t ; t = a b ? a : b ; 写一个表达式,使得a总是大于等于b a= b ? 886 : ( t = a, a = b, b = t ) ; 复习与拓展 如何用“条件表达式”完成下面的任务 int x; scanf(“%d”,x); 请根据x的值显示不同的内容: 如果 x = =1,显示“Monday” 如果 x = =2,显示“Tuesday” 否则,显示“ERROR” x==1 ? printf(“Monday”) : (x==2 ? printf(“Monday”) : printf(“ERROR”) ) ; 第四章 算法与结构化程序设计 ——程序的灵魂 构成程序的三种基本结构 顺序结构 选择结构 循环结构 已经证明,任何程序均可只用这三种结构综合描述 只用这三种结构编制的程序,叫结构化程序 程序必须符合结构化规则 实验1 ——原有的“顺序结构” int main() { myself( ); /*调用myself函数*/ ADD( ); /*调用 ADD函数 */ Avg( ); /*调用 ADD函数 */ Compare( ); /*调用 Compare 函数 */ return 0; } 完善实验1的设计 ——改为 “选择”结构 void manage( ) { int x; printf(输入数字1~4:); scanf(%d, x); x==1?myself( ) :(x==2?ADD( ) :(x==3?Avg( ) :(x==4?Compare( ):121 ))); } int main( ) { manage( ); } 教学目标 算法的概念 怎么样表示一个算法 结构化程序设计方法的基本思想 学习要求 掌握: 会用传统流程图表示算法 熟练用N-S流程图表示算法 结构化程序设计方法的基本思想 4.1 算法的概念 所谓算法,就是指为解决特定问题而采取的有限操作步骤。 算法特性: 有穷性 确定性 有效性 输入 输出 4.2 算法的表示 自然语言描述法 流程图描述法 伪代码描述法 N-S流程图描述法 算法举例 问题描述: 求解两个正整数p和q的最大公约数g。 问题的分析: 用辗转相除法(欧几里德算法) 试一试: (128,64)最大公约数g=? (128,48)最大公约数g=? 算法描述(为编程做准备): 1. 算法的自然语言描述 步骤1:获得p 和 q; 步骤2:如果p 和 q 有一个不是正整数,结束; 步骤3:如果pq,则交换p和q; 步骤4:r= p % q;(求余数) 步骤5:如果r=0,则令g=q,结束; 否则令p=q,q=r; 转向步骤4。 3 N- S 图表示法 1973年美国学者I . Nassi 和 B . Shneiderman提出一种新的流程图形式。 N-S流程图符号: 顺序结构:图1-2 选择结构:图1-3 循环结构:图1-4,图1-5 课外作业 问题描述: 求两个正整数 x 和 y 的最小公倍数。 (1)请写出解题思路; (2) 用传统流程框图描述算法步骤 (3)用N-S图描述算法步骤 完善实验1的设计 改变实验1中主函数执行的方式,变“顺序执行”为“选择执行” 添加简单的“循环执行”功能 完善实验1的设计 ——原有的“顺序结构” int main( ) { myself( ); /*调用myself函数*/

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档