- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计,就是这样——如何学习程序设计(完整版)【过程化设计方法】
有许多网友都曾迷惑地问我:“怎么样才能学好程序设计?”,这不是一两句话能说清楚的,于是我就写了这篇文章,给广大爱好者一个能解惑的方法,无论你是什么样的“鸟”相信都能在这篇文章里找到你想要的
什么是程序设计
话就从一个著名的公式说起:程序设计=数据结构 算法
每当我写下这个公式的时候,心中总有一种新的感悟,可是就这个程序界尽人皆知的公式却难倒了一大批想和Bill·Gates一争高下的朋友,下面我为大家解剖这个公式:
“程序设计”说白了就是大家所谓编程,先不管这个词中有什么深刻的内涵,先看看等式右面的这两个名词。
按照官方的定义:数据结构即非数值计算的程序设计问题中的计算机的操作对象以及它们之间的关系和操作;算法是对特定问题求解步骤的一种描述,是对指令的有序序列。官方的解释就是经典,可是我们看了却更糊涂了。别急,听我给大家解释。
程序设计就像盖房子,数据结构就像砖、瓦,而算法就是设计图纸。你若想盖房子首先必须有原料(数据结构),但是这些原料不能自动地盖起了你想要的房子;你必须按照设计图纸(算法)上的说明一砖一瓦地去砌。这样你才能拥有你想要的房子。程序设计也一样,你使用的编译工具(如Jave /C/Basic/Pascal等)中有各种功能语句或基本结构(如Read/Write/Real/Boolean等),它们不会自动排列成你要的程序代码。你得按照程序规定的功能去编写,而程序的功能是实现就是算法的具体体现。所以通俗地说:你必须按照特定的规则,把特定的功能语句和基本结构按照特定的顺序排列起来,形成一个有特定功能的程序,这就是:程序设计=数据结构+算法。 数据结构是程序设计这座大厦的基础,没有基础,无论设计有多么高明,这座大厦不可能建造起来的。算法则是程序设计的思想,它的灵魂!没有灵魂的程序不能叫程序,只是一堆杂乱无章的符号而已。在程序设计中,数据结构就像物质,算法就是意识。这就像哲学上说的:意识是依赖与物质而存在的,物质是由于意识而发展。双方是相互依存、缺一不可的!
数据结构内容不多仅仅有几个系统自带的基本结构(像顺序结构、分支结构、循环结构、函数过程)数据类型(整型、实型、布尔、字符等)和用户定义的高级点的数据结构(数组、集合、文件、指针(队列、栈、树、图等)······)就这么多。可是算法却不同了,它是多中多样的!它可以让你让数据以你想要的方式排列(当然要符合语法和功能要求^_^)。再打个比方,数据结构是人体的各种组织、器官,算法则是人的思想。你可以用你的思想去支配你身体的各个可以运动的器官随意运动。如果,你想去取一个苹果,你可以走过去,也可以跑过去,只要你想,你甚至可以爬过去。但是无论如何,你你的器官还你的器官(没有变),目的还是同一个目的(取苹果),而方式却是随心所欲!这就是算法的灵活性,不固定性。因此可以这样说:数据结构是死的,而算法是活的!现在明白许多了吧!GO ON
怎样学习程序设计
上面说了许多数据结构的在程序设计中重要性,所以努力学习好数据结构是学好程序设计的第一步,也是关键的一步。你初学起来一定会觉得难,枯燥(其实我当时也是这么想的 ^_^),什么标准文件、标准类型、标准函数、标准过程搞的你烦不胜烦。于是,就有许多初学者就厌倦了,停滞不前了,退缩了。你若是想编好程序的话就想:难道就这么一点点小困难就难倒我了吗?我还要挑战Bill·Gates呢?我一定能行,相信自己,一定会闯过这一关的!这样以来,你就具备了程序员最基本的素质——毅力。这一点是程序员必备的,否则在后面开发程序的漫长时间里,你会熬不住的。而且只有这样你才能静下心来学习。这一端时间没有什么捷径,只有多看书、多练习,把所有结构和类型的用法都找掌握牢固。不懂就要问,可以去 [URL=quot;/expert/forum.aspquot;][UCSDN技术社区 [/URL]。最好呢,有一位老师指引,这样比自己在这条路是摸黑前进强多了,而且往往还事半功倍。切记!只要跨出了第一步,以后就容易多了,万事开头难嘛!一定要坚持,当你过了这一端时间以后,你就发现程序设计根本没有你想象的那样难。当你把所有的东东都学会时,程序设计的大门已经向你敞开了一扇,而另一扇就是······
算法,这个是程序设计的重点,也是难点。许多菜鸟和老鸟的区别主要在对算法掌握的熟练程度上面。有许多朋友曾这样问我:“我数据结构上面的都学会了,也知道该怎么样用,可是我为什么还是在编程时,不知道该怎样用呢?其实,这就是缺少算法思想的一个具体
文档评论(0)