![问题求解论题1-4:算法的基本结构PPT课件_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/7/cf1f5c60-bec2-4ae7-b7f8-a8adcd2a2e84/cf1f5c60-bec2-4ae7-b7f8-a8adcd2a2e841.gif)
![问题求解论题1-4:算法的基本结构PPT课件_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/7/cf1f5c60-bec2-4ae7-b7f8-a8adcd2a2e84/cf1f5c60-bec2-4ae7-b7f8-a8adcd2a2e842.gif)
![问题求解论题1-4:算法的基本结构PPT课件_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/7/cf1f5c60-bec2-4ae7-b7f8-a8adcd2a2e84/cf1f5c60-bec2-4ae7-b7f8-a8adcd2a2e843.gif)
![问题求解论题1-4:算法的基本结构PPT课件_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/7/cf1f5c60-bec2-4ae7-b7f8-a8adcd2a2e84/cf1f5c60-bec2-4ae7-b7f8-a8adcd2a2e844.gif)
![问题求解论题1-4:算法的基本结构PPT课件_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/7/cf1f5c60-bec2-4ae7-b7f8-a8adcd2a2e84/cf1f5c60-bec2-4ae7-b7f8-a8adcd2a2e845.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、问题求解论题1-4:算法的基本结构陶先平2021-10-28吃一只汤包的“算法”顺序很重要:将包子从蒸笼中轻轻提起,and then将包子慢慢移动到面前的碟子中,and then在包子的上方咬开一个小口,and then通过小口吸食包子里的汤,and then将包子送入口中完成!顺序,是组织算法的最基本的方法按照算法步骤,顺序书写指令如何理解下面这句话? My second remark is that our intellectual powers are rather geared to master static relations and that our powers to visu
2、alize processes evolving in time are relatively poorly developed. For that reason we should do our utmost to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out in time) a
3、s trivial as possible. -E.W.Dijkstra顺序结构产生最小的gap问题2:但是我们并不只吃一只,怎么办?Bound iteration如果即使饱了,也希望再品尝一个,该怎么办?Unbound iteration问题:你能正确选择采用何种策略设计循环吗?程序中的死循环,一定是什么原因?问题: 如果说顺序、分支和循环构成了算法组织的三个基本结构,那么顺序结构是算法组织的基本中的基本。为什么?嵌套结构:循环嵌套冒泡冒泡排序排序冒泡排序的算法描述关于Goto语句#includestdio.hint main(void) int n=0; printf(input a st
4、ring :n);loop: if(getchar()!=n) n+; goto loop; printf(%d,n); Goto语句#include int main(void) int i, j, k; for (i = 0; i 10; i+) for (j = 0; j 10; j+) for (k = 0; k 10; k+) if (i + j + k = 10) break; printf(%d %d %d, i, j, k); #include int main(void) int i, j, k; for (i = 0; i 10; i+) for (j = 0; j 10;
5、 j+) for (k = 0; k 10; k+) if (i + j + k = 10) goto exit_for; exit_for: printf(%d %d %d, i, j, k);如果不加限制地使用goto语句: 面条式的程序: 文本空间中的程序: 下锅前的面条 运行中的执行序列: 下锅后的面条 难以想象! 文本空间和时间空间上巨大的gap重新阅读下面这句话? My second remark is that our intellectual powers are rather geared to master static relations and that our pow
6、ers to visualize processes evolving in time are relatively poorly developed. For that reason we should do our utmost to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out
7、 in time) as trivial as possible. -E.W.Dijkstra顺序结构、分支结构、循环结构这三种结构产生的gap?Goto结构产生的gap?理解并记住:Why?何为:控制结构的表达能力 Various minimal sets of control structures have been identified, meaning that in certain technical senses other control structures can be replaced by appropriate combinations of those in the
8、minimal set, so that in practice these are the only ones needed.一种新的算法组织方法:子程序(过程,函数)问题:什么情况下,我们会想到用过程来“封装”一段算法? 这是一种自底向上的思维方式什么情况下,我们会想到将一个算法“分解”为若干个“子算法”的联合? 这是一种自顶向下的思维方式两种思维方法的碰撞产生了“结构化程序设计”一种新的算法组织方法:子程序(过程,函数) 过程的优点: 复用 封装 抽象 丰富了算法结构: 顺序、 分支、循环 调用若干问题子程序这么一种算法(或者说程序)的构造和使用方式,其数学基础是什么?从它的数学基础出发
9、,你能够洞悉程序设计中关于子程序的以下概念吗?形式参数、实在参数、传参变量的作用域子程序的副作用递归:自己调用自己的过程它怎么就递归了呢? 定义Move N from X to Y using Z 当N=4时问题:它怎么就递归了呢?XYZ递归:自己调用自己的过程 例题:从一个很长的数列中,怎样找到最大的数?观察: 递归调用自身时,输入的参数相比前一次调用时使用的参数,在值上通常会有什么特点?问题:为什么这个问题能够用递归的方法去做?问题:为什么这个问题能够用递归的方法去做?思考:递归方法和数学归纳法有关联关系吗?如何确定循环过程是正确的?循环不变式(循环不变量): 一个逻辑表达式 该表达式通常可用来表征循环的功能 循环初试时为真 在循环执行过程中始终为“真” 循环结束时,必定为真下例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电器维修公司服务员工作总结
- 埃塞莱米项目安保方案
- 2025年全球及中国乘用车用液力变矩器行业头部企业市场占有率及排名调研报告
- 2025年全球及中国低速型立式加工中心(主轴转速6000-15000rpm)行业头部企业市场占有率及排名调研报告
- 2025年全球及中国屋面高分子防水卷材行业头部企业市场占有率及排名调研报告
- 2025年全球及中国三箱式冷热冲击试验箱行业头部企业市场占有率及排名调研报告
- 2025年全球及中国工业机器人减速马达行业头部企业市场占有率及排名调研报告
- 2025-2030全球智能体测仪行业调研及趋势分析报告
- 2025年全球及中国1P高功率电芯行业头部企业市场占有率及排名调研报告
- 2025-2030全球NRV铝合金微型蜗杆减速机行业调研及趋势分析报告
- 2025年合资经营印刷烟包盒行业深度研究分析报告
- 天津市五区县重点校2024-2025学年高一上学期1月期末联考试题 化学 含答案
- 吉林省吉林市普通中学2024-2025学年高三上学期二模试题 生物 含答案
- 2025年湖南省通信产业服务限公司春季校园招聘76人高频重点提升(共500题)附带答案详解
- 《电影之创战纪》课件
- 2024-2025学年人教版五年级(上)英语寒假作业(一)
- 开题报告-铸牢中华民族共同体意识的学校教育研究
- 2025届贵州省六盘水市第二中学高三适应性调研考试数学试题含解析
- 人教版高一数学上册期末考试试卷及答案
- 安全学原理第2版-ppt课件(完整版)
- 机动车登记证书
评论
0/150
提交评论