编程盖房子
㈠ 什么是程序设计
程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。
程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。
任何设计活动都是在各种约束条件和相互矛盾的需求之间寻求一种平衡,程序设计也不例外。
在计算机技术发展的早期,由于机器资源比较昂贵,程序的时间和空间代价往往是设计关心的主要因素;随着硬件技术的飞速发展和软件规模的日益庞大,程序的结构、可维护性、复用性、可扩展性等因素日益重要。
(1)编程盖房子扩展阅读
程序设计的步骤:
1、分析问题:
对于接受的任务要进行认真的分析,研究所给定的条件,分析最后应达到的目标,找出解决问题的规律,选择解题的方法,完成实际问题。
2、设计算法:
即设计出解题的方法和具体步骤。
3、编写程序:
将算法翻译成计算机程序设计语言,对源程序进行编辑、编译和连接。
4、运行程序,分析结果:
运行可执行程序,得到运行结果。能得到运行结果并不意味着程序正确,要对结果进行分析,看它是否合理。不合理要对程序进行调试,即通过上机发现和排除程序中的故障的过程。
5、编写程序文档:
许多程序是提供给别人使用的,如同正式的产品应当提供产品说明书一样,正式提供给用户使用的程序,必须向用户提供程序说明书。内容应包括:程序名称、程序功能、运行环境、程序的装入和启动、需要输入的数据,以及使用注意事项等。
㈡ 如果把编程比喻成盖房子。
我觉得比喻相当不恰当。如果确实这么比喻,那我愿意住面向过程的房子。
首先,房屋的整体性很强,你把它分割开来考虑和计算本身就很困难,如果是胡乱分割,那还不如不分割。
其次,面向过程和工具的关系也搞不清楚,我不明白为什么面向过程就是统一工具。
实际上,面向对象和面向过程各自有各自的优势。很多事情自有适合的方式,不恰当的比喻会使得问题越来越复杂。
有些典型的问题是可以多个方面去考虑的,比如象棋:
A:如果从面向过程去说,那应当是,轮流移动上来考虑,即你做了一个动作以后,对方会怎样。
B:如果从面向对象上来说,每一个棋盘上的子都是一个对象,他们都有自己的移动方式,在每一个特定的棋局中,有存在很多对它造成威胁的势力和它可以威胁到的棋子。……
使用面向对象的方式,会使得很多很复杂的问题有一个比较简单的解决方法。但是实际上,问题的复杂程度不会因为你的思考方式的改变而改变,复杂程度本身是不变的。因此,面向对象并不能改变软件本身的复杂性。