计算机程序设计概述Word格式文档下载.docx
- 文档编号:14129996
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:14
- 大小:80.92KB
计算机程序设计概述Word格式文档下载.docx
《计算机程序设计概述Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机程序设计概述Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
第一代的电子管、第二代的晶体管、第三代的集成电路和第四代的大规模集成电路。
如今,电子计算机的功能已不仅仅是计算,它已渗入了人类的活动领域,成为人们工作和生活中必不可少的工具。
在我们的周围,有着各种各样的计算机,如笔记本计算机、台式机、个人数字助理(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所组成的,一条指令就是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 程序设计 概述
![提示](https://static.bdocx.com/images/bang_tan.gif)