《全国软件水平考试-程序员》随堂笔记整理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内存编址: 操作系统基础知识
1.进程的管理 „„„„„„„„„„„„„„„„„„„„„„ 进程的三态:运行,就绪,阻塞 运行:正占用处理机 就绪:只要获得处理机就可以运行 阻塞:(等待、挂起状态)正等待某个事件发生 运行—就绪:时间片到 就绪—运行:操作系统进程调度
运行—阻塞:等待某个事件 阻塞—就绪:等待某个事件的发生 2.信号量机制 „„„„„„„„„„„„„„„„„„„„„„ 信号量 s: s>=0 某资源的可用数 s<0 其阻塞队列中等待该资源的进程数
外总线<通信总线>: 串来自百度文库总线(USB.IEEE1394.RS-232) 并行总线(SCSI.IEE488) „„„„„„„„„„„„„„„„„„„„„„ 2.CPU 运算器:ALU 累加器 控制器:PC(自动加 1),指令寄存器,译码器 寄存器组
主频(时钟频率),字长 „„„„„„„„„„„„„„„„„„„„„„ 3.存储系统 主存(内存):地址寄存器,数据寄存器 外存:RAM(随机),ROM(只读),DRAM,SRAM,PROM(可编程,一次),EPROM(可 擦除),EEPROM(电子可擦除),Flash Cache:cpu 与主存之间
4、数组与矩阵 二维数组的偏移量
5、树与二叉树 结点的度:子树数 树的深度:层
二叉树的遍历:先序(根)、中序、后序
二叉树:序树 左<根 右>根 (中序)
6、图 ①邻接矩阵 无向图的邻接矩阵是对称的 连通图:V1、V2 是连通的 完全图:1/2*n*(n-1)条边直通 ②邻接表(链式存储)
图的遍历: ② 度优先(树的先根遍历) ②广度优先(树的层次遍历)
4、面向对象 类:属性、操作—封装 父类:基类超类 子类:
①类:对象的模板 子类:派生类 ②对象:类的实例
5、主要软件开发方法 ①结构化方法 【分析】 面向数据流、自顶向下(面向过程) 数据流图、数据字典
【设计】 结构图、流程图、盒图(S-M 图) 模块划分、PAD 图、PDL(伪码)
②面向数据结构的方法(不适合大型软件) Jackson 方法 warnier 方法 以数据结构为基础
《软件水平-程序员》 随堂笔记整理
一、数据表示与运算 (3~5) ①数制转换 ②原码,补码 ③符点数(*) ④逻辑运算 ⑤校验码 „„„„„„„„„„„„„„„„„„ 数制转换:十、二、八、十六进制 „„„„„„„„„„„„„„„„„„ 原码:正:首位 0 负:首位 1 反码:正:与原码一致 负:首位不变,其余数 0 变 1,1 变 0 补码:负:反码+1 „„„„„„„„„„„„„„„„„„ 逻辑代数: ①"与" (乘) ②"或" (加) ③"非" (取反) ④"异或" (相同为 0,相异为 1)
③面向对象方法(适合大型软件) OMT 方法、Borch 方法 维护性好、可重用
(1)用例图:系统功能 『静态』 (2)类图:类与类之间的关系 (3)对象图:对象间的关系 『动态』 序列图、活动图、通信图、协作图
6、软件测试 ①单元测试(模块) 编码 ②集成测试(组装) 发现模块间接口和通信问题(结构) ③确认测试(验收) 功能 ④系统测试 结合硬件、网络
3.符点数 (1)定点小数 首位符号位,后面小数 (2)定点整数 首位符号位,后面整数 (3)符点数 N=(-1)^符号位*尾数*基数^((-1)^数符*阶码)
符号位:正为 0,负为 1 尾数:不能超 1,小于 0.1(二进制) „„„„„„„„„„„„„„„„„„„„„„ 5.校验码 编码基础 冗余位 ①奇偶检验 检测 奇数:奇数个 偶数:偶数个
进度管理 Gantt 图,PERT 图
2、CMM ①初始级:无序、混乱、个人英雄 ②可重复级:有章可循、复制以往的成功 ③已定义级:已文档化、标准化 ④已管理级:量化管理 ⑤已优化级:新技术、达到最佳
3、软件开发模型 ①瀑布:严格遵守软件生命周期顺序 ②快速原型:快速生产功能子集—>用户提出修改意见—>再试用 ③增量:原型法,不破坏现有产品 ④演化:渐进式原型法,迭代 ⑤螺旋:综合了瀑布、演化模型,增加了风险分析 ⑥喷泉:描述面向对象的过程
p-v 原语: p:申请一个资源 s=s-1 v:释放知道资源 s=s+1
不产生死锁的条件: (进程要求的资源数-1)*进程数+1 对临界资源的最少要求
知识点七 程序设计语言 1,基本概念 低级语言: 机器语言——可执行 汇编语言 高级语言—(翻译;编译软件(程序))—>机器语言 C,Pascal,Fortran 命令式 C++,Java,C#,Smaltalk 面向对象 Lisp 函数式 Prolog 逻辑型 (x)html,Xml 标记语言 Javascript,VBScript 脚本语言 dephi,Visual C++,Visual Basic 可视化 UML 统一建模 SQL 结构化查询
测试方法: 白盒测试:结构(单元)语句覆盖、(分支)判定、条件、路径、逻辑 黑盒测试:(集成、确认):等价类划分、边值分析、错误推断、因果图
7、软件质量特性
知识点九 数据结构与算法
1、线性表 ①顺序存储(数组) V[j+1]=V[j] ②链式存储 A.单链表 B.循环链表
C.双向链表
2、栈,只在表尾进行插入或删除的线性表 “后进先出” 【用途】 括号匹配 函数调用(返回) 递归
②海明码 检错纠错 数据位:k 校验位:r
2^r>=k+r+1
计算机硬件系统 ①总线 ②CPU 工作原理 ③存储系统(内存编址) ④高级缓存 Cache ⑤计算机性能指标 ⑥接口 ⑦指令系统 „„„„„„„„„„„„„„„„„„„„„„ 1.总线 内总线<系统总线>: 数据总线,地址总线,控制总线 需记:ISA.PCI
参数传递 位 调用(值) 引用 调用(地址)
2,编译原理 词法分析(后缀式) 词法分析—>语法分析—>语义分析—>中间代生成—>代码优化—>目标代码生成 正规式 有限自动机 „„„„„„„„„„„„„„„„„„„„„„
知识点八 软件工程与面向对象
1、软件生命周期 ①可行性分析(项目开发计划) ②需求分析 ③软件设计(概要设计—>详细设计) ④编码实现 ⑤测试 ⑥运行维护
1.进程的管理 „„„„„„„„„„„„„„„„„„„„„„ 进程的三态:运行,就绪,阻塞 运行:正占用处理机 就绪:只要获得处理机就可以运行 阻塞:(等待、挂起状态)正等待某个事件发生 运行—就绪:时间片到 就绪—运行:操作系统进程调度
运行—阻塞:等待某个事件 阻塞—就绪:等待某个事件的发生 2.信号量机制 „„„„„„„„„„„„„„„„„„„„„„ 信号量 s: s>=0 某资源的可用数 s<0 其阻塞队列中等待该资源的进程数
外总线<通信总线>: 串来自百度文库总线(USB.IEEE1394.RS-232) 并行总线(SCSI.IEE488) „„„„„„„„„„„„„„„„„„„„„„ 2.CPU 运算器:ALU 累加器 控制器:PC(自动加 1),指令寄存器,译码器 寄存器组
主频(时钟频率),字长 „„„„„„„„„„„„„„„„„„„„„„ 3.存储系统 主存(内存):地址寄存器,数据寄存器 外存:RAM(随机),ROM(只读),DRAM,SRAM,PROM(可编程,一次),EPROM(可 擦除),EEPROM(电子可擦除),Flash Cache:cpu 与主存之间
4、数组与矩阵 二维数组的偏移量
5、树与二叉树 结点的度:子树数 树的深度:层
二叉树的遍历:先序(根)、中序、后序
二叉树:序树 左<根 右>根 (中序)
6、图 ①邻接矩阵 无向图的邻接矩阵是对称的 连通图:V1、V2 是连通的 完全图:1/2*n*(n-1)条边直通 ②邻接表(链式存储)
图的遍历: ② 度优先(树的先根遍历) ②广度优先(树的层次遍历)
4、面向对象 类:属性、操作—封装 父类:基类超类 子类:
①类:对象的模板 子类:派生类 ②对象:类的实例
5、主要软件开发方法 ①结构化方法 【分析】 面向数据流、自顶向下(面向过程) 数据流图、数据字典
【设计】 结构图、流程图、盒图(S-M 图) 模块划分、PAD 图、PDL(伪码)
②面向数据结构的方法(不适合大型软件) Jackson 方法 warnier 方法 以数据结构为基础
《软件水平-程序员》 随堂笔记整理
一、数据表示与运算 (3~5) ①数制转换 ②原码,补码 ③符点数(*) ④逻辑运算 ⑤校验码 „„„„„„„„„„„„„„„„„„ 数制转换:十、二、八、十六进制 „„„„„„„„„„„„„„„„„„ 原码:正:首位 0 负:首位 1 反码:正:与原码一致 负:首位不变,其余数 0 变 1,1 变 0 补码:负:反码+1 „„„„„„„„„„„„„„„„„„ 逻辑代数: ①"与" (乘) ②"或" (加) ③"非" (取反) ④"异或" (相同为 0,相异为 1)
③面向对象方法(适合大型软件) OMT 方法、Borch 方法 维护性好、可重用
(1)用例图:系统功能 『静态』 (2)类图:类与类之间的关系 (3)对象图:对象间的关系 『动态』 序列图、活动图、通信图、协作图
6、软件测试 ①单元测试(模块) 编码 ②集成测试(组装) 发现模块间接口和通信问题(结构) ③确认测试(验收) 功能 ④系统测试 结合硬件、网络
3.符点数 (1)定点小数 首位符号位,后面小数 (2)定点整数 首位符号位,后面整数 (3)符点数 N=(-1)^符号位*尾数*基数^((-1)^数符*阶码)
符号位:正为 0,负为 1 尾数:不能超 1,小于 0.1(二进制) „„„„„„„„„„„„„„„„„„„„„„ 5.校验码 编码基础 冗余位 ①奇偶检验 检测 奇数:奇数个 偶数:偶数个
进度管理 Gantt 图,PERT 图
2、CMM ①初始级:无序、混乱、个人英雄 ②可重复级:有章可循、复制以往的成功 ③已定义级:已文档化、标准化 ④已管理级:量化管理 ⑤已优化级:新技术、达到最佳
3、软件开发模型 ①瀑布:严格遵守软件生命周期顺序 ②快速原型:快速生产功能子集—>用户提出修改意见—>再试用 ③增量:原型法,不破坏现有产品 ④演化:渐进式原型法,迭代 ⑤螺旋:综合了瀑布、演化模型,增加了风险分析 ⑥喷泉:描述面向对象的过程
p-v 原语: p:申请一个资源 s=s-1 v:释放知道资源 s=s+1
不产生死锁的条件: (进程要求的资源数-1)*进程数+1 对临界资源的最少要求
知识点七 程序设计语言 1,基本概念 低级语言: 机器语言——可执行 汇编语言 高级语言—(翻译;编译软件(程序))—>机器语言 C,Pascal,Fortran 命令式 C++,Java,C#,Smaltalk 面向对象 Lisp 函数式 Prolog 逻辑型 (x)html,Xml 标记语言 Javascript,VBScript 脚本语言 dephi,Visual C++,Visual Basic 可视化 UML 统一建模 SQL 结构化查询
测试方法: 白盒测试:结构(单元)语句覆盖、(分支)判定、条件、路径、逻辑 黑盒测试:(集成、确认):等价类划分、边值分析、错误推断、因果图
7、软件质量特性
知识点九 数据结构与算法
1、线性表 ①顺序存储(数组) V[j+1]=V[j] ②链式存储 A.单链表 B.循环链表
C.双向链表
2、栈,只在表尾进行插入或删除的线性表 “后进先出” 【用途】 括号匹配 函数调用(返回) 递归
②海明码 检错纠错 数据位:k 校验位:r
2^r>=k+r+1
计算机硬件系统 ①总线 ②CPU 工作原理 ③存储系统(内存编址) ④高级缓存 Cache ⑤计算机性能指标 ⑥接口 ⑦指令系统 „„„„„„„„„„„„„„„„„„„„„„ 1.总线 内总线<系统总线>: 数据总线,地址总线,控制总线 需记:ISA.PCI
参数传递 位 调用(值) 引用 调用(地址)
2,编译原理 词法分析(后缀式) 词法分析—>语法分析—>语义分析—>中间代生成—>代码优化—>目标代码生成 正规式 有限自动机 „„„„„„„„„„„„„„„„„„„„„„
知识点八 软件工程与面向对象
1、软件生命周期 ①可行性分析(项目开发计划) ②需求分析 ③软件设计(概要设计—>详细设计) ④编码实现 ⑤测试 ⑥运行维护