搜档网
当前位置:搜档网 › 中南大学-java第3次实验报告

中南大学-java第3次实验报告

中南大学-java第3次实验报告
中南大学-java第3次实验报告

实验报告

2015-2016学年第 1 学期任课老师:

中南大学通信原理实验报告(截图完整)

中南大学 《通信原理》实验报告 学生姓名 指导教师 学院 专业班级 完成时间

数字基带信号 1、实验名称 数字基带信号 2、实验目的 (1)了解单极性码、双极性码、归零码、不归零码等基带信号波形特点。 (2)掌握AMI、HDB 3 码的编码规则。 (3)掌握从HDB 3 码信号中提取位同步信号的方法。 (4)掌握集中插入帧同步码时分复用信号的帧结构特点。 (5)了解HDB 3 (AMI)编译码集成电路CD22103。 3、实验内容 (1)用示波器观察单极性非归零码(NRZ)、传号交替反转码(AMI)、三阶高密度双极性码 (HDB 3)、整流后的AMI码及整流后的HDB 3 码。 (2)用示波器观察从HDB 3 码中和从AMI码中提取位同步信号的电路中有关波形。 (3)用示波器观察HDB 3 、AMI译码输出波形。 4、基本原理(简写) 本实验使用数字信源模块和HDB 3 编译码模块。 1、数字信源 本模块是整个实验系统的发终端,模块内部只使用+5V电压,其原理方框图如图1-1所示,电原理图如图1-3所示(见附录)。本单元产生NRZ信号,信号码速率约为170.5KB,帧结构如图1-2所示。帧长为24位,其中首位无定义,第2位到第8位是帧同步码(7位巴克码1110010),另外16位为2路数据信号,每路8位。此NRZ信号为集中插入帧同步码时分复用信号,实验电路中数据码用红色发光二极管指示,帧同步码及无定义位用绿色发光二极管指示。发光二极管亮状态表示1码,熄状态表示0码。 本模块有以下测试点及输入输出点: ? CLK 晶振信号测试点 ? BS-OUT 信源位同步信号输出点/测试点(2个) ? FS 信源帧同步信号输出点/测试点 ? NRZ-OUT(AK) NRZ信号(绝对码)输出点/测试点(4个) 图1-1中各单元与电路板上元器件对应关系如下: ?晶振CRY:晶体;U1:反相器7404 ?分频器U2:计数器74161;U3:计数器74193;U4:计数器40160 ?并行码产生器K1、K2、K3:8位手动开关,从左到右依次与帧同步码、数

操作系统实验报告-中南大学

操作系统原理试验报告 班级: 学号: 姓名:

实验一:CPU调度 一、实验内容 选择一个调度算法,实现处理机调度。 二、实验目的 多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机。本实验模拟实现处理机调度,以加深了解处理机调度的工作。 三、实验题目 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 四、实验要求 PCB内容: 进程名/PID; 要求运行时间(单位时间); 优先权; 状态: PCB指针; 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度 4、最好采用图形界面; 5、可随时增加进程; 6、规定道数,设置后备队列和挂起状态。若内存中进程少于规定道数,可自动从后备 队列调度一作业进入。被挂起进程入挂起队列,设置解挂功能用于将指定挂起进程解挂入就绪队列。 7、每次调度后,显示各进程状态。 实验二:内存管理 一、实验内容 主存储器空间的分配和回收 二、实验目的 帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 三、实验题目 在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。

四、实验要求 1、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目内容:起址、长度、状态(未分/空表目) 2、结合实验一,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置,PCB指针} 3、采用最先适应算法分配主存空间; 4、进程完成后,回收主存,并与相邻空闲分区合并 .1、Vo类说明(数据存储结构) 进程控制块PCB的结构: Public class PCB{ //进程控制块PCB,代表一个进程 //进程名,作为进程的标识; private String name; //要求运行时间,假设进程运行的单位时间数; private int time; //赋予进程的优先权,调度时总是选取优先数小的进程先执行; private int priority; //状态,假设有“就绪”状态(ready)、“运行”状态(running)、 //“后备”状态(waiting)、“挂起”状态(handup) private String state; //进程存放在table中的位置 private int start; //进程的大小 private int length; //进程是否进入内存,1为进入,0为未进入 private int isIn; //进程在内存中的起始位置 private int base; //进程的大小 private int limit; //一些get和set方法以及构造器省略… };

第一次 Java 实验报告

Java实验报告 班号学号姓名 实验地点完成日期年月日 实验一Java编程环境使用 一、实验任务和要求 掌握Java运行环境的配置 掌握Java程序的编写、编译、运行等过程 熟悉Java语言的基本语法和运行原理 掌握Java的基本数据类型、表达式和程序控制结构 熟悉Eclipse开发环境的基本使用方法 二、原理分析和程序设计 实验内容: 1、在控制台下求两个实数的最大值(CompareTwoNumbers.java) 要求:从键盘输入任意两个实数,比较两个数字的大小,将较大的数输出。数据输入和输出用Java的标准输入流和输出流来实现。请按照代码提示编写完整程序,并查看结果。 代码提示: import java.util.Scanner; //导入Scanner对象; Scanner scanner = new Scanner(System.in);//实例化一个Scanner对象; number1 = scanner.nextDouble();//从键盘输入一个实数赋值给number1; 相应代码: import java.util.Scanner; //导入Scanner对象; public class CompareTwoNumbers { public static void main(String[] args){ Scanner scanner = new Scanner(System.in);//实例化一个Scanner对象; System.out.print("请输入第一个数:"); double number1 = scanner.nextDouble();//从键盘输入一个实数赋值给number1; System.out.print("请输入第二个数:"); double number2 = scanner.nextDouble(); double c=number1>number2?number1:number2; System.out.print("最大的数为:"+c); } } 猜数字游戏(GuessNumber.java)

2017中南大学人工智能实验报告

“人工智能”实验报告 专业: 班级: 学号: 姓名: 2017年4月日

实验一搜索策略 (一)实验内容 1. 熟悉和掌握启发式搜索的定义、估价函数和算法过程;比较不同算法的性能。 2. 修改八数码问题或路径规划问题的源程序,改变其启发函数定义,观察结果的变化,分析原因。 (二)实验思路 1.利用已有程序“search.jar”,利用已有的“简单搜索树”图或自行构建一个图,选择DFS/BFS/Lowest Cost First/Best-First/Heuristic Depth First/A*等不同的搜索策略,观察程序运行中,OPEN表和CLOSED表的变化,观察搜索过程的变化,理解各个算法的原理。 2.任选八数码问题或路径规划问题的源程序,思考程序如何解决该问题,并对其启发函数进行修改,观察结果的变化,并分析原因 (三)程序清单 此处我选择了路径规划问题:由于篇幅原因,只附上启发函数的定义部分。 原启发函数: floatMapSearchNode::GoalDistanceEstimate( MapSearchNode&nodeGoal ) { floatxd = fabs(float(((float)x - (float)nodeGoal.x))); floatyd = fabs(float(((float)y - (float)nodeGoal.y))); return (xd + yd); } 第一次修改后的启发函数: float MapSearchNode::GoalDistanceEstimate( MapSearchNode&nodeGoal ) { float xd = fabs(float(((float)x - (float)nodeGoal.x))); float yd = fabs(float(((float)y - (float)nodeGoal.y))); float d=sqrt(xd*xd+yd*yd); return d; } 第二次修改后的启发函数: float MapSearchNode::GoalDistanceEstimate( MapSearchNode&nodeGoal ) { float xd = fabs(float(((float)x - (float)nodeGoal.x))); float yd = fabs(float(((float)y - (float)nodeGoal.y))); float d=3*sqrt(xd*xd+yd*yd); return d; } 第三次修改后的启发函数: float MapSearchNode::GoalDistanceEstimate( MapSearchNode&nodeGoal ) { float xd = fabs(float(((float)x - (float)nodeGoal.x)));

java第一次报告

学生实验报告 (2009—2010学年第一学期) 课程名称:基于Java的Web应用设计开课实验室:2301 2009年 10月 30 日

一、实验目的及内容 目的:掌握和巩固Java基础知识 内容: 1.Java语言开发流程 2.编写一个程序,该程序实现以下功能:把自己的学号看作是一个整数n,计算并在 屏幕上输出该整数各位相加的结果。例如:学号为12345的同学应计算并输出结果 15。 二、要求 1.描述Windows下JDK环境变量的设置。 2.描述上述程序的设计、实现和结果,并对结果进行分析;设计和实现时要求上述功 能放到main函数之外的其他函数中实现。 3.以上面程序为例完整叙述(1)在命令行方式下Java语言的开发流程;(2)在NetBeans 集成开发环境中的开发流程。 三、实验步骤 1、环境变量设置: 右键点击“我的电脑”,选择“属性”,在“高级”选项里进入“环境变量”的设置如下: 2、path变量的设置:path, 是告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到哪些目录下去寻找。本次实验中设置为java安装时bin的绝对路径如下:

4、新建项目如下: 5、设置项目名称及运行路径如下

6、程序设计如下: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package jing; import java.io.*; /** * * @author ycx */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here InputNum inp=new InputNum(); CountStuNum coun=new CountStuNum(); try{ long getNum=inp.InputNum(); coun.CountStuNum(getNum); }catch(IOException e){

java第二次实验报告

java实验报告 实验题目运用JavaFx实现时钟动画学生姓名 指导教师 学院 专业班级 完成时间2014年12

目录 一、实验目的 (3) 二、实验开发环境和工具 (3) 三、实验内容 (3) 四.实际简要描述: (3) 五.程序清单 (4) 六.结果分析 (10) 七.调试报告 (11) 八.实验心得 (11)

一、实验目的 1.了解和掌握JavaFx动画基本概念和相关用法 二、实验开发环境和工具 可以在Linux或者Windows操作系统上搭建开发环境,可使用集成开发环境Eclipse,使用Java语言,工具包使用JDK1.8。 三、实验内容 基于JavaFx画出如下所示可动态变化的时钟。要求按‘start’按钮可启动时钟,按‘stop’按钮可让时钟暂停。时钟初始时显示当前时间并开始动态变化。 四.实际简要描述: 1.新建一个动态时针 EventHandlereventHandler = e -> { clock.setCurrentTime(); // 设置时钟时间 }; 2.建立一个动画使时钟走起来 Timeline animation = new Timeline( newKeyFrame(https://www.sodocs.net/doc/5115300091.html,lis(1000), eventHandler)); animation.setCycleCount(Timeline.INDEFINITE); animation.play(); // 开始动画

3.建立按钮 HBoxhbox=new HBox();//新建HBOX布局 hbox.setSpacing(20); hbox.setLayoutX(310); hbox.setLayoutY(520); Start = new Button("Start");//建立start按钮 Start.setPrefSize(80, 40); Stop = new Button("Stop");//建立stop按钮 Stop.setPrefSize(80, 40); hbox.getChildren().addAll(Start,Stop);//将按钮加入HBOX getChildren().add(hbox); 五.程序清单 importjavafx.application.Application; importjava.util.Calendar; importjava.util.GregorianCalendar; https://www.sodocs.net/doc/5115300091.html,yout.Pane; importjavafx.scene.paint.Color; importjavafx.scene.shape.Circle; importjavafx.scene.shape.Line; importjavafx.scene.text.Text; importjavafx.application.Application; importjavafx.stage.Stage; importjavafx.animation.KeyFrame; importjavafx.animation.Timeline; importjavafx.event.ActionEvent;

中南大学机械基础实验报告机类

机械基础实验报告 (机械类) 中南大学机械基础实验教学中心 2011年8月 目录 训练一机构运动简图测绘 (1) 实验二动平衡实验 (3) 实验三速度波动调节实验 (4) 实验四机构创意组合实验 (5) 实验五平面机构创新设计及运动测试分析实验 (6) 实验六螺栓联接静动态实验 (7) 实验七螺旋传动效率实验 (8) 实验八带传动实验 (9) 实验九液体动压轴承实验 (10) 实验十机械传动性能综合测试实验 (12) 实验十一滚动轴承综合性能测试分析实验 (13) 实验十二机械传动设计及多轴搭接实验 (14) 实验十三减速器拆装实验 (15)

训练一机构运动简图测绘 专业班级第组姓名成绩 1.一个正确的“机构运动简图”应能说明哪些内容?绘制机构运动简图的基本步骤是什么? 2.机构自由度与原动件的数目各为多少?当机构自由度=原动件的数目,机构的

运动是否确定? 五.收获与建议

实验二动平衡实验 专业班级第组姓名成绩一、实验目的: 二?设备名称: 三?实验数据 实验转速: 四.思考题: 转子动平衡为什么要在左右两个平面上进行平衡?

实验三速度波动调节实验专业班级第组姓名成绩一?实验目的: 二?设备名称: 三?实验数据 1?当转速不变时,采用不同的飞轮,数据记录: 结论:当转速不变时,飞轮转动惯量越大,则机构的速度波动越二?当飞轮不变时,转速变化,数据记录: 结论:当飞轮不变时,转速越大,则机构的速度波动越

实验四机构创意组合实验 专业班级第组姓名成绩 一、机构运动简图(要求符号规范标注参数) 二、机构的设计方案图(复印件) 三、机构有____________个活动构件?有______个低副,其中转动副_______个, 移动副__________个,有____________复合铰链,在_________处?有________处?有__________个虚约束,在__________处? 四、机构自由度数目为F=3n-2PL-PH=3X-2X-0= 五、机构有_________个原动件 在___________处用__________驱动,在__________处用___________驱动? 六、针对原设计要求,按照实验结果简述机构的有关杆件是否运动到位?曲柄是 否存在?是否实现急回特性?最小传动角数值?是否有“卡住”现象?(原无要求的项目可以不作涉及) 七、指出在机构中自己有所创新之处? 八、指出机构的设计存在的不足之处,简述进一步改进的设想?

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期:2014-2015 课程名称:《Java程序设计实验》 班级:信息1202 姓名:方逸梅 学号:1212100231 指导老师:费玉莲

《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1.6。 (四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容和要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1.下载、安装并设置Java SDK 软件包。 2.熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System.out.println("Hello java! 欢迎使用!"); } } } 结果示意图1

中南大学制造系统自动化技术实验报告整理

制造系统自动化技术 实验报告 学院:机电工程学院 班级:机制**** 姓名:张** 学号: *********** 指导教师:李** 时间: 2018-11-12 实验一柔性自动化制造系统运行实验 1.实验目的 (1)通过操作MES终端软件,实现对柔性制造系统的任务下达和控制加工,让学生

了解智能制造的特征及优势。 (2)通过创意性的实验让学生了解自动化系统总体方案的构思。 (3)通过总体方案的构思让学生了解该系统的工作原理,并学会绘制控制系统流程图,掌握物料流、信息流、能量流的流动路径。 (4)通过总体方案的构思让学生掌握各机械零部件、传感器、控制元器件的工作原理及性能。 (5)通过实验系统运行让学生了解运行的可靠性、安全性是采用何种元器件来实现的,促进学生进行深层次的思考和实践。 2.实验内容 (1)仔细观察柔性自动化制造系统的实现,了解柔性自动化制造系统的各个模块,熟悉各个模块的机械结构。 (2)了解各种典型传动机构的组装、工作原理、以及如何实现运动方向和速度的改变; (3)学习多种传感器的工作原理、性能和使用方法; (4)了解典型驱动装置的工作原理、驱动方式和性能; (5)理解柔性制造系统的工作原理,完成柔性制造系统的设计、组装; (6)实现对柔性制造系统的控制与检测,完成工件抓取、传输和加工。

3.实验步骤 (1)柔性制造系统的总体方案设计; (2)进行检测单元的设计; (3)进行控制系统的设计; (4)上下料机构的组装与检测控制; (5)物料传输机构的组装与实现; (6)柔性制造系统各组成模块的连接与控制; (7)柔性制造系统各组成单元的状态与工件状态位置的检测; (8)对机器人手动操作,实现对工件的抓取、传输。 4. 实验报告 ①该柔性自动化制造系统由哪几个主要的部分组成; 主要由:总控室工作站、AGV小车输送物料机构、安川机器人上下料工作站、法那科机器人上下料工作站、ABB机器人组装工作站、视觉检测及传送工作站、激光打标工作站、堆垛机及立体仓储工作站。 ②画出该柔性自动化制造系统的物料传输系统结构简图;

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.sodocs.net/doc/5115300091.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

中南大学机械制造工艺学实验报告

机械制造工艺学实验报告 班级机械1301 姓名黄佳清 学号 07

中南大学机电学院 《机械制造工艺学》课程实验报告 实验名称:加工误差的统计分析 姓名:黄佳清班级:机械1301 学号: 07 实验日期: 2015 年 10 月 18 日指导教师:成绩: 1. 实验目的 (1)掌握加工误差统计分析方法的基本原理和应用。 (2)掌握样本数据的采集与处理方法,要求:能正确地采集样本数据,并能通过对样本 数据的处理,正确绘制出加工误差的实验分布曲线和图。 (3)能对实验分布曲线和图进行正确地分析,对加工误差的性质、工序能力及工艺 稳定性做出准确的鉴别。 (4)培养对加工误差进行综合分析的能力。 2. 实验内容与实验步骤

1.按加工顺序测量工件的加工尺寸,记录测量结果。 2.绘制直方图和分布曲线 1)找出这批工件加工尺寸数据的最大值x max和最小值x min,按下式计算出极差R。 R=x max一x min 2)确定分组数K(K一般根据样本容量来选择,建议可选在8~11之间)。 3)按下式计算组距 d。 4)确定组界(测量单位:微米)。 5)做频数分布表。 6)计算x和 。 7)画直方图 以样本数据值为横坐标,标出各组组界;以各组频率密度为纵坐标,画出直方图。 8)画分布曲线 若工艺过程稳定,则误差分布曲线接近正态分布曲线;若工艺过程不稳定,则应根据实际情况确定其分布曲线。画出分布曲线,注意使分布曲线与直方图协调一致。 9)画公差带 在横轴下方画出公差带,以便与分布曲线相比较。 3.绘制图 1)确定样组容量,对样本进行分组

样组容量m 通常取4或5件。按样组容量和加工时间顺序,将样本划分成若干个样组。 2)计算各样组的平均值和极差 对于第i 个样组,其平均值和极差计算公式为: ∑==m j ij i x m x 1 1 式中 ——第i 个样组的平均值; ——第i 个样组的标准差; ——第i 个样组第j 个零件的测量值; ——第i 个样组数据的最大值; ——第i 个样组数据的最小值 3)计算图控制限(计算公式见实验原理) 4)绘制 图 以样组序号为横坐标,分别以各样组的平均值和极差R 为纵坐标,画出图,并在图上标出中心线和上、下控制限。 4. 按下式计算工序能力系数Cp 5. 判别工艺过程稳定性 可按下表所列标准进行判别。注意,同时满足表中左列3个条件,工艺过程稳定;表中右列条件之一不满足,即表示工艺过程不稳定。

算法实验报告

算法分析与设计实验报告 学院:信息科学与工程学院 专业班级: 指导老师: 学号: 姓名:

目录 实验一:递归与分治 (3) 1.实验目的 (3) 2.实验预习内容 (3) 3.实验内容和步骤 (3) 4.实验总结及思考 (5) 实验二:回溯算法 (6) 1.实验目的: (6) 2.实验预习内容: (6) 3. 实验内容和步骤 (6) 4. 实验总结及思考 (9) 实验三:贪心算法和随机算法 (10) 1. 实验目的 (10) 2.实验预习内容 (10) 3.实验内容和步骤 (10) 4. 实验总结及思考 (13)

实验一:递归与分治 1.实验目的 理解递归算法的思想和递归程序的执行过程,并能熟练编写快速排序算法程序。 掌握分治算法的思想,对给定的问题能设计出分治算法予以解决。 2.实验预习内容 递归:递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。 一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数). 分治:分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。 3.实验内容和步骤 快速排序的基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 源代码: #include using namespace std; int num; void swap(int &a,int &b) { int temp=a; a=b; b=temp; } void printarray(int *arr) { for (int i=1;i<=num;++i) cout<

初识Java 实验报告

太原师范学院 实验报告 Experimentation Report of Taiyuan teachers College 系部计算机系年级课程Ja va实用教程 姓名同组者无日期2012.2.28 项目初识Java 实验①:一个简单的应用程序 1、实验目的: 掌握Java应用程序的3个步骤:编写原文件、变异原文件和运用应用程序。 2、实验要求: 编写一个简单的Java应用程序,该程序在命令窗口输出两行文字:“Hello Java” 和“We are students”。 3、实验代码: public class hello { public static void main (String args[]) { System.out.println("Hello Java"); A a=new A(); a.fA(); } } class A

{ void fA() { System.out.println("We are students"); } } 4、实验后的练习: ①编译器怎样提示丢失大括号的错误? Hello.java :18:进行语法解析时已到达文件结尾 }→ ^ ②编译器怎样提示语句丢失分号的错误? Hello.java :7:需要‘;’ System.out.println(“Hello Java”) ^ ③编译器怎样提示将System写成system这一错误? Hello.java :7:软件包system不存在 System.out.println(“Hello Java”); ^ ④编译器怎样提示将String写成string这一错误? Hello.java :5:找不到符号 符号:类string 位置:类hello Public static void main(string args[]) ^ 实验②:画出一个正弦函数的波形图 实验目的:掌握开发Java sin Applet程序的3个步骤:编写源文件、编译源文件和运行Java sin Applet程序 实验要求:编写一个简单的Java sin Applet程序,打印出正弦函数的图形。 实验代码: import java.applet.*; import java.awt.*; import java.awt.Color; public class sin extends Applet{ public void paint(Graphics g){ int x=0; int y=0; int i=0; for(i=0;i<360;i++) { x=(int)((i*Math.PI/180)*100); y=(int)(Math.sin((i*Math.PI)/180)*100)+200; g.drawString("*",x,y);

实验二 Java类-实验报告

南京信息工程大学实验(实习)报告 实验(实习)名称Java类实验(实习)日期 10.17 得分指导教师刘文杰院计算机与软件学院专业软件工程年级 2017级班次 1 姓名张成学号20171344024 1.实验目的: 1)熟练MyEclipse工具的使用与调试; 2)掌握Java类、方法和变量的定义和使用; 3)熟悉方法重载和覆盖、掌握this和supper关键字使用; 4)掌握4类访问控制符的使用。 2.实验内容: (1)定义一个类Circle,实现其面积计算功能getArea(); (2)编写程序,读入一个正整数并按降序显示它的所有最小因子。(教材第3章习题9)(3)利用多态性编程,实现求三角形、正方形和圆形的面积。(教材第4章习题6) 3.实验步骤 1、 public class Circle { public double radius; public Circle(double r) { radius= r; } public double getArea() { return radius*radius*Math.PI; } public static void main(String[] args) { Circle area1 = new Circle(5); System.out.println("The area is " + area1.getArea()); } }

2、 import java.util.Scanner; public class Read { public static void main(String[] args) { Scanner input =new Scanner(System.in); System.out.print("输入一个正整数:"); int n=input.nextInt(); int []a=new int[n]; int []b=new int[n]; int p,q=0,m=0; for(p=2;p<=n;p++) { while(n%p==0) { n=n/p; if(n!=1) { a[q]=p; q++; } else { a[q]=p; } } } while(q!=-1) { b[m]=a[q]; m++; q--; } for(p=0;p

中南大学 计算机体系结构实验报告

计算机体系结构课程设计 学院:信息科学与工程学院 专业班级: 指导老师: 学号: 姓名:

目录 实验1 对指令操作码进行霍夫曼编码 (3) 一、实验目的 (3) 二、实验内容 (3) 三、设计思路 (4) 四、关键代码 (4) 五、实验截图 (5) 六、源代码 (5) 实验2 使用LRU 方法更新Cache (8) 一、实验目的 (8) 二、实验内容 (8) 三、设计思路 (9) 四、程序截图 (9) 五、实验代码 (9) 实验总结 (16) 参考文献 (16)

实验1 对指令操作码进行霍夫曼编码一、实验目的 了解和掌握指令编码的基本要求和基本原理 二、实验内容 1. 使用编程工具编写一个程序,对一组指令进行霍夫曼编码,并输出最后的编码结果以及对指令码的长度进行评价。与扩展操作码和等长编码进行比较。 2. 问题描述以及问题分析 举例说明此问题,例如: 下表所示: 对此组指令进行 HUFFMAN 编码正如下图所示: 最后得到的HUFFMAN 编码如下表所示:

最短编码长度为: H=0.45*1+0.30*2+0.15*3+0.05*4+0.03*5+0.01*6+0.01*6=-1.95. 要对指令的操作码进行 HUFFMAN 编码,只要根据指令的各类操作码的出现概率构造HUFFMAN 树再进行 HUFFAM 编码。此过程的难点构造 HUFFMAN 树,进行 HUFFAM 编 码只要对你所生成的 HUFFMAN 树进行中序遍历即可完成编码工作。 三、设计思路 观察上图,不难看出构造 HUFFMAN 树所要做的工作:1、先对各指令操作码的出现概率进行排序,构造一个有序链表。2、再取出两个最小的概率节点相加,生成一个生的节点加入到链表中,同时从两表中删除此两个节点。3、在对链表进行排序,链表是否只有一个节点,是则 HUFFAN 树构造完毕,否则继续做 2 的操作。为此设计一个工作链表(链表的元素时类,此类的功能相当结构。)、HUFFMAN 树节点、HUFFMAN 编码表节点。 四、关键代码 哈夫曼树重点在于如何排列权值大小不同的结点的顺序 private int leafNum; //叶子结点个数 private HaffmanNode[] hnodes; //哈夫曼树的结点数组 public HaffManCode(double[] weight) //构造指定权值集合的哈夫曼树 { int n = weight.length; //n个叶子结点 this.leafNum = n; this.hnodes = new HaffmanNode[2*n-1]; //n个叶子结点的哈夫曼树共有2n-1个结点 for(int i=0; i

JAVA第四版实验2实验报告

实验1 1.实验要求: 编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。 2.实验内容: 3.实验分析: (1)将一个double型数据直接赋值给float型变量,程序编译时提示怎样的错误。 可能损失精度。 (2)在应用程序的main()方法中增加语句:float x=0.618,程序能编译通过吗? 不能通过编译,提示可能损失精度。 (3)在应用程序的main()方法中增加语句:byte b=128编译能通过吗?在应用程序的main()方法中增加语句:int z=(byte)128;程序输出变量z的值是多少? 增加byte b=128时编译不能通过,提示可能损失精度。 增加int z=(byte)128时结果如下所示。 实验2 1.实验要求: 编写一个Java应用程序,该程序在命令行窗口输出数组的引用以及元素的值。 2.实验内容:

3.实验分析: (1)在程序的【代码4】之后增加语句”a[3]=200;”,编译是否有错?运行是否有错? (2)在程序的【代码4】之前输出二维数组b的各个一维数组的长度和引用。

(3)在程序的【代码4】之后输出二维数组b的各个一维数组的长度和引用。

实验3 1.实验要求: 编写一个Java应用程序,输出数组a的全部元素,并将数组a的全部或部分元素复制到其他数组中,然后改变其他数组的元素的值,再输出数组a的全部元素。 2.实验内容: 3.实验分析:

(1)在程序的【代码4】之后增加语句:int []tom=Arrays.copyOf(c,6); System.out.println(Arrays.toString(tom)); (2)在程序的最后一个语句之后增加语句:int []jerry=Arrays.copyOf(d,1,8); System.out.println(Arrays.toString(jerry));

中南大学x射线实验报告参考

中南大学 X射线衍射实验报告 学院专业班级 姓名学号同组者 月日指导教师 实验 日期 评分分评阅人评阅日期 实验目的 1)掌握X射线衍射仪的工作原理、操作方法; 2)掌握X射线衍射实验的样品制备方法; 3)学会X射线衍射实验方法、实验参数设臵,独立完成一个衍射实验测试; 4)学会MDI Jade 6的基本操作方法; 5)学会物相定性分析的原理和利用Jade进行物相鉴定的方法; 6)学会物相定量分析的原理和利用Jade进行物相定量的方法。 本实验由衍射仪操作、物相定性分析、物相定量分析三个独立的实验组成,实验报告包含以上三个实验内容。 一、实验原理 1、X射线衍射仪 (1)X射线管 X射线管工作时阴极接负高压,阳极接地。灯丝附近装有控制栅,使灯丝发出的热电子在电场的作用下聚焦轰击到靶面上。阳极靶面上受电子束轰击的焦点便成为X射线源,向四周发射X射线。在阳极一端的金属管壁上一般开有四个射线出射窗口。转靶X射线管采用机械泵+分子泵二级真空泵系统保持管内真空度,

阳极以极快的速度转动,使电子轰击面不断改变,即不断改变发热点,从而达到提高功率的目的 (2)测角仪系统 测角仪圆中心是样品台,样品台可以绕中心轴转动,平板状粉末多晶样品安放在样品台上,样品台可围绕垂直于图面的中心轴旋转;测角仪圆周上安装有X 射线辐射探测器,探测器亦可以绕中心轴线转动;工作时,一般情况下试样台与探测器保持固定的转动关系(即θ-2θ连动),在特殊情况下也可分别转动;有的仪器中样品台不动,而X 射线发生器与探测器连动。 (3)衍射光路 2、物相定性分析 1) 每一物相具有其特有的特征衍射谱,没有任何两种物相的衍射谱是完全相同 的 2) 记录已知物相的衍射谱,并保存为PDF 文件 3) 从PDF 文件中检索出与样品衍射谱完全相同的物相 4) 多相样品的衍射谱是其中各相的衍射谱的简单叠加,互不干扰,检索程序能 从PDF 文件中检索出全部物相 3、物相定量分析 物相定量分析——绝热法 在一个含有N 个物相的多相体系中,每一个相的RIR 值(参比强度)均为已知的情况下,测量出每一个相的衍射强度,可计算出其中所有相的质量分数: 其中某相X 的质量分数可表示为: ∑ == N A i i A i X A X X K I K I W 式中A 表示N 个相中被选定为内标相的物相名称 式中A O Al X O Al X A K K K 3 232= 右边是两个物相X 和A 的RIR 值,可以通过实测、计算或查找PDF 卡片获得。 样品中只含有两相A 和B ,并选定A 为内标物相,则有:

相关主题