C++程序设计实践学材系列(23)——1.5.3 体会“自顶向下,逐步求精”思想

简介: 回到系列文章的目录——[系列文章目录]  回到本章目录——[第1章目录] 1.5.3 体会“自顶向下,逐步求精”思想  接下来,我们的胃口开始大了。  提出来一种考虑问题的思路,其实已经蕴涵在例1.7输出7行星号的程序中了。  这种解决问题的思维方式是——“自顶向下,逐步求精”。  要输出的是:  写出的程序(例程ch1-13.cpp),循环7次。每次的循环,输出1行。因此,输出了7行,

回到系列文章的目录——[系列文章目录]  回到本章目录——[第1章目录]

 

1.5.3 体会“自顶向下,逐步求精”思想

  接下来,我们的胃口开始大了。
  提出来一种考虑问题的思路,其实已经蕴涵在例1.7输出7行星号的程序中了。
  这种解决问题的思维方式是——“自顶向下,逐步求精”。
  要输出的是:
  写出的程序(例程ch1-13.cpp),循环7次。每次的循环,输出1行。因此,输出了7行,如下面左侧的代码所示。
   
  这时再多想一些,输出一行方面可以动些脑子。于是在循环里面,又加了一个循环(例程ch1-15.cpp),如上面右侧的代码所示。
  相对而言,左侧就是一个项层设计,体现了整体到细节的思维。从宏观上,这个图就是有7行。将图看成是一个整体,再看出了有7行,于是写出这样的代码顺理成章。
  右侧是左侧的细化。这时,输出7行的结构已经确定,思维的角度落实在更具体的、规模更小的问题上来了:考虑怎么输出一行的问题。
  显然,输出一个星号图的问题,要比输出一行星号复杂。我们借助着“自项向下”,掌握住了思考这个问题的节奏,在“逐步求精”中,清晰地给出了问题的解答。“自顶向下,逐步求精”的思维,不至于让你看到一个星号图就是一堆星号,以至于狗咬刺猬,无从下口。
  问题变得更复杂的时候,这种“有节奏的思考”成了解决问题的关键,能够帮助你做好顶层设计,再逐级落实,直到给出最直接的实施方案。所谓程序设计要有逻辑思维,那只是战术层面的事了,这种战略层面的思维并不常被人提到。
  有初学者哀叹:“我就没有逻辑思维,我就没有设计能力。”其实,还可以列举出一大堆来。这样的叹息带来强烈的负面情绪,以致于事情无法进展。事实上,多虑了。每一位程序设计的专业人员者是从初学者而来的,大家都是从零基础起步的。学习不是应聘,不是因为你有了什么能力才要你来做这个事。学习的目的在于提高,因为你不具备某些思维方式和能力,所以才来学习。
  学习程序设计,学到的并不只是一项“手艺”,里面蕴藏着不少通用的道理,并且,程序设计的实践,能够使人将这样的道理,转变成思维的习惯。
  将来,你有可能是一个单位的高级技术人员或管理人员。之所以高级,是要负责一些很大的事情,做低级职务的人不能做的事。你负责的事,无论是技术工作还是别的,需要很多人完成。在程序设计实践中练就的“自顶向下,逐步求精”习惯,将是真正的依靠。你首先想到的不应该是鸡毛蒜皮的小细节,而是条缕分明地厘出大格局,据此分解任务交给下属负责,甚至细节该如何完成不用你做,也不用你想。
  所以,有人说,大学,学的是思维方式。抽象的思维方式要通过具体的学习载体传达和表现。如果有人对专业心怀成见,若无更好的变通,也请静心下来。大道可以从每个学科中得来,为何不从正在学习的程序设计中得到更多的启发和训练呢?


回到系列文章的目录——[系列文章目录]  回到本章目录——[第1章目录]

目录
相关文章
|
1月前
|
存储 C++
【C++篇】C++类和对象实践篇——从零带你实现日期类的超详细指南
【C++篇】C++类和对象实践篇——从零带你实现日期类的超详细指南
24 2
【C++篇】C++类和对象实践篇——从零带你实现日期类的超详细指南
|
1月前
|
存储 编译器 C语言
C++类与对象深度解析(一):从抽象到实践的全面入门指南
C++类与对象深度解析(一):从抽象到实践的全面入门指南
47 8
|
2月前
|
C++
c++继承层次结构实践
这篇文章通过多个示例代码,讲解了C++中继承层次结构的实践应用,包括多态、抽象类引用、基类调用派生类函数,以及基类指针引用派生类对象的情况,并提供了相关的参考链接。
|
5月前
|
关系型数据库 MySQL 测试技术
技术分享:深入C++时间操作函数的应用与实践
技术分享:深入C++时间操作函数的应用与实践
46 1
|
5月前
|
C++
C++ : 程序设计简单实例
C++ : 程序设计简单实例
42 3
|
5月前
|
安全 C++
C++:程序设计实例
C++:程序设计实例
52 2
|
5月前
|
C++
C++解决线性代数矩阵转置 小实践
【6月更文挑战第3天】C++解决线性代数矩阵转置
68 2
|
5月前
|
存储 算法 安全
用C++打造极致高效的框架:技术探索与实践
本文探讨了如何使用C++构建高性能框架。C++凭借其高性能、灵活性和跨平台性成为框架开发的理想选择。关键技术和实践包括:内存管理优化(如智能指针和自定义内存池)、并发编程(利用C++的并发工具)、模板与泛型编程以提高代码复用性,以及性能分析和优化。在实践中,应注意代码简洁性、遵循最佳实践、错误处理和充分测试。随着技术发展,不断提升对框架性能的要求,持续学习是提升C++框架开发能力的关键。
109 1
|
5月前
|
C++
C++程序设计实践一上(题目来自杭州电子科技大学ACM)
C++程序设计实践一上(题目来自杭州电子科技大学ACM)
34 2
|
5月前
|
C++
C++程序设计实践一下(题目来自杭州电子科技大学ACM)
C++程序设计实践一下(题目来自杭州电子科技大学ACM)
43 1
下一篇
无影云桌面