序言
计算机是20世纪最伟大的发明之一。如今,计算机对于人类社会生活的巨大改变作用已日益显现,越来越多的人开始学习使用计算机。
要让计算机实现人的愿单,更好地完成人交给的仟务,就必须先告诉计算机该如何去做,这就要编写计算机程序,即用一种计算机可以理解的语言告诉它如何工作。如何编写程序来让计算机工更多的事,获得更好的结粜,是许多人日思夜想的事情。
一直以来,关于如何讲授面向大学生的程序设计基础课程,许多人争论的焦点放在了语方选择上,把讲授的重点放在了语言的语法规则介绍上。从短期看,这样做便于学生学,当然更便于教师教。但从长期看,我们发现,越是注重以语法来衡量学生对语言的“掌握”程度,就越是忽略程序设计真正实用的基本思维方式和方法,最后越是导致学在学习了一学期之后,满脑子除了一些语法知识,几乎没有任何分析解决实际问题的技能。
人类的自然语言有千百种,归根结底都是人类思想交流、记录的工具。计算机语言同样也是对解决具体问题的算法思想的表达工具。表达的形式(程序设计语言)千差万别,但表达的内容(算法)则是殊途同归。这样看来,程序设计基础课程教学的核心目标,应该是让学生学习和掌握对于实际问题,如何分析和设计解决它们的算法。程序设计语言本身,应该只是在最后用来描述算法的一种工具。
既然如此,在脱离具体语吉之后,如何来学习程序设计的基础呢?本书正是这样一本教材:它围绕程序设计初学者面对的中心问题——如何构思算法——来介绍程序设计中的主要基本概念和设计方法,包括“程序设计开发的过程、选择结构、最复结构、数组、文件”等,也包括主要的基本算法、冒泡排序、串行搜索,并通过很多生动有趣的例子进行讲解。同时,在算法域终描述时,以VB 与 C++为例,对一些程序进行对比实现。这种安排,既让学生可以在与语言无关的算法介绍中学习算法思想,义使他们不至于陷入只有伪代码的纸上谈兵。
该书各章、各节后面配有丰富的练习题,很有针对性,非常适合初学编程的读肯学习。
另外,网上配套资源也很实用,方便读者自学。
本书前三章和术语表由邬晓钧翻译,其余各章节山徐明星翻译。由于译者水甲有限,对原文一些地方的把握难免有不妥之处,恳请广大读者批评指正。
文摘
60年以前,孩子们听父母描述没有汽车、没有电、没有电话的生活会感到非常惊讶。现在,孩子们听父母描述没有电子游戏、没有手机、没有GPS系统、没有计算机的生活感到惊讶。60年前没有计算机,而现在我们每天都使用计算机。家里、学校里、办公室、超市、快餐店、飞机和航天器中都有计算机。在我们的手机、计算器和汽车自动门中也都有计算机。我们可以把它们放在背包、衣服口袋和钱包里。不管年轻人还是年长者,摄影师还足农民,银行家还是棒球经理,都在使用计算机。在教育、通信、娱乐、财务管理、产品设计和制造、企业和机关事务的几乎任何地方,我们都通过各种各样复杂的软件(程序)来使用计算机。
· · · · · · (
收起)