- 浏览: 121844 次
- 性别:
- 来自: 武汉
文章分类
最新评论
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>
1.1 问题的解决
程序常常是针对某些要解决的问题和任务而编写的我们来看一个例子某个书店将每
本售出图书的书名和出版社输入到一个文件中这些信息以书售出的时间顺序输入每两
周店主将手工计算每本书的销售量以及每个出版社的销售量报表以出版社名称的字母顺
序排列以使下订单现在我们希望写一个程序来完成这项工作
解决大问题的一种方法是把它分解成许多小问题理想情况下这些小问题可以很容
易地被解决然后再把它们合在一起就可以解决大问题了如果新分割的小问题解决起
来还是太大就把它分割得再小一些重复整个过程直到能够解决每个小问题这个策略
就是分而治之divide and conquer 和逐步求精stepwise refinement 书店问题可以分解
成四个子问题或任务
1 读销售文件
2 根据书名和出版社计算销售量
3 以出版社名称对书名进行排序
4 输出结果
我们知道怎样解决第1 2 和4 个子问题因此它们不需要进一步分解但是第3 个子
问题解决起来还是有些大所以对这个子问题重复我们的做法继续分解
3a 按出版社排序
3b 对每个出版社的书按书名排序
3c 在每个出版社的组中比较相邻的书名如果两者匹配增加第一个的数量删除
第二个
3a 3b 和3c 所代表的问题现在都已经能够解决了由于我们能够解决这些子问题
因此也就能够有效地解决原始的大问题了而且我们也知道任务的原始顺序是不正确的
正确的动作序列应该是
l 读销售文件
2 对文件排序——先按出版社然后在出版社内部按书名排序
3 压缩重复的书名
4 将结果写入文件
这个动作序列就是算法algorithm 下一步我们把算法转换成一种特定的程序设计语
言——在这里是C++语言
发表评论
-
在ubuntu7.10用终端编译运行c++程序
2008-02-27 15:54 1014<script>function StorePag ... -
函数指针大全
2009-01-01 18:44 507<script>function StorePag ... -
1.2 C++程序
2009-05-20 23:16 571<script>function StorePag ... -
C++的预处理器指示符
2009-05-21 22:58 892<script>function StorePag ... -
1.4 注释
2009-05-23 00:05 544<script>function StorePag ... -
1.5 输入输出初步
2009-05-23 23:18 551<script>function StorePag ... -
2.3 基于对象的设计
2009-05-27 22:17 581<script>function StorePag ... -
基于对象的设计(2)
2009-05-28 23:48 499<script>function StorePag ... -
基于对象的设计(3)
2009-05-30 00:51 521<script>function StorePag ... -
基于对象的设计(4)
2009-05-31 02:07 620<script>function StorePag ... -
基于对象的设计(5)
2009-05-31 22:50 673<script>function StorePag ... -
面向对象的设计(1)
2009-06-02 01:44 599<script>function StorePag ... -
面向对象的设计(2)
2009-06-03 00:22 659<script>function StorePag ... -
面向对象的设计(3)
2009-06-03 22:51 599<script>function StorePag ... -
面向对象的设计(4)
2009-06-05 00:05 612<script>function StorePag ... -
面向对象的设计(5)
2009-06-05 23:17 726<script>function StorePag ... -
泛型设计(1)
2009-06-07 00:28 604<script>function StorePag ... -
泛型设计(2)
2009-06-08 01:04 671<script>function StorePag ... -
泛型设计(3)
2009-06-09 01:14 598<script>function StorePag ... -
基于异常的设计(1)
2009-06-10 00:39 532异常exception 是指在运行时刻程序出现的反情形,例如数 ...
相关推荐
在当今这个创新需求日益增长的时代,TRIZ理论及其相关的发明问题解决算法ARIZ,正成为技术革新和工程问题解决中的重要工具。TRIZ是一种由俄国科学家阿奇舒勒(Genrich Altshuller)在研究了数以万计的专利后提出的...
"问题解决型QC-STORY.pptx" 本资源摘要信息是关于问题解决型QC-STORY的知识点,涵盖了QC STORY的定义、类型、管理问题的解决、改善问题的解决、QC STORY的撰写要点、QC思想、PDCA循环、基于事实的想法、重视过程、...
"丰田汽车问题解决技能培训教材-丰田工作方法(PPT 96页)" 本资源是丰田汽车公司出品的培训教材,旨在提高员工的问题解决技能,并介绍丰田工作方法的基本意识和步骤。该教材共96页,涵盖了丰田的问题解决八个步骤...
Apache2 的 Worker 工作模式配置及 MaxClients 不足问题解决 Apache 服务器是当前最流行的 Web 服务器之一,它提供了多种工作模式,包括 Prefork、Worker 和 Event 等。其中,Worker 工作模式是 Apache 2.x 版本中...
海康的网口相机丢包问题解决方法
"计算机各种问题解决 日常电脑问题 详尽解决"这个资源旨在帮助用户从初学者到高手的转变,提供一系列针对日常电脑问题的解决方案。 首先,让我们了解一下电脑问题的常见类别。这些问题大致可以分为系统故障、软件...
ccs5.5常见问题解决
iframe内容页白块及刷新白色背景问题解决,在IE6,IE9上测试通过。
压缩文件 收集的常见的专业问题解决办法.rar 2006-11-01 21:10 94792 91186 常见的专业问题解决办法\CSS语法一览表.pdf 2009-03-05 14:06 155509 34856 常见的专业问题解决办法\html中rel与rev的关系(转载)_我的...
本压缩包文件包含了.NET Framework的三个不同版本:4.0、4.5和4.7,以及针对.NET 4.7版本的阻滞问题解决方案。这些版本在不同的时期发布,每个版本都有其特定的更新和改进。 .NET Framework 4.0是2010年推出的重要...
背包问题问题解决代码。 背包问题问题解决代码。 背包问题问题解决代码。 背包问题问题解决代码。 背包问题问题解决代码。 背包问题问题解决代码。 背包问题问题解决代码。
【美国数学课程中“问题解决”的变化及启示】 美国数学教育在过去的几十年中,尤其是在问题解决的教学法上,经历了显著的变化。全美数学教师理事会(NCTM)自1989年以来,发布了一系列文件,如《学校数学课程与评价...
【大学生合作学习的问题解决过程及其对问题解决水平的影响】 这篇文档主要探讨了大学生在合作学习中解决问题的过程,以及这一过程如何影响他们的问题解决水平。研究采用了认知风格作为分组依据,将学生分为场依存...
深度学习与问题解决在小学数学教育中的融合应用 深度学习作为一种教育理念和学习方式,强调学习者在理解学习的基础上对知识进行深层加工,批判性地学习新的思想和事实,将它们纳入原有的认知结构中,并能够联系不同...
ssm跨域问题解决方案
- 问题解决内容介绍:理解问题解决的基本概念和技术。 - 确认问题:明确需要解决的具体问题是什么。 - 学员考核1:评估参与者对问题解决基本原理的理解程度。 - 去现场找出问题的根本原因:通过实地考察,深入...
9-13问题解决解决9-13问题解决解决
04748 TS16949系列认证培训教程--乌龟图--M08质量问题解决过程(doc).rar
纠正型问题解决工具是一种用于识别、分析和解决已经发生的问题的方法,旨在改善当前状况并防止类似问题再次出现。它强调了对问题的深入理解和解决措施的制定,以确保组织或个人能够从错误中学习并成长。以下是关于...
射频调试方法与常见问题解决办法 本课件涵盖了射频调试方法和常见问题解决办法两大部分。第一部分介绍了射频调试方法,包括粗略调试方法和细致调试方法。粗略调试方法包括目测法、手触摸法、铅笔或镊子一个一个拆掉...