计算机程序设计概述.docx

上传人:b****3 文档编号:1211481 上传时间:2022-10-19 格式:DOCX 页数:14 大小:80.92KB
下载 相关 举报
计算机程序设计概述.docx_第1页
第1页 / 共14页
计算机程序设计概述.docx_第2页
第2页 / 共14页
计算机程序设计概述.docx_第3页
第3页 / 共14页
计算机程序设计概述.docx_第4页
第4页 / 共14页
计算机程序设计概述.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

计算机程序设计概述.docx

《计算机程序设计概述.docx》由会员分享,可在线阅读,更多相关《计算机程序设计概述.docx(14页珍藏版)》请在冰豆网上搜索。

计算机程序设计概述.docx

计算机程序设计概述

计算机程序设计概述

1.1计算机与程序

1.1.1功能强大的计算机

计算机是20世纪人类最伟大的发明之一,它的发展历史可以追溯到中国古代的算盘。

算盘是一种辅助计算工具,人们在进行算术运算的时候,无需复杂的心算,只要使用一些固定的口诀来拨弄几下算珠,就可以把答案算出来。

1642 年,法国物理学家帕斯卡利用机械齿轮原理,发明了第一部能计算加减法的计算机。

1671 年,德国数学家莱布尼兹发明了一种能作四则运算的手摇式计算机,这些工作都是早期的机械式计算机的代表。

20世纪初,随着电子管的出现,计算机有了新的发展。

1946 年,由于第二次大战的军事需要,美国宾夕法尼亚大学和有关单位研制成功了第一台真正意义上的电子计算机——电子数字积分仪与计算机(ElectronicNumericalIntegratorandComputer,ENIAC)。

几十年过去了,计算机取得了迅猛的发展,其使用的元件也经历了四代的变化:

第一代的电子管、第二代的晶体管、第三代的集成电路和第四代的大规模集成电路。

如今,电子计算机的功能已不仅仅是计算,它已渗入了人类的活动领域,成为人们工作和生活中必不可少的工具。

在我们的周围,有着各种各样的计算机,如笔记本计算机、台式机、个人数字助理(PDA)、小型机和大型机等。

现代计算机的功能非常强大,能够为人类做许许多多的事情。

比如说,在中国古代,一些书香门第或官宦家庭,为了培养一个人的人文素养,通常都要求他掌握4项基本的技能,即琴、棋、书、画。

对于这4项技能,如果能做到样样精通,那么就是一个高雅的人,是一名文人雅士。

当然,对于现代人来说,在

“分数压倒一切”的背景下,不要说精通这4项技能,只要会

其中的一项就很不容易了。

但是计算机就能够做到样样精通。

首先是弹琴,这对于计算机来说是小菜一碟,计算机合成的音乐很早以前就有了。

其次是下棋,这更是计算机的强项,计算机不仅能够下棋,而且下得非常好。

1997年的5月,由IBM公司开发出来的“深蓝”计算机,就战胜了当时的国际象棋世界冠军卡斯帕罗夫。

卡斯帕罗夫是俄国人,曾被认为是有史以来最厉害的棋手之一,但他却被计算机给打败了。

当然,古人所说的棋指的是围棋,而围棋比象棋要复杂得多,所以在这个方面,计算机还很难有大的突破。

第三种技能是书法,这对于计算机来说,是再简单不过的了,什么样的字体它都能打印出来,如宋体、楷体、隶书等。

第四种技能是画画,这也不是什么难事,在计算机的控制下,能够在布匹上刺绣,甚至还能编织任意图案的毛线衣!

除了琴棋书画,计算机还能做到听说读写。

所谓的“听”,指的是语音识别技术,也就是说,人对着计算机说话,然后计算机就会把这些语音信号转换成相应的文字。

比如说,读者需要把一篇稿子录入到计算机当中,但是又不想通过键盘输入,因为通过键盘输入得太慢、太辛苦了,这时就可以使用语音识别软件。

你只要对着话筒把这篇稿子念一遍,它就被录入计算机了,非常的方便。

当然,这只是一种理想状态,而实际的语音识别软件目前还做不到这么完美,它们的识别正确率还达不到百分之百。

但即便如此,这项技术在文字录入、身份认证等领域还是得到了广泛的应用。

所谓的“说”,指的是文语转换技术(Text-To-Speech,TTS)。

它和语音识别正好相反,一个是把声音变成文字,另一个是把文字变成声音。

比如说,我们上网去看今天的新闻,但是又不想用眼睛去看,因为看得比较累,这时就可以使用TTS技术,让计算机把新闻念给你听。

再比如,我们都知道英国著名的理论物理学家霍金,他是一个全身瘫痪的人,除了大脑以外,身体的其他部分都是处于肌肉萎缩状态,连说话都不行。

那么他是如何与别人交流的呢?

就是通过TTS技术。

当他想要说话的时候,就用手指尖去操作一台计算机,输入他想要说的话,然后,计算机就采用TTS技术,把这句话转换成语音播放出来。

TTS系统的关键指标是自然度,一般来说,计算机合成出来的声音不是很好听,语调比较生硬。

就像电影《星球大战》中的机器人C-3PO,说起话来有点怪声怪气的。

当然,现有的TTS技术已经取得了长足的进展,已经能够合成出比较好听、比较自然的声音。

所谓的“读”,指的是自然语言理解,也就是说,对于一段自然语言文字(如中文、英文等),计算机能够看懂它的意思是什么。

自然语言理解有很多的应用,如机器翻译,能够把一种语言的文字翻译成另一种语言;再比如因特网上的基于内容的智能搜索。

我们可以向计算机提出各种问题,如“北京有什么好玩的地方?

”,计算机能够看懂这句话的意思,然后经过搜索,就会把北京的一些旅游景点列出来,如故宫、颐和园、圆明园及长城等。

所谓的“写”,就是说,计算机能够自动写作文。

这其实也不是什么太难的事情,一般的做法是去搜集很多写得比较好的句子,然后把它们拼接在一起即可。

曾经有人对某个国际学术会议的组织者表示不满,认为他们盲目扩大会议规模,而忽视了论文质量的审查。

于是他就开了一个玩笑,把一篇计算机自动生成的

“论文”提交给该会议,后来这篇论文居然被录用了。

那么,计算机为什么能够做这么多的事情呢?

是不是它的内部结构非常复杂,比人的大脑还要复杂?

答案是否定的。

实际上,计算机的工作原理非常简单。

从本质上来说,计算机是一种用来处理数据的通用机器。

它所能够做的事情只有一件——计算。

因此,从某种意义上来说,可以把计算机看成是一个超级计算器。

图1.1是计算机硬件的体系结构图。

一般来说,一台计算机主要由三个部件组成,中央处理器(CentralProcessingUnit,CPU)、内存(memory)和各种输入输出(Input/Output,I/O)设备,如显示器、键盘、磁盘和鼠标等。

其中,CPU是计算机的“心脏”,所有的计算都是在CPU上进行的;内存是计算机的“大脑”,当计算机在运行时,所有的信息都存储在内存当中,包括指令和数据;而I/O设备是计算机的“手脚”和“五官”,对于用户来说,正是通过这些I/O设备来与计算机打交道。

那么计算机是如何来工作的呢?

很简单,就是从内存当中,取出一条指令,放在CPU上去运行。

这条指令可能是一条算术运算指令,对两个数据进行加、减、乘、除;也可能是一条内存访问指令,去内存存储或读写数据;也可能是一条数据比较指令或控制指令。

当这条指令执行完以后,系统又从内存当中取出下一条指令,放在CPU上去运行。

就这样一条指令接一条指令地运行,直到程序运行结束。

这就是计算机工作的整个过程。

那么指令和数据是怎么样从内存跑到CPU上去的呢?

它们是坐“公共汽车”(bus)去的。

当然,这只是一个玩笑。

实际上这里的英文单词Bus,在中文里一般翻译为总线,指令和数据就是通过总线进入到CPU的。

图1.1计算机体系结构图

通过刚才的介绍可以知道,计算机的工作原理其实是非常简单的,它就是在那里不断地执行指令,不断地计算。

那么,为什么这么简单的工作原理,却能够完成那么多不可思议的任务呢?

原因主要有两个,首先,计算机的运算速度非常快。

比如说,如果让我们去心算一下53×7等于多少,那么我们可能需要1秒钟左右的时间才能给出正确的答案,但是对于奔腾Ⅲ系列的CPU来说,它只需要十亿分之一秒就够了。

“深蓝”之所以能够战胜卡斯帕罗夫,就是因为它算得实在是太快了,每秒钟能够算2亿步。

这样,不管你采用什么招法,它只要进行遍历式搜索,把各种可能的走法都算一遍,然后从中选择一个最佳的走法即可。

当然,在围棋方面计算机还暂时没有太大的突破,原因很简单:

围棋的棋盘有19

×19个格子,361个点,每个点有3种可能,即黑棋、白棋或空白,这样,棋盘的每一个状态就有3361种可能,这是一个天文数字。

除了运算速度快,计算机的第二个优点在于它的精度非常高,它可以不知疲倦地在那里计算,而且不会出错。

例如,根据一项统计数据,计算机在访问磁盘的时候,每隔10亿个数据位才可能会发生一个错误。

所以说,计算机的工作原理虽然很简单,但由于它速度快、精度高,所以能够实现很多不可思议的功能。

虽然计算机的功能非常强大,但需要指出的是,计算机并不能直接帮助人们去解决问题。

因为人们在描述这些问题的时候,采用的都是人类的自然语言的形式,而不是机器指令的形式,这样的话,计算机就听不懂人们所说的话,更不知道该去做什么。

比如说,假设我们想要知道1加1等于多少,那么我们不能拿起话筒,然后对一台计算机说:

“计算机,请你告诉我,1加1等于多少?

”这样做是不行的,计算机根本就不会搭理你,因为它听不懂你说的话,不知道你想要的是什么。

那么我们要怎么做,才能够让计算机来帮助我们解决这个问题呢?

答案就是计算机程序!

1.1.2计算机程序

所谓的计算机程序(computerprogram),就是计算机能够识别、执行的一组指令。

如前所述,人们正是通过编写程序(programming)来让计算机帮助我们解决各种各样的问题。

这个过程一般可以分为以下的4个步骤。

(1)需求分析。

当我们拿到一个问题以后,首先要对它进行分析,弄清楚我们的核心任务是什么,输入是什么,输出是什么等。

比如说,假设我们要编写一个程序,实现从华氏温度到摄氏温度的转换。

显然,对于这个问题来说,输入是一个华氏温度,输出是相应的摄氏温度,而我们的核心任务就是如何来实现这种转换。

(2)算法(algorithm)设计。

对于给定的问题,采用分而治之的策略,把它进一步分解为若干个子问题,然后对每个子问题逐一进行求解,并且用精确而抽象的语言来描述整个的求解过程。

算法设计一般是在纸上完成的,最后得到的结果通常是流程图或伪代码的形式。

例如,对于上述的温度转换问题,我们可以设计出如下的算法:

①从用户那里输入一个华氏温度F;

②利用公式,计算出相应的摄氏温度C;

③把计算出来的结果显示给用户看。

(3)编码实现。

在计算机上,使用某种程序设计语言,把算法转换成相应的程序,然后交给计算机去执行。

如前所述,我们只能使用计算机能够看懂的语言来跟它交流,而不能用人类的自然语言来命令它。

(4)测试与调试。

最后一个步骤是测试与调试程序。

我们在编写程序的时候,由于疏忽,经常会犯一些错误,如少写了一个字符、多写了一个字符或拼写错误等,但是计算机是非常严格的,或者说是非常苛刻的,它不允许有任何的错误存在,哪怕是再小的错误,它也会给你指出来。

所以在编完了程序以后,我们通常还要进行测试和调试,以确保程序能够正确运行。

通过以上的分析可以知道,要想成为一名优秀的程序员,必须具备多种不同的能力。

首先是理解能力和沟通能力,要善于与客户沟通、交流,弄明白我们的任务是什么,需要解决的是什么问题。

其次是算法设计能力,当我们拿到一个问题以后,如何对它进行分析,如何设计出一种巧妙、高效的算法来解决它。

第三是编码能力,对于给定的一个算法,如何用某种计算机语言来实现它。

第四是良好的心理素质,在真正编程的时候,要非常的耐心、细致,因为计算机非常的严格,任何一个小小的错误都有可能导致程序的失败,甚至根本就运行不了。

尤其是在刚开始学习编程的时候,一个看似简单的小程序,可能也要花上几个小时甚至是几天的时间才能完全做对,所以这个时候就特别要有耐心和毅力。

对于本书而言,主要的目标是第二点和第三点,即通过本书的介绍,一方面,也是最重要的一点,就是使读者能够掌握程序设计的基本思路和基本方法,提高读者分析问题、解决问题的能力,也就是算法设计的能力;另一方面,使读者能够掌握一种编程语言(C语言),掌握使用C语言来编写代码的能力。

事实上,在我们的教学实践中,经常碰到一些学生,他们对C语言的语法都非常熟悉,说起来头头是道,但是一旦要让他们动手实践,通过编程解决一个实际的问题,就不行了。

既然在编写程序的时候,必须使用计算机能够看懂的语言。

那么,计算机语言包含有哪些类型呢?

首先是机器语言,机器语言是与计算机硬件关系最为密切的一种计算机语言,在计算机硬件上执行的就是一条条用机器语言编写的指令。

对于任何一个计算机程序来说,都要先把它变成机器指令的形式,然后才能够在计算机上运行。

不过,这种指令完全是由二进制的0和1所组成的,一条指令就是

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1