《C语言程序设计:问题与求解方法》——0.3节“理想厨房”工作的重要特点

简介:

本节书摘来自华章社区《C语言程序设计:问题与求解方法》一书中的第0章,第0.3节“理想厨房”工作的重要特点,作者:何 勤,更多章节内容可以访问云栖社区“华章社区”公众号查看

0.3 “理想厨房”工作的重要特点
本节我们对前面涉及的重点知识做一个小结。
1.顺序性和周期性
顺序性:理想厨房每次都只能(取得和)执行一条指令,地址i中的一条指令执行完毕后,才能顺序执行地址i+1中的指令,除非刚刚执行的是一条跳转指令。
周期性:厨房管理员的工作完全是周期性的,即他永远在做(命令各部件)取指令→阅读分析指令→发出控制命令要求各部件执行指令(简称为 取指→译码→执行)这一周期性的动作。
只要一启动,理想厨房就永远按照这个工作流程一条一条地顺序取指令并且执行指令(如果遇到跳转指令,则跳转到指定地址去,继续取下一条指令),不停地、不知疲倦地快速运行着,直到执行了一条“停止运行”指令或发生严重故障为止。
2.有限和无限
有限:厨师能够执行的各种不同基本加工操作所构成的集合是固定有限的(炒、煎、蒸、煮、烤等几十种),厨房管理员能看懂的各种不同加工步骤所构成的集合也是固定有限的(从冰箱取物品、存物品到冰箱、厨师的各种不同加工方式、配菜员输入原材料到冰箱或厨房、传菜生输出菜肴给顾客等)。
无限:人们可以为理想厨房编写出的菜谱数量是无限的。因此,理想厨房可以炒出菜的品种总数也是没有限制的。
3.智者和白痴
理想厨房中的厨师和厨房管理员都是不知疲倦的、机械化的“白痴”,在厨师或厨房管理员的大脑中没有任何一道菜的全部加工步骤。加工制作各种菜肴的“智慧”都是来自于存放在自动冰箱中的菜谱,也就是来自于菜谱的编写者。正是由于人们编写出来的可以让理想厨房执行的各种各样的菜谱,才使得原本白痴般的、能力极为有限而速度却极快的理想厨房系统,在炒菜方面显得似乎无所不能!
4.两个中心
厨房管理员是执行指令的控制中心,厨师(加上炊具)是原材料的加工中心。
理想厨房系统的工作原理,到此已经全部介绍完毕。在下一章你将看到理想厨房的工作原理与计算机的工作原理是极为类似的。因此在本书中,从整体上把握计算机的基本工作原理,就成为一个比较轻松的名词替换的小游戏。

相关文章
|
4天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
21 5
|
5天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
14 3
|
7天前
|
传感器 人工智能 物联网
【C 言专栏】C 语言与硬件交互的方法
【5月更文挑战第4天】C 语言在硬件交互中扮演关键角色,主要通过直接访问硬件寄存器、中断处理、I/O 端口操作、内存映射I/O和设备驱动程序开发。挑战包括硬件多样性、实时性要求和错误处理。随着物联网和人工智能发展,C语言与硬件交互的需求增加,未来将面临更多新硬件和技术的挑战。本文旨在帮助读者理解和掌握这一领域的知识,以实现更高效的硬件互动。
【C 言专栏】C 语言与硬件交互的方法
|
10天前
|
算法 C语言
【C 言专栏】C 语言文件操作的技巧与方法
【4月更文挑战第30天】本文介绍了C语言文件操作的关键技巧,包括文件的打开与关闭(使用`fopen`和`fclose`函数),读取(`fgetc`、`fgets`和`fread`)和写入(`fputc`、`fputs`和`fwrite`)操作。此外,还讨论了文件指针移动(`fseek`)、错误处理、文件权限和格式等问题。文中提供了一个简单的读写文件的示例,并提到了高级技巧如随机访问、文件缓冲和截断。掌握这些技能将有助于提升C语言编程中的文件处理能力。
|
13天前
|
C语言
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
|
13天前
|
C语言
C语言 浙大版《C语言程序设计(第3版)》题目集 练习8-8 移动字母 (10分)
C语言 浙大版《C语言程序设计(第3版)》题目集 练习8-8 移动字母 (10分)
|
13天前
|
C语言
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
|
13天前
|
C语言
pta浙大版《C语言程序设计(第3版)》 习题6-4 使用函数输出指定范围内的Fibonacci数 (20分)
pta浙大版《C语言程序设计(第3版)》 习题6-4 使用函数输出指定范围内的Fibonacci数 (20分)
|
13天前
|
C语言
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-6 删除字符 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-6 删除字符 (20分)
|
13天前
|
C语言
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
pta 浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)