面试官:请使用冯诺依曼原理,给我编写一个石头剪刀布的游戏(3 局两胜)。
冯·诺依曼原理
冯·诺依曼原理,又称为冯·诺依曼体系结构,是现代计算机设计的基础理论之一,由著名数学家和科学家约翰·冯·诺依曼在 20 世纪 40 年代提出。这一原理主要包括以下几个核心要素:
- 存储程序概念:这是冯·诺依曼体系结构的核心,意味着计算机程序和数据都被存储在计算机的内存中。这意味着计算机可以自动地、顺序地取出并执行指令,而不需要人工干预来指定每一步的操作。
- 二进制表示:在冯·诺依曼体系中,无论是数据还是指令,都以二进制的形式存储和处理。这是因为二进制系统简单、易于电子硬件实现,并且能够精确表示逻辑运算。
- 五大组成部分:计算机被划分为五个主要部分:
- 运算器:负责执行算术和逻辑运算。
- 控制器:控制计算机各部件协调工作,包括读取指令、解码指令以及发出控制信号。
- 存储器:用于存储程序和数据,使得计算机能够根据存储的指令序列自动工作。
- 输入设备:用于将外部信息转换为计算机可理解的形式并输入到计算机中。
- 输出设备:将计算机处理的结果转换为人类或其他系统可以理解的形式输出。
- 程序顺序执行:计算机按照程序中指令的排列顺序执行,每个指令的地址由程序计数器(PC)给出,控制器根据 PC 的值从内存中取出指令并执行。
- 数据与指令无差别存储:在存储器中,程序指令和数据没有本质上的区别,都是以同等地位的二进制形式存放,由控制器区分并处理。
输入设备:通过键盘拿到用户的输入?
后端运行 js 访问输入设备 stdin。
输出设备
输出到 命令行。
正文
process.stdin 为 Node.js 进程的标准输入流,用户可以通过命令行向这个流写入数据,再为其添加一个事件监听器,监听 data 事件,当有数据可读的时候,这个事件就会被触发。
// - 冯诺依曼原理 // - 获得用户的输入 // 后端的进程对象 程序运行的最小单元 // process 进程对象 // 冯诺依曼计算设备 process 对象 输入设备 // on data 监听输入事件 enter process.stdin.on('data', (buffer) =>{ // 存储和通信的底层是二进制 console.log(buffer); const action = buffer.toString().trim(); console.log(action, '------'); })
等待用户的输入: