第一节 计算机 计算 计算思维
电子自动计算——计算机系统
组成:输入 控制与计算(cpu)储存设备(内存与外存)输出
发展趋势:微型化 大型化 智能化 网络化
计算思维
➢实验思维: 实验 ➔ 观察 ➔ 发现、推断与总结. ---观察与归纳
➢理论思维: 假设/预设 ➔ 定义/性质/定理 ➔ 证明. ---推理和演绎
➢计算思维: 设计, 构造 与 计算. ---设计与构造
0和1思维 程序思维 递归思维
◼“0和1”思维--符号化➔计算化➔自动化
➢0和1是实现任何计算的基础;社会/自然与计算融合的基本手段; 0和1是 连接硬件与软件的纽带;0/1是最基本的抽象与自动化机制。
◼“程序”思维--千变万化复杂功能的构造、表达与执行
➢程序是基本动作(指令)的各种组合,是控制计算系统的基本手段
◼“递归”思维--无限事物及重复过程的表达与执行方法
➢递归是最典型的构造程序的手段;递归函数是可计算函数的精确的数学 描述;递归函数是研究计算学科理论问题的基础
第二节 符号化 计算化 自动化
0和1与逻辑
基本逻辑运算:与 或 非 抑或
用0表示假 1表示真
“与”运算(AND):有0为0 全1为1
“或”运算(OR):有1为1 全0为0
“非”运算(NOT): 非0则1 非1则0
“异或”运算(XOR):相同为0 不同为1
0和1与数值信息
- 进制相关见程序设计基础笔记1 二进制计算结果超出表示范围会导致溢出
- 补码相关见C语言笔记1
- 信息度量单位
bit比特(位) 1位二进制
Byte字节 = 8bit 8位二进制
1字 = 2字节
1KB = 2^10字节 (市场约1,000字节)
1MB = 2^10KB (市场约1,000,000字节)
1GB = 2^10MB (市场约1,000,000,000字节) 1TB = 2^10GB = 2^20MB
1PB = 2^10TB = 2^30MB
1EB = 2^10PB = 2^40MB
1ZB = 2^10EB = 2^50MB - 定点数浮点数
定点数
在8位计算机中 前五位表示一个小数的整数部分 后三位表示小数部分 但是最大只能表示31.875 精度和范围都太小啦 所以我们一般使用浮点数
举例
浮点数
利用指数达到浮动小数点的效果 从而可以灵活地表达更大范围的实数 分为单精度32位和双精度64位 使用IEEE754标准 类似科学计数法
几个概念:
- 数符S 放在第一位表示正负0为负1为正
- 阶码P 放在数符后面表示2的几次方
- 尾数M 放在阶码后面表示有效数字部分
转换步骤:
- 将所给数转换为二进制数
- 用二进制的科学计数法表示 即调整阶码 使尾数最高位为1 然后将这个最高位的1和小数点一起隐含表示(省略这个1)得到尾数
- 将上一步规格化后的阶码加上127/1023,并且转换为二进制
- 按照符号位、阶码、尾数有效位的顺序 依次写出即可
单精度:符号位占1位 阶码占8位 尾数占23位
双精度:符号占1位 阶码占11位 尾数占52位
举例
0和1与非数值信息
用编码(唯一性 公共性 易于记忆/便于识认性)表示
例如
ASCII表 见C语言笔记1
BCD码 用4位0和1的不同组合(与进位制保持一致)表示10个十进制组合
unicode码 囊括了世界上所有字符
汉字 通过汉字外码输入 以汉字内码存储 以汉字字形码输出 没看懂
0和1与电子技术实现
电信号转换为数字信号 高电平为1低电平为0
通过二极管三极管实现与或非门
进而实现基本逻辑运算
与或非门符号如下 有圆圈表示非
表达式化简
- 与 A·B
- 或 A+B
- 非 在A上加横线
- 等值演算公式 - 杜嘟嘟 - 博客园 (cnblogs.com)
然后集成化 用已验证的一位加法器 封装构造成复杂的高层电路 就可以处理复杂逻辑运算啦
如2-4译码器
第三节 程序与递归组合抽象构造
计算系统=基本动作+指令+程序执行机构
指令=控制基本动作执行的命令 组合-抽象-构造
程序=基本动作指令的组合或执行序列 用以实现复杂的动作
程序执行机构=解释并调用指令的机构
组合
由数值到基本运算式嵌套
抽象
命名计算对象和构造 类似宏定义 要易懂的名字
递归与迭代
比如数列 通项公式就是递推式 可依次计算每一项
比如p(i)为真(递归基础) 则p(i+1)也为真(递归步骤) 就是数学归纳法
递归是抽象的表达方法 用递归定义无限的相似事物 是程序构造步骤 自身调用自身 高阶调用低阶 构造无限的计算步骤 是执行过程 由后向前带入 由前向后计算 拆解到递归基础
递归包含了递推(迭代) 但递推(迭代)不能覆盖递归
递推是简单的重复 递归是层层套用知道递推基础
递归
递推
运用递归进行程序构造 具有无限的自相似性步骤的表达 自身调用自身 高阶调用低阶 比如斐波那契数列和阶乘