本节书摘来华章计算机《计算机科学导论》一书中的第1章 ,第1.1节,[美]贝赫鲁兹A. 佛罗赞(Behrouz A. Forouzan)著 刘艺刘哲雨等译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.1 图灵模型

Alan Turing(阿兰·图灵)在1937年首次提出了一个通用计算设备的设想。他设想所有的计算都可能在一种特殊的机器上执行,这就是现在所说的图灵机。尽管图灵对这样一种机器进行了数学上的描述,但他还是更有兴趣关注计算的哲学定义,而不是建造一台真实的机器。他将该模型建立在人们进行计算过程的行为上,并将这些行为抽象到用于计算的机器的模型中,这才真正改变了世界。

1.1.1 数据处理器

在讨论图灵模型之前,让我们把计算机定义成一个数据处理器。依照这种定义,计算机就可以被看作是一个接受输入数据、处理数据并产生输出数据的黑盒(如图1-1所示)。尽管这个模型能够体现现代计算机的功能,但是它的定义还是太宽泛。按照这种定义,也可以认为便携式计算器是计算机(按照字面意思,它也符合定义的模型)。

另一个问题是这个模型并没有说明它处理的类型以及是否可以处理一种以上的类型。换句话说,它并没有清楚地说明基于这个模型的机器能够完成操作的类型和数量。它是专用机器还是通用机器呢?
这种模型可以表示为一种设计用来完成特定任务的专用计算机(或者处理器),比如用来控制建筑物温度或汽车油料使用。尽管如此,计算机作为一个当今使用的术语,是一种通用的机器,它可以完成各种不同的工作。这表明我们需要将该模型改变为图灵模型来反映当今计算机的现实。

1.1.2 可编程数据处理器

图灵模型是一个适用于通用计算机的更好模型。该模型添加了一个额外的元素—程序到不同的计算机器中。程序是用来告诉计算机对数据进行处理的指令集合。图1-2显示了图灵模型。

在这个图灵模型中,输出数据是依赖两方面因素的结合作用:输入数据和程序。对于相同的数据输入,如果改变程序,则可以产生不同的输出。类似地,对于同样的程序,如果改变输入数据,其输出结果也将不同。最后,如果输入数据和程序保持不变,输出结果也将不变。让我们看看下面三个示例。
1.相同的程序,不同的输入数据
图1-3显示了对于同样的程序输入不同的数据时,尽管程序相同,但因为处理的输入数据不同,输出也就不同。
2. 相同的输入数据,不同的程序
图1-4显示了对于不同的程序输入相同的数据时的情形。每个程序使计算机对相同的输入数据执行不同的操作。第一个程序是使输入数据按大小顺序排列,第二个程序是使所有的数据相加,第三个程序是找出输入数据中最小的数。

3.相同的输入数据,相同的程序
我们希望无论何时对于同样的输入数据和程序,其输出结果一致。换句话说,当程序在输入相同的数据运行时,我们希望有相同的输出。
1.1.3 通用图灵机
通用图灵机是对现代计算机的首次描述,该机器只要提供了合适的程序就能做任何运算。可以证明,一台很强大的计算机和通用图灵机一样能进行同样的运算。我们所需要的仅仅是为这两者提供数据以及用于描述如何做运算的程序。实际上,通用图灵机能做任何可计算的运算。

《计算机科学导论》一1.1 图灵模型相关推荐

  1. 计算机科学导论第二章,计算机科学导论第二章.doc

    计算机科学导论第二章.doc (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 3.9 积分  第二次作业 2.1 数值数据1. 计算机只识别二进制编 ...

  2. 计算机科学导论课后单词,计算机科学导论课后总结

    计算机科学导论课后总结1 老师上课给我们演示了一个迷宫的程序,然后我上网查找了一下,大致学习了一下这个程序的思想. 迷宫 这个题目和数据结构-图有关 迷宫的随机生成和路径搜索主要和图的遍历有关,一般来 ...

  3. 美国计算机科学公司的全球化发展历程,计算机科学导论第1章 概述.ppt

    计算机科学导论第1章 概述 本章小结 计算机科学是以计算机为研究对象的一门科学,它是一门研究范畴十分广泛.发展非常迅速的新兴学科.全面地了解计算机科学技术的学科内涵和研究范畴,对于读者而言是十分必要的 ...

  4. 计算机科学导论【第四版】读书笔记 (一)

    计算机科学导论[第四版]读书笔记 (一) 绪论 基于图灵模型的计算机 图灵模型假设各种各样的运算都能够通过一种特殊的机器来完成,图灵机的模型是基于各种运算过程的.图灵模型把运算的过程从计算机器中分离开 ...

  5. 计算机科学导论-绪论

    大一软件工程新生,曾经学过c语言,想要了解c语言的处理原理,减少出错. 本博客内容和图片来自于 佛罗赞的 计算机科学导论一书. 1.1 图灵模型 是图灵所设想的一种机器,可以完成某些计算,但图灵着重于 ...

  6. 计算机科学导论(原书第三版)框架总结

    计算机科学导论 文章目录 计算机科学导论 绪论 数字系统 数据存储 数据运算 计算机组成 计算机网络和因特网 操作系统 算法 程序设计语言 软件工程 数据结构 抽象数据类型 文件结构 数据库 数据压缩 ...

  7. 计算机科学导论的探讨论文,计算机科学导论论文.doc

    计算机科学概论 计算机科学是研究计算机及其周围各种现象和规律的科学,亦即研究计算机系统结构.程序系统(即软件).人工智能以及计算本身的性质和问题的学科. 计算机的发展 算盘时代: 这一阶段出现了表示语 ...

  8. 计算机科学与导论论文样例,计算机科学导论论文684413422

    计算机科学导论论文684413422 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 计算科学导论论文摘要:在计算科学与导论这门课程中, ...

  9. 计算机科学导论(1):绪论

    原文链接: 计算机科学导论(1):绪论 | 远行的舟 自人类历史上第一台通用电子计算机 ENIAC(Electronic Numerical Integrator and Caculator,电子数字 ...

最新文章

  1. 开机自启动脚本_Linux配置开机自启动执行脚本的两种方法
  2. java spring上传_SpringMVC上传文件的三种方式
  3. 【干货】用Axure做原型,一秒钟提高效率的必知技巧总结
  4. Linux753权限,linux的chmod与chown命令详解
  5. 337. House Robber III 打家劫舍 III
  6. Docker生成镜像的两种方式
  7. 腾讯机器狗,站起来了!
  8. (二十一)TCPIP面试宝典-进入大厂必备总结(下)
  9. Spring Cloud Alibaba —— Sentinel 详细使用
  10. Yam Finance提案建议将YAM DAO资金库中dApp挖矿奖励的80%转移到uGAS流动性挖矿
  11. cartographer探秘第四章之代码解析(四) --- 后端优化 --- 约束计算
  12. java对象说明 PO,BO,VO,DTO,POJO,DAO,Entity
  13. Activityn 生命周期
  14. MATLAB取整及位数
  15. java开发团队认知_一个优秀的研发团队应该具备什么特征
  16. 最新详细VMware虚拟机下载与安装
  17. map iterator it 的用法
  18. 视频号如何使用OBS推流?
  19. 运筹说 第5期 | 运筹学江湖的形成
  20. CET-4 week7 融会贯通

热门文章

  1. mysql join order by_MySQL 14 慢查询优化join、order by、group by
  2. 华为交换机ssh思科交换机_使用SSH或Telnet访问思科业务交换机CLI
  3. 商淘多b2b2c商城系统怎么在个人电脑上安装_B2B2c商城系统怎么选?开源和定制哪个好?...
  4. office插件开发_Visual Studio Code有哪些你常用的插件?
  5. 数据库为何不建议部署在Docker容器内
  6. 初识C语言---(3)
  7. python中关于sqlite3数据库更新数据的使用
  8. HDU4857拓扑排序模版题
  9. 思维dp ---- K步最短路 D. Explorer Space
  10. JAVA大一新生要用电脑吗,大一新生有没有必要买电脑?辅导员:倘若不是这三点原因尽量别买...