程序员培训指南.doc

上传人:帮**** 文档编号:860535 上传时间:2019-08-08 格式:DOC 页数:22 大小:312.50KB
返回 下载 相关 举报
程序员培训指南.doc_第1页
第1页 / 共22页
程序员培训指南.doc_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《程序员培训指南.doc》由会员分享,可在线阅读,更多相关《程序员培训指南.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、程序员考试培训指南程序员考试培训指南一、考试说明一、考试说明1考试目标考试目标 通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照程序设计规 格说明书编制并调试程序,写出相应的程序文档,具有助理工程师(或技术员)的实际工 作能力和业务水平。2考试要求考试要求 (1)掌握数制及其转换、数据的机内表示、算术和逻辑运算、应用数学的基础知识; (2)了解计算机的组成以及各主要部件性能指标; (3)掌握操作系统、程序设计语言的基础知识; (4)熟练掌握基本数据结构和常用算法; (5)熟练掌握 C 程序设计语言以及 C+、Java 中的一种程序设计语言; (6)熟悉数据库、网络和多媒体的基础

2、知识; (7)了解软件工程的基础知识、软件过程基本知识、软件开发项目管理的常识; (8)了解常用信息技术标准、安全性以及有关法律、法规的基础知识; (9)了解信息化及计算机应用的基础知识; (10)正确阅读和理解计算机领域的简单英文资料。 3考试科目考试科目 计算机与软件工程基础知识,考试时间为 150 分钟,笔试,选择题; 程序设计,考试时间为 150 分钟,笔试,问答题。 二、考试内容二、考试内容说明说明: “I”、 “II”和“III”表示掌握或熟悉的程度。 “I”:对所列知识要理解其内容及含义(理解) 。 “II” :在有关问题中能直接使用(一般应用) 。 “III”:对所列知识要理解

3、其确切含义及与其它知识的联系,能够进行叙述和解释,并 能在实际问题的分析、综合、推理和判断等过程中运用(综合应用) 。考试科目考试科目 1:计算机与软件工程基础知识:计算机与软件工程基础知识1. 计算机科学基础计算机科学基础 1.1 数制及其转换 二进制、十进制和十六进制等常用数制及其相互转换二进制与十进制之间的相互转换(II) 二进制与十六进制之间的相互转换(I) 1.2 数据的表示 数的表示带符号定点数据(纯整数和纯小数)的原码、反码、补码表示(II) 浮点数(实数)的表示(I) 精度和溢出的概念(II) 非数值数据的表示(字符和汉字表示、声音表示、图像表示)西文字符的表示(I)汉字的表示

4、方法(I) 声音数据的表示方法(I) 图像数据的表示方法(I) 1.3 算术运算和逻辑运算 计算机中二进制数的运算方法补码表示定点数的相加、相减运算(I) 逻辑代数的基本运算基本的与、或、非逻辑运算(II) 1.4 数学应用 常用数值计算矩阵的基本运算(I) 方程的近似求解(I) 线性插值(I) 排列组合,应用统计排列组合计算(I) 基本的数据统计分析方法及实例计算(I) 编码基础ASCII 码的特点及编码计算(II) 汉字编码的特点(I) 奇偶校验码的特点及实例计算(II) 循环冗余码的定义及构造(I) 海明码的定义及构造(I) 1.5 常用数据结构 数组数组的定义及特点(I) 一维数组元素

5、的存储特点和元素位置计算(II) 二维数组元素的按行存储及按列存储方式的特点及元素的位置计算(II) 静态数组的概念及动态数组的概念(I) 线性表及链表线性表的定义和基本运算(I)线性表的顺序存储和特点(I)指针、结点、头指针和头结点的概念(I)单向链表的定义及特点(II)双向链表的定义及特点(I)环形链表的定义及特点(II) 队列、栈队列的定义及运算特点(II) 循环队列的定义及运算(I) 队列采用环形链表的运算特点(I) 栈的定义及运算特点(II) 栈采用一维数组存储结构的运算特点(I) 栈采单向链表存储结构的运算特点(I) 树二叉树的定义(I) 二叉树的顺序存储结构和二叉链表存储结构的特

6、点(II) 二叉树的先序、中序、后序和层序遍历运算的含义(II) 最优二叉树(哈夫曼树)的定义(I) 图图的定义和常用术语(I) 图的邻接矩阵存储结构和邻接表存储结构定义及特点(II) 1.6 常用算法 算法与数据结构的关系算法的定义和特点(I) 算法与数据结构的关系(I) 算法设计和算法描述基本的算法设计方法(I) 算法的流程图描述和伪代码描述方法(II) 常用的排序算法插入排序、冒泡排序、选择排序算法(III) 希尔排序、快速排序、堆排序、归并排序算法(II) 查找算法顺序查找、二分查找过程(III) 常用的数值计算方法(II) 字符串处理算法 (II) 递归算法(I) 最小生成树、拓扑排

7、序和单源点最短路径求解算法(I) 2. 计算机系统基础知识计算机系统基础知识 2.1 硬件基础知识硬件基础知识 2.1.1 计算机的类型和特点 微机(PC 机) 、工作站、服务器、主机、大型计算机、巨型计算机、并行机的特点(I) 2.1.2 中央处理器 CPU CPU 的组成CPU 的组成和基本结构(I) 控制器与运算器的基本组成和功能(I) 常用的寄存器 累加器 AC、标志寄存器、通用寄存器组的概念和功能(I)程序计数器(PC) 、指令寄存器(IR) 、地址寄存器(MAR)和数据寄存器 (MDR)的定义和作用(I) 指令系统,寻址方式指令系统的概念(I) 指令的概念、格式和类型(I) 立即寻

8、址、直接寻址、寄存器寻址、寄存器间接寻址、间接寻址、相对寻址、变址寻址的含义(I) 指令执行控制,中断控制,处理机性能指令的执行过程(I) 流水线的基本概念(I)中断的概念(II) 2.1.3 主存和辅存 存储介质(半导体、硬盘、光盘、U 盘等)半导体存储器的特点(I) 硬盘的参数、容量(II) U 盘的容量和特点(II) 高速缓存(Cache) ,主存高速缓存(Cache)的概念、作用和基本构成(I) 主存的类型、容量和性能指标(II) 辅存设备磁盘、磁带、光盘、DVD 盘、U 盘等辅存设备的特点、性能和容量(II) 2.1.4 I/O 接口、I/O 设备和通信设备 I/O 接口I/O 接口

9、的功能(I)程序查询方式、中断处理方式的含义和特点(I)DMA(直接存储器存取)方式的含义和特点(I) I/O 设备(类型、特性)常见 I/O 设备的类型和特性(I) 通信设备(类型、特性)常见通信设备的类型和特性(I) I/O 设备、通信设备的连接方法和连接介质类型常见 I/O 设备与主机的连接方法(I) 总线的概念、类型和特点(II) 常见通信设备的连接方法(I) 常见连接介质的类型和特点(I) 2.2 软件基础知识软件基础知识 2.2.1 操作系统基础知识 操作系统的类型和功能操作系统作用、特征与功能(I) 操作系统分类(I) 嵌入式操作系统的基本概念(I) 网络操作系统的基本概念(I)

10、 分时操作系统与实时操作系统,网络操作系统与分布式操作系统的区别(I) 处理机管理(进程、线程)进程的定义及组成(I) 进程控制块(PCB)的基本概念(I) 进程状态的三态模型和五态模型(II) 进程间的通信,临界资源、临界区、同步与互斥的基本概念(I) P/V 操作(II) 进程调度:理解高级调度、中级调度、低级调度、调度方式方面的基础知识(I) 死锁的定义、产生死锁的原因、产生死锁的必要条件(I) 线程的定义,线程与进程的区别() 存储管理虚拟地址、地址空间、存储空间、地址重定位的基本概念() 固定分区、可变分区、可重定位分区的基本概念()分页/请求分页存储管理的基本概念与原理(I) 设备

11、管理 设备管理基本概念,块设备、字符设备、独占设备、共享设备、虚拟设备的含义(I) Spooling(Simultaneous Peripheral Operations On Line)定义、组成和结构(I) 引入缓冲技术的原因与目的(I) 磁盘调度的基本概念:移臂调度、旋转调度(I) 先来先服务 (First-Come First-Served,FCFS)、最短寻道时间优先 SSTF(Shortest Seek Time First)、扫描算法(SCAN) 、单向扫描调度算法 (CSCAN)磁盘调度算法的基本思想(I) 文件管理文件、文件系统、文件类型、文件组织结构的基本概念(I) 文件目

12、录的概念,一级目录、二级目录、多级目录的基本概念(I) 文件的存取方法:顺序存取法、直接存取法、按键存取法的基本概念(I) 位示图、空闲块表等文件存储空间的管理算法思想(I) 空闲块链、成组链接法的基本概念(I) 作业管理 作业的状态(提交、后备、执行、完成) 、作业控制块和作业后备队列的基本概念(I) 先来先服务、短作业优先、响应比高优先作业调度算法思想(II) 优先级调度算法思想(I) 图形用户界面和操作方法字符用户界面、图形用户界面的基本特点(I) 常见操作系统的使用(Windows,Linux) (II) 2.2.2 程序设计语言和语言处理程序的基础知识 语言翻译基础知识语言翻译的基本

13、概念(I) 汇编的含义和基本过程(I) 编译的基本过程及编译各阶段的基本任务(I) 解释的含义和基本过程(I) 正规表达式的定义(II) 程序设计语言的基本成分:数据、运算、控制和传输程序设计语言的数据(数据类型) 、运算(运算符和表达式)和语句的类型和功能(I)函数的参数传递机制:传值、传地址(II) 程序语言类型和特点 过程式程序语言、面向对象程序设计语言、函数式程序设计语言、逻辑程序设计语言的基本特点(I) 脚本语言的概念和基本特点(I) 2.3 网络基础知识网络基础知识 网络的功能、分类、组成和拓扑结构通信子网和资源子网的概念(I)局域网、城域网和广域网的概念(I) 星形网、树形网、环

14、形网和总线网的概念(I) 基本的网络协议与标准物理层、数据链路层、网络层、传输层、应用层的基本概念(I) TCP/IP 协议及相关协议的功能(I) 常用网络设备与网络通信设备的作用和特点 中继器、集线器(HUB) 、网关、交换机、路由器、网桥的基本功能和特点 (I) 调制解调器的基本功能和特点(I) Client/Server 结构和 Browser/Server 结构的基本概念和特点(I) 局域网(LAN)基础知识(I) 互联网(Internet)基础知识 互联网的接入方式(I)TCP/IP 协议的属性设置(II) 常用的互联网服务及协议(I)IP 地址的分类、计算(II) 防火墙基本概念(

15、I)2.4 数据库基础知识数据库基础知识 数据库管理系统的主要功能和特征数据库系统(DataBase System,DBS)定义及组成(I) 数据库管理系统(DataBase Management System,DBMS)功能、特征、组成 (I) ,文件系统与数据库系统的差异(II) 数据库模式(概念模式、外模式、内模式) 概念模式(模式) 、外模式(用户模式或子模式) 、内模式(物理模式)的基本概念(II) 三级模式和两级映像(模式/内模式映像、外模式/模式映像)的基本概念(II) 数据的逻辑独立性和物理独立性的基本概念(II) 数据模型,ER 图 层次模型、网状模型、关系模型、面向对象模型

16、的基本概念(I) 数据模型的三要素(数据结构、数据操作、数据的约束条件)的含义(I) E-R 模型基本概念(II) ;E-R 图(E-R 模型)向关系模型的转换的基本方法 (II) 实体中主键、候选键、外键的基本概念(II) 一对一(1:1) 、一对多(1:n) 、多对多(m:n)联系类型的含义(II) 简单属性、复合属性、单值属性、多值属性、NULL 属性、派生属性的含义 (I) 数据操作(关系运算)关系数据库、关系数据库模式基础知识(I) 关系模型的实体完整性、参照完整性、用户定义完整性的基本概念(I) 并、差、笛卡尔积、投影、选择关系运算的基本概念(II) 扩展的关系运算中选择、投影、连

17、接运算方法(I) 数据库语言(SQL) 数据定义语言(DDL):CREATE TABLE (创建表)的应用(II)数据操纵语言(DML):SELECT(查询)、INSERT(插入)、DELETE(删除)和 UPDATE(修改) 的应用(II) 完整性(integrity)定义:PRIMARY KEY、FOREIGN KEY REFERENCES 使用方 法(II) 权限管理:GRANT 和 REVORK 使用方法(II) 数据库的主要控制功能(并发控制,安全控制)事务的基本概念、事务的特性、故障的类型(I) 数据不一致性(丢失修改、不可重复读、读脏数据)的基础知识(I) 并发控制中活锁/死锁、

18、可串行性、两段锁协议的基本概念(I) 安全控制(权限机制、视图机制、加密机制)的基本概念(I) 2.5 多媒体基础知识多媒体基础知识 多媒体基本知识 多媒体的概念,感觉媒体、表示媒体、表现媒体、存储媒体和传输媒体的基本概念(I) 多媒体的特征:多样性、集成性、交互性、非线性、实时性、信息使用的方便性和信息结构的动态性方面的基本概念(I) 声音信号、声音信号的数字化、波形声音的基本概念(I) 色彩的三基色、彩色空间、三要素(亮度、色调和色饱)基本概念(I) 图形和图像的基本概念(I) 图像分辨率与显示分辨率、像素深度、真/伪彩色,图像的压缩标准的基本概念 (I) 常用多媒体设备性能特征,常用多媒

19、体文件格式类型多媒体计算机系统的硬件组成方面的基础知识(I) 常用多媒体设备、性能及特征方面的基础知识(I) 常见的声音、图形图像、视频文件类型(I) 2.6 系统性能指标系统性能指标响应时间、吞吐量、周转时间基本概念(I) 可靠性、可维护性、可扩充性、可移植性、可用性、可重用性、安全性基本概念(I) 2.7 计算机应用基础知识计算机应用基础知识 计算机常用办公软件操作方法字处理软件 Word 的常用功能及操作(I) 表处理软件 Excel 的常用功能及操作(I) 计算机的应用 计算机在信息管理、数据处理的应用范围及相关技术,以及在辅助设计、自动控制、科学计算、人工智能等领域的应用(I) 远程

20、通信服务(I) 3系统开发和运行知识系统开发和运行知识 3.1 软件工程和项目管理基础知识软件工程和项目管理基础知识 软件开发生存周期各阶段的目标和任务(可行性分析和项目开发计划、需求分析、软件设计、编码、测试、维护) (I) 软件能力成熟度模型 CMM、统一过程(UP) 、极限编程(XP)的基本概念(I) 软件开发项目管理(成本估算、风险分析、进度管理(Gantt 图、PERT 图) 、人员 管理)基本概念(I)结构化方法、面向对象方法的基本概念(II) 软件工具与软件开发环境(分析工具、设计工具、编程工具、测试工具、维护工具、CASE) (I) 软件质量管理基础知识(软件质量特性(ISO/

21、IEC 9126 软件质量模型、软件质量保证) (I) 3.2 系统分析设计基础知识系统分析设计基础知识数据流图(DFD) 、实体联系图(ER 图)的基本概念(I) 面向对象设计、以过程为中心的设计、以数据为中心的设计方法的基本概念(I) 结构化分析方法(数据流图的基本构成、数据字典、加工逻辑的描述(结构化语言、决策表、决策树) ) (I) 结构化设计方法(数据流的类型、结构化设计的基本步骤) (I) 软件详细设计(模块设计、代码设计的基本原则、输入/输出设计的基本原则、用户界面设计的基本原则) (I) 3.3 程序设计基础知识程序设计基础知识 结构化程序设计方法自顶向下、逐步求情的设计理念,

22、三种基本控制结构(I) 使用流程图、NS 图、PAD 图进行处理过程的设计(II) 程序设计风格源程序中的内部文档、数据说明、语句构造、输入输出、效率(II) 3.4 程序测试基础知识程序测试基础知识程序测试的目的、原则、对象、过程与工具(I) 用黑盒法设计测试用例等价类划分、边界值划分、错误推测、因果图(II) 用白盒法设计测试用例逻辑覆盖、循环覆盖、基本路径测试(II) 测试设计和管理(I) 3.5 程序设计文档基础知识程序设计文档基础知识接口的描述、程序逻辑的描述、程序规格说明书(I) 模块测试计划、模块测试用例、模块测试报告(I) 3.6 系统运行和维护基础知识系统运行和维护基础知识系

23、统运行管理基础知识(II) 系统维护的类型和含义正确性维护、适应性维护、完善性维护、预防性维护(II) 4. . 信息安全基础知识信息安全基础知识 信息系统安全基础知识计算机设备安全、软件安全、网络安全、信息安全的基本概念(I) 信息系统安全管理 防治计算机病毒、防范计算机犯罪、访问控制、防闯入、防灾、安全保密措施(I) 加密与解密基础知识常用的加密方法和解密方法(I) 5标准化基础知识标准化基础知识 标准化基本概念标准化的目的、意义,组织机构、内容、分类、代号与编号规定(I)标准的层次国际标准、国家标准、行业标准、企业标准的表示方法(II) 相关标准的基本概念 代码标准(汉字编码标准) 、文

24、件格式标准、安全标准、软件开发规范和文档标准、互联网相关标准的基本概念(I) 6信息化基础知识信息化基础知识 信息、信息资源、信息化、信息工程、信息产业、信息技术的含义(I) 全球信息化趋势,国家信息化战略,企业信息化战略和策略常识(I) 有关的法律、法规要点软件著作权的概念(II) 软件著作权主体与客体、权利内容、权利归属(II) 发表权、署名权、修改权、复制权、发行权、翻译权(I) 专利法、商标法、商业秘密权(I) 专利法、商标法、商业秘密权对软件的保护知识(I) 企业信息资源管理常识(I) 7计算机专业英语计算机专业英语 具有助理工程师/技术员所要求的英语阅读水平(I) 掌握本领域的英语

25、基本术语(I)考试科目考试科目 2:程序设计:程序设计1. 内部设计内部设计 1.1 理解外部设计 1.2 软件功能划分和确定结构 数据流图(DFD) ,结构图 (I) 1.3 物理数据设计 确定数据组织方式、存储介质,设计记录格式,处理方式(I) 1.4 详细输入输出设计 界面设计、报表设计等(II) 1.5 内部设计文档 程序接口、程序功能、人机界面、输入输出、程序流程图、测试计划(II) 1.6 内部设计评审 2. 程序设计程序设计 2.1 模块划分(原则、方法、标准) 2.2 编写程序设计文档 模块规格说明书(程序处理逻辑,输入输出数据格式) (II) 测试要求说明书(测试类型和目标,

26、测试用例,测试方法) (II) 2.3 程序设计评审 3. 程序实现程序实现 3.1 编程 编程方法和规范 (I) 程序设计语言的选择和使用(I) 人工走查 (II) 程序文档化(II) 3.2 程序测试 测试环境和测试工具的选择和使用(I) 测试数据的设计(II) 测试报告的编写(I) 4. 程序设计语言(程序设计语言(C 语言为必选,再在语言为必选,再在 C、C+、Java 语言中任选一种)语言中任选一种) 4.1 C 程序设计语言 语法,程序结构(III) 基本类型数据的定义和声明(III) 数组、结构体、共用体类型数据的定义和声明 (III) 表达式和可执行语句(III) 函数定义和调

27、用,标准库函数的使用(III) 指针的使用(II) 文件的基本操作(III) 4.2 C+程序设计语言 面向对象程序设计与 C+基本语法 面向对象程序设计的基本概念与术语(I) C+基本数据类型、各种表达式与语句(III) C+的数组、结构、指针以及函数的使用(III) 类、成员、构造函数(Constructor) 、析构函数(Destructor)C+类的声明、定义与使用(III) C+对象的构造、使用与销毁(III) 模板、继承、多态C+类与函数模板的概念、定义与应用(III) C+中继承的相关概念与应用(III) C+中运算符与函数的重载(III) 异常处理C+异常处理机制的概念与应用(

28、III) 类库C+标准类库中的容器库的应用(II) C+标准类库中算法库的应用(II) C+标准类库中的迭代器的应用(II) C+标准类库中的字符串的应用(III) C+标准类库中的流与文件的应用(III)4.3 Java 程序设计语言 面向对象程序设计面向对象程序设计的基本概念与术语(I) Java 语言概述 Java 语言的特点(I) Java 语言的开发环境与配置(II) 语言机制(语法和程序结构,类、成员、构造函数(Constructor) 、继承、异常处理)基本数据类型及其运算与基础类库(III) 控制结构(III) 数组(III) 类的定义与应用(III) 对象的构造与使用(III

29、) 包的概念与应用(II) 继承机制的应用(III) 接口与内部类的应用(II) 错误与异常处理机制(III) Java 类库、线程、输入/输出流 AWT、Swing 用户界面与事件处理机制(I) 流与文件的应用(III) 多线程的开发与应用(II) 集合类库的应用(II) 网络、数据库的开发与应用(II) Java Applets,Java 应用程序 Java 应用程序与 JavaApplets 的区别(I) JavaApplets 开发与部署(I)三、样题举例三、样题举例考试科目考试科目 1:计算机与软件工程基础知识(样题):计算机与软件工程基础知识(样题)1. 使用常用文字编辑工具编辑正

30、文时,为改变该文档的文件名,常选用 (1) 命令; 将正文中所有“Computer” 改写为“计算机”,常选用 (2) 命令。 (1)A.“文件”“另存为” B.“文件”“保存”C.“插入”“对象” D.“工具”“选项”(2)A. “编辑”“查找” B. “编辑”“替换” C. “编辑”“定位” D. “文件”“搜索”2. 在以下关于电子邮件的叙述中, “ (3) ”是不正确的。(3)A. 打开来历不明的电子邮件附件可能会传染计算机病毒B. 在网络拥塞的情况下,发送电子邮件后,接收者可能过几个小时后才能收到C. 在试发电子邮件时,可向自己的 Email 邮箱发送一封邮件D. 电子邮箱的容量指的

31、是用户当前使用的计算机上,分配给电子邮箱的硬盘容量3. 某数值编码为 FFH,若它所表示的真值为-127,则它是用 (4) 表示的;若它所表示的真值为-1,则它是用 (5) 表示的。(4)A. 原码B. 反码C. 补码D. 移码(5)A. 原码B. 反码C. 补码D. 移码4. 堆栈最常用于 (6) 。(6)A. 实现数据循环移位 B. 实现程序转移C. 保护被中断程序的现场 D. 数据的输入输出缓冲存储器5. 对于一个具有容错能力的系统, (7) 是错误的。 (7) A. 通过硬件冗余来设计系统,可以提高容错能力 B. 在出现一般性故障时,具有容错能力的系统可以继续运行 C. 容错能力强的系

32、统具有更高的可靠性 D. 容错是指允许系统运行时出现错误的处理结果6. (8) 用于把摄影作品、绘画作品输入到计算机中,进而对这些图像信息进行加 工处理、管理、使用、存储和输出。(8)A. 打印机B. 投影仪 C. 绘图仪 D. 扫描仪7. CPU 执行程序时,为了从内存中读取指令,需要先将 (9) 的内容输 送到 (10) 上。(9)A指令寄存器 B. 程序计数器(PC) C. 标志寄存器 D. 变址寄存器(10)A数据总线 B. 地址总线 C. 控制总线 D. 通信总线8. DoS 攻击的目的是(11) 。 (11) A. 获取合法用户的口令和帐号B. 使计算机和网络无法提供正常的服务 C

33、. 远程控制别人的计算机D. 监听网络上传输的所有信息9. 已知有 n 个进程共享一个互斥段,如果最多允许 m 个进程(mint main() long n, num; int i;do printf(“请输入一个正整数: “);scanf(“%ld“,n);while(n = 0; i+) if (i % 2 = 1) num = num + (n % 10) * k;k = k * 10;n = n / 10; printf(“新数据为:%ld n“,num); return 0; 试题三(共试题三(共 1515 分)分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应

34、栏内。【说明说明】 某种传感器的输出值 Ratio 依赖于环境温度 temp(-40oC temp50oC) 。对一组环境 温度值(ITEMS 个) ,人们已经测量得到了相应的 Ratio 值(见表 3-1) 。该表粗略地描述了 曲线 Ratio(temp)。 表 3-1 曲线 Ratio(temp)的列表值环境温度 temp传感器的输出值 Ratio环境温度 temp传感器的输出 值 Ratio-400C0.20100C1.17 -200C0.60300C1.50 -100C0.80500C1.80 00C1.00校正系数 K 是 Ratio 的倒数,因此也依赖于环境温度 temp。在数据处

35、理中,人们需要 用更多的列表值细致地描述曲线 K(temp),如表 3-2 所示。在表 3-2 中,各温度值所对应 的 K 值是对表 1 进行线性插值再求倒数得到的,具体的计算方法如下: 表 3-2 曲线 K(temp)的列表值环境温度 temp校正系数 K环境温度 temp校正系数 K -400C5.00-190C1.61 -390C4.55. -380C4.17-100C1.25 -370C3.85-90C1.22 . -200C1.67500C0.561 根据 temp 值,在表 3-1 中用二分法查找; 2 若找到相应的温度值,则按相应的 Ratio 值求倒数得到 K 值; 3 若没找

36、到相应的温度值,则可确定 temp 所在的温度区间Tp1,Tp2,同时获得了 相应的 Ratio1 和 Ratio2,再按如下公式计算 K 值:Step = (Ratio1 - Ratio2) / (Tp1-Tp2) K = 1.0 / (Ratio1 + Step*(temp Tp1)在程序中,当 temp 高于 50oC 或低于-40oC 时,设定 K=0。【程序程序】 #include typedef struct int Temp; /*环境温度*/double Ratio; /*传感器的输出值*/ CURVE;#define ITEMS 7 double GetK(int, CURV

37、E *, int);void main() int Degree; double k; CURVE CurveITEMS = -40,0.2,-20,0.60,-10,0.8,0,1.0, 10,1.17,30,1.50, 50,1.8 ; printf(“环境温度 校正系数n“); for( Degree = -40; Degree Temp) |( Temp (p+high)-Temp) ) return 0.0; /*超出温度范围时返回 0.0*/ while (low Temp ) return (2) ; if ( Temp Temp ) high = m-1; else low =

38、 (3) ; p += high; Step = ( (4) ) / (p+1)-Temp - p-Temp); return 1.0/(p-Ratio +Step * ( (5) ); 试题四(共试题四(共 1515 分)分)阅读以下说明和 C 语言函数,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明说明】函数 sort(NODE *head)的功能是:用冒泡排序法对单链表中的元素进行非递减排序。 对于两个相邻结点中的元素,若较小的元素在前面,则交换这两个结点中的元素值。其中, head 指向链表的头结点。排序时,为了避免每趟都扫描到链表的尾结点,设置一个指针 endptr,使其指向

39、下趟扫描需要到达的最后一个结点。例如,对于图 4-1 (a)的链表进行 一趟冒泡排序后,得到图 4-1 (b)所示的链表。图 4-1 链表的结点类型定义如下: typedef struct Node int data;struct Node *next; NODE;【C【C 语言函数语言函数】 void sort(NODE *head) NODE *ptr,*preptr,*endptr;int tempdata; ptr = head - next;while ( (1) ) /*查找表尾结点*/ptr = ptr - next;endptr = ptr; /*令 endptr 指向表尾结点

40、*/ptr = (2) ;while(ptr != endptr) while( (3) ) if (ptr-data ptr-next-data)tempdata = ptr-data; /*交换相邻结点的数据*/ptr-data = ptr-next-data; ptr-next-data = tempdata;preptr = (4) ; ptr = ptr - next;endptr = (5) ; ptr = head-next; 2313425headendptr(a)1323542headendptr(b)(从下列 2 题中任选 1 题解答)试题五(试题五(1515 分,每空分,

41、每空 3 3 分)分)阅读以下说明和C+程序,将应填入(n) 处的字句写在答题纸的对应栏内。【说明说明】 以下程序的功能是计算三角形、矩形和正方形的面积并输出。 程序由 4 个类组成:类 Triangle、Rectangle 和 Square 分别表示三角形、矩形和正方 形;抽象类 Figure 提供了一个纯虚拟函数 getArea(),作为计算上述三种图形面积的通用 接口。【C+C+程序程序】#include #include class Figure public: virtual double getArea() = 0; / 纯虚拟函数;class Rectangle : (1) pr

42、otected:double height;double width; public:Rectangle();Rectangle(double height, double width) this-height = height;this-width = width;double getArea() return (2) ; ;class Square : (3) public: Square(double width)(4) ; ;class Triangle : (5) double la;double lb;double lc; public: Triangle(double la, d

43、ouble lb, double lc) this-la = la; this-lb = lb; this-lc = lc; double getArea() double s = (la+lb+lc)/2.0;return sqrt(s*(s-la)*(s-lb)*(s-lc); ;void main() Figure* figures3 = new Triangle(2,3,3), new Rectangle(5,8), new Square(5) ;for (int i = 0; i getArea() endl; 试题六(共试题六(共 1515 分,每空分,每空 3 3 分)分)阅读以

44、下说明和Java源程序,将应填入(n) 处的字句写在答题纸的对应栏内。【说明说明】 以下程序的功能是计算三角形、矩形和正方形的面积并输出。 程序由 5 个类组成:AreaTest 是主类,类 Triangle、Rectangle 和 Square 分别表示 三角形、矩形和正方形,抽象类 Figure 提供了一个计算面积的抽象方法。【程序程序】public class AreaTestpublic static void main(String args) Figure figures=new Triangle(2,3,3),new Rectangle(5,8), new Square(5) ;

45、for (int i=0; ifigures.length;i+) System.out.println(figuresi+“area=“+figuresi.getArea(); public abstract class Figure public abstract double getArea(); public class Rectangle extends (1) double height;double width;public Rectangle(double height,double width) this.height=height; this.width=width;pub

46、lic String toString() return “Rectangle:height=“+height+“,width=“+width+“:“;public double getArea() return (2) ; public class Square extends (3) public Square(double width) (4) ;public String toString() return “Square:width=“+width+“:“; public class Triangle extends (5) double la;double lb;double lc; public Triangle(double la,double lb,double lc) this.la=la; this.lb=lb; this.lc=lc; public String toString()return “Triangle:sides=“+la+“,“+lb+“,“+lc+“:“; public double getArea() double s=(la+lb+lc)/2.0;return Math.sqrt(s*(s-la)*(s-lb)*(s-lc);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理制度

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁