`
superwulei
  • 浏览: 108100 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

从一个C程序学“逐步求精”的分析方法

阅读更多

大学最后一年了,C、C++、VB、VB.NET、Java、C#等等几乎什么语言都被老师教过一遍了,但是在学校里面什么语言老师都不会给你讲的很深。这些语言虽然都是学校设置的课程,但上了这么多年大学了,我觉得老师讲的这些语言基本上都是大同小异。老师讲每一种语言都是讲它的数据类型、三种控制语句(顺序、分支和循环)、函数;像面向对象的语言中还会给你讲讲类、对象、继承、多态。其实我倒是觉得大学开两门编程语言课就够了,一门是面向过程的C语言,一门是面向对象的Java或者C#。将那么多语言真的是浪费时间,倒不如用这些时间深入的讲一讲这些语言,比如C语言的各种类库以及图形编程、面向对象开发中的设计模式等等。

最近在看《The Art and Sience of C》的中文版,我都已经是大学即将毕业的学生了,真是觉得有些晚。不过现在开始加倍努力,一个月看完这本书,好好研究一下面向过程编程语言的真谛。之所以这样做是因为我个人认为,在面向OOD的类方法设计中许多还会用到面向过程的设计方法,还有许多抽象方法都来源于面向过程的设计思想,因此面向过程的设计方法是面向对象设计方法的基础,只有扎扎实实的牢固这个基础我才能更好的编写出高性能的C#代码。

废话少说,切入正题。用了一周的时间,我已经看到了第5章“函数”,这其中有一个重点是掌握“逐步求精”的设计方法。原来在《How to Program C》中文版中也曾学习过这一方法,大学的时候老师也将了,但是那个时候都是用文字描述的方法来实现“自顶而下,逐步求精”的,但我那个时候怎么也无法掌握着一个方法。在学校里,每一次上实训课我就特别讨厌画数据流图(要从顶层画到一层),因为我无法掌握“逐步求精”的设计思想,因此我从不认为自己画的数据流图是正确的。然而,《The Art and Sience of C》书中却不是使用文字描述来实现“逐步求精”的分析的,书中巧妙的使用一个打印日历的程序讲述了如何实现“逐步求精”的方法。

 

 

  • 首先,编写main主函数,从整体的角度出发,不考虑细节。在编写主函数的时候可能会想到编写一些自定义函数来实现程序,但是不要考虑这些函数是如何实现的,只需要将这些函数声明并在主函数中直接调用即可。待主函数编写完成,程序的整体就设计完成了。
  • 第二,从细节考虑,实现自定义函数。编写自定义函数的时候就如同编写主函数一样,如果在自定义函数中还要使用某些自定义函数直接调用并声明,然后编写完自定义函数后再定义函数即可。通过这个打印日历的程序,我领悟了“逐步求精”的思想。这就如果一个树一样,不是二叉树,是多叉树。 

先从整体的角度考虑如何实现程序,不考虑细节;然后依次从“树根”滋生出细节;最后形成一个茂盛的“树”,从而实现整个程序。

这一思想使我领悟了很多,我想以后构架实训中的系统时,写文档时都可以采用这一思想了。

分享到:
评论

相关推荐

    基于培养学生信息素养和终身学习的《C语言程序设计》教学.pdf

    教师在授课过程中应注意讲解结构化程序设计的思想,突出程序的质量首先取决于它的结构,程序设计的基本方法是自顶向下的逐步求精和模块化。 6. “面向对象程序设计”思想是一种实用的程序设计方法。教师应将“面向...

    C语言程序设计(郑莉)课后习题答案.doc

    本资源是郑莉编写的《C语言程序设计》课后习题答案,包含了计算机程序设计语言的发展历程、面向对象的编程语言、结构化程序设计方法、对象和面向对象方法、封装、面向对象的软件工程、计算机内部的信息分类、二进制...

    《C语言程序设计》课程教学方法的探讨 (1).pdf

    因此,在教学过程中要始终贯穿结构化程序思想,利用流程图、N-S图和PAD图分析问题、解决问题,理解逐步求精、自顶向下的结构程序设计方法,培养学生用结构化程序设计方法思考问题。 以模块化设计作为后半学期...

    C程序设计Ch 分支实用PPT学习教案.pptx

    这种方法包括三个核心原则:模块化(将大问题分解为小模块)、自顶向下(从整体到细节的设计)和逐步求精(逐渐完善每个模块)。结构化程序由顺序、选择和循环三种基本结构组成,每个程序块只有一个入口和一个出口,...

    (完整版)《C语言程序设计》教学大纲.doc

    4. 掌握 “自顶向下、逐步求精”这一结构化程序设计的基本方法,并将之应用于程序设计实践。 5. 学会运用 C 语言进行较复杂的程序设计,解决一些实际的应用问题。独立完成有一定工作量的程序设计任务,同时强调好的...

    程序设计方法学课件下载

    2. 面向过程的程序设计:自顶向下,逐步求精,通过模块化实现复杂问题的分解。 3. 面向对象的程序设计:以对象为核心,强调封装、继承和多态,提高代码复用性。 4. 面向组件的程序设计:重视软件组件的重用,简化...

    c语言学习-c语言第章.pptx

    设计一个简单的通讯录管理程序,可以将其分解为主控模块、菜单模块、添加模块、删除模块、修改模块、显示模块和保存模块,再进一步细化每个模块的功能,如查找、插入、删除、修改等,最终将这些模块转化为C语言的...

    C语言程序的基本结构及上机步骤PPT课件.pptx

    - **算法设计**:通过逐步求精的方法设计算法。以求全班学生的平均成绩为例,可以分为以下几个步骤: - 初始化变量。 - 输入数据并进行相应的处理。 - 计算平均成绩并输出结果。 - **伪代码**:使用类似自然语言...

    C语言程序设计单元测试及考试答案.pdf

    结构化程序设计原则包括程序模块化、逐步求精和自顶向下设计,而不限制`GOTO`语句的使用违背了这一原则,因为它可能导致程序结构混乱,不利于维护和理解。 计算机程序是计算机执行指令的有序集合,它们只能完成...

    C 语言程序设计 课后习题答案.doc

    本资源是关于C语言程序设计的课后习题答案,涵盖了计算机程序设计语言的发展历程、面向对象的编程语言、结构化程序设计方法、对象和面向对象方法、封装、面向对象的软件工程等重要概念。 从计算机程序设计语言的...

    C语言程序设计课后习题答案章节练习题1-11章全含原题.doc

    (3)结构化程序的分析方法 结构化程序设计对问题采取所谓的“自顶向下,逐步求精”的方法进行分析。(4)模块化设计模块化设计采取分治策略,将一个复杂的任务划分成若干基本模块,然后再对每一个模块进行具体化,...

    C语言程序设计阶段式分层实验教学研究.pdf

    《C语言程序设计阶段式分层实验教学研究》这篇论文主要探讨了在C语言程序设计教学中,如何通过阶段式分层实验教学方法来解决传统教学模式中的问题,以提高学生的学习效果和实践能力。 首先,传统的C语言教学模式...

    c语言课程设计--运动会分数统计系统.doc

    系统的设计需要考虑到结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决实际的问题。同时,需要考虑到用户界面友好、使用方便、程序精炼和结构清晰等方面。 本系统的设计目标是为了全面熟悉、掌握...

    C语言程序设计郑莉课后习题答案.doc

    构造化程序设计方法是一种自顶向下、逐步求精的设计方法,该方法将程序构造分解为多个模块,每个模块都是由顺序、选择和循环三种根本构造组成。构造化程序设计方法的优点是: * 能够将一个较复杂的程序系统设计任务...

    c语言程序设计郑莉课后习题答案.pdf

    结构化程序设计方法的思路是自顶向下、逐步求精,程序结构是按功能划分为若干个基本模块,各模块之间的关系尽可能简单,在功能上相对独立,每一模块内部均是由顺序、选择和循环三种基本结构组成。结构化程序设计由于...

    C语言研究性学习的路线.docx

    此外,还需要掌握“自顶向下,逐步求精”的分析方法,体会其特点。在学习C语言时,需要通过实践体会这种排序方法“先进性”,更重要的是引导大家发现“重复性”,为用“循环”解决这个问题埋下伏笔。

    C语言程序设计单元测试及考试答案.docx

    C语言是一种广泛使用的...通过这些测试题目,我们可以看到C语言程序设计的基础知识,包括语言特性、程序结构、数据类型、运算符、算法分析和程序设计原则等多个方面。掌握这些基础知识对于学习和使用C语言至关重要。

    二级C语言程序设计考试大纲

    4. **结构化程序设计**:掌握逐步求精的方法,遵循“先考虑整体,再考虑细节”的原则。 5. **软件工程**:了解软件开发的基本过程,包括需求分析、设计、编码、测试和维护,以及软件质量保证的重要性。 6. **数据库...

    C语言程序设计第二版ppt课件(完整版).ppt

    - 结构化编程:支持顺序、分支和循环三种基本结构,便于使用“自顶向下逐步求精”的编程方法。 - 中级语言:结合了高级语言的抽象性和汇编语言的控制性,既具备高级语言的易用性,又能进行底层硬件操作。 - ...

Global site tag (gtag.js) - Google Analytics