序列化和反序列化--网络程序设计实验8

序列化和反序列化--网络程序设计实验8
序列化和反序列化--网络程序设计实验8

一.本实验目的及要求:

1.熟练掌握类的序列化和反序列化作用;

2.熟练掌握ObjectInputStream和ObjectPutputStream两个输入输出类;

3.熟练掌握Serializable接口,可以自定义序列化类;

4.熟练掌握对类进行序列化和反序列化操作;

5.熟练掌握transient修饰关键字的作用。

6.完成以下各内容程序并按要求改进,截存运行结果图,并提交实验报告。

二、基础概念填空

1. 在JA V A中需要将对象进行存储或者通过网络传输时,需要对象使用( 序列化)和(反序列化)。

2. JA V A的序列化基于(http )协议,它是实现自定义对象(Serializable)的方法。

3. 如果要实现对象序列化,则其所属类必须实现(Serializable)接口。

4. 在序列化和反序列化过程中,所使用的2个输入与输出类分别是(ObjectInputStream)和(ObjectOutputStream )。其中输出类中主要的方法是(writeObject() ),输入类中主要的方法是(readObject() )。

5. 当类的成员变量被(transient)修饰时,表明该程序变量为短暂存储,不进行序列化操作。有类似作用的修饰符还有(static )。

三.程序填空

四.实验内容

定义一个可以被序列化的,用于记录学生信息的类(注意与C语言中的结构体对比)。

import java.io.*;

public class Student implements Serializable{

String name;

char gender;

String birthday;

public Student(String name,char gender,String birthday){

https://www.360docs.net/doc/f510710583.html, = name;

this.gender = gender;

this.birthday = birthday;

}

public void show(){

System.out.println("学生: " + name);

System.out.println("姓名: " + name);

System.out.println("性别: " + gender);

System.out.println("生日: " + birthday);

} }

使用该学生类,用于保存学生信息至指定文件中。

import java.io.*;

public class StuSave{

p ublic static void main(String [] argv)throws Exception{

Student Emily = new Student("E. Jordan", '男', "1901-01-01");

Student Jeffy = new Student("E. Jordan", '男', "1901-01-01");

FileOutputStream fos = new FileOutputStream("StuDB.dat");

ObjectOutputStream oos = new ObjectOutputStream(fos);

oos.writeObject(Emily);

oos.writeObject(Jeffy);

oos.flush();

oos.close();

fos.close();

} }

将学生信息从指定文件中读取出来

import java.io.*;

public class StuShow{

p ublic static void main(String [] argv)throws Exception{

FileInputStream fis = new FileInputStream("StuDB.dat");

ObjectInputStream ois = new ObjectInputStream(fis);

Student Emily = (Student)ois.readObject();

Student Jeffy = (Student)ois.readObject();

ois.close();

fis.close();

Emily.show();

Jeffy.show();

} }

/

五.实验总结

通过本次实验,我熟练地掌握了类的序列化和反序列化作用;基本掌握了ObjectInputStream和ObjectPutputStream两个输入输出类;掌握了对类进行序列化和反序列化操作;但对掌握transient 修饰关键字的作用还未熟练掌握,部分实验并未完美的实现。

对象序列化实验

电子科技大学 实验报告 学生姓名:学号:指导教师: 实验地点:实验时间:2011.12.14 一、实验室名称: Linux环境高级编程实验室 二、实验项目名称: 对象序列化实验 三、实验学时: 8学时 四、实验目的: 熟悉基本的对象序列化方法 五、实验内容: 共进行5个版本的开发: ●版本1:将一个类的一个对象序列化到文件 ●版本2:将一个类的多个对象序列化到文件 ●版本3:将两个类的多个对象序列化到文件

●版本4:按照面向对象的方法,解决多个类的多个对象序列 化到文件的问题 ●版本5:序列化的目的地不仅可以是文件,还可以是其他, 即可配置性 六、实验步骤: 实验一: Test_1.cpp: #include #include #include using namespace std; //指定名字空间 class test_1 { private: int x; public: test_1() { int x = 0; } explicit test_1(int y) { x = y; } virtual ~test_1() //虚函数 { } public: void file() {

cout << "in file(): " << x << endl; } public: bool Serialize(const char *path) const //序列化部分 { int fd = open(path, O_RDWR | O_CREAT | O_TRUNC, 0); //打开experiment文件 if(-1 == fd) return false; if(write(fd, &x, sizeof(int)) == -1)//写文件 { close(fd); return false; } if(::close(fd) == -1)//关闭文件 return false; return true; } bool Deserialize(const char *path) //反序列化部分 { int fd = open(path, O_RDWR);// if(-1 == fd) return false; int red = read(fd, &x, sizeof(int));//只序列化一个值 if(-1 == red) { close(fd); return false; } if(close(fd) == -1) return false; return true; } }; int main() { { test_1 ex(1314); ex.Serialize("recored.txt"); }

网络程序设计复习题(带答案)

网络程序设计复习题 1、为了实现网络的互联,互联网技术必须保证使用不同硬件结构的计算机能够进行通信 适用于多种不同的操作系统、能够使用多种分组交换网络硬件 2、因特网体系结构委员会的英文简称是ICCB 3、协议的实现要落实到一个个具体的硬件模块和软件模块上,在网络中将这些实现特定功能的模块称为实体 4、连接控制、流控制、报文分段等属于传输层功能 5、IP数据报协议标识字段指明了IP数据报封装的协议,当标识字段为 6 时 表示封装的是TCP协议 6、ICMP报文不包括地址解析报文 7、套接字是指IP地址和端口号的组合。 8、SOCKET编程中的全相关是指源端口号、目的端口号、源IP、目的IP、协议 9、IP分组的中的TTL值描述,每经过一个路由器,它的值会减1是正确的 10、TELNET通过TCP/IP协议模块在客户机和远程登录服务器之间建立一个TCP 11、以下提供可靠服务不是UDP协议的特性 12、虚拟局域网通常采用交换机端口号、MAC地址、网络层地址或IP广播组地 址定义 13、办公自动化服务不是网络操作系统提供的服务 14、分析IP数据报所携带的TCP内容不是IP路由器应具备的主要功能 15、java当中网络编程的接口是在https://www.360docs.net/doc/f510710583.html,包当中提供的。 16、会话的建立、维护和交互过程中的同步等属于会话层功能 17、在网络层,IP模块根据IP数据报首部中的协议值决定将数据报中的数据交 给哪一个模块去处理,当协议值为17,应将数据交给UDP模块处理 18、ARP请求帧在物理网络中是以广播方式发送的 19、ICMP在重组定时器超时情况下会产生数据报超时报告。 20、回应请求与应答报文的目的是对网络进行诊断和测试,使用它可以了解 设备的可达性 21、网络的功能主要由各层的协议来完成,互联网技术经过多年的发展形成了现在的TCP/IP协议。 22、为了保证网络的各个功能的相对独立性,以及便于实现和维护,通常将协议划分为多个子协议,并且让这些协议保持一种层次结构,子协议的集合通常称为协议簇。 23、IP协议是TCP/IP协议簇中的核心协议,提供数据传输的最基本服务,是实现网络互联的基本协议。 24、ICMP协议将请求转变为ICMP报文,然后将报文封装在IP协议中进行发送。包含ICMP报文的IP数据报首部的协议字段为1。

微程序控制器设计与调试实验报告

济宁医学院信息工程学院 微程序控制器模型计算机的设计与调试 09级计本2班 200907010211 李秋生

一台模型计算机的设计 一、教学目的、任务与实验设备 1.教学目的 (1)融会贯通本课程各章节的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间—空间”概念的理解,从而清晰地建立计算机的整机概念。 (2)学习设计和调试计算机的基本步骤和方法,提高使用软件仿真工具和集成电路的基本技能。 (3)培养科学研究的独立工作能力,取得工程设计与组装调试的实践和经验。 2.设计与调试任务 (1)按给定的数据格式和指令系统,在所提供的器件范围内,设计一台微程序控制的模型计算机。 (2)根据设计图纸,在MAX+PLUS 平台上进行仿真,并下载到EL教学实验箱上进行调试成功。 (3)在调试成功的基础上,整理出设计图纸和其他文件。包括:①总框图(数据通路图);②微程序控制器逻辑图;②微程序流程图;④微程序代码表;⑤元件排列图(或VHD程序清单);⑥设计说明书;⑦调试小结。 2.实验设备 (1) PC机一台 (2) EL教学实验箱 (3) MAX+PLUS Ⅱ配套软件 二、数据格式和指令系统 本模型机是一个8位定点二进制计算机,具有四个通用寄存器:R 0~R 3 ,能 执行11条指令,主存容量为256KB。 1.数据格式 数据按规定采用定点补码表示法,字长为8位,其中最高位(第7位)为符 数值相对于十进制数的表示范围为: -1≤X≤1―2―7 三、总体设计 总体设计的主要任务是 (1) 选定CPU中所使用的产要器件; (2) 根据指令系统、选用的器件和设计指标,设计指令流的数据通路; (3) 根据指令系统、选用的器件和设计指标,设计数据流的数据通路。 计算机的工作过程,实质上是不同的数据流在控制信号作用下在限定的数据通路中进行传送。数据通路不同,指令所经过的操作过程也不同,机器的结构也

C#编程实验

实验一 1. 尝试用命令行方式编译一个简单的控制台程序为可执行PE文件。 (1) 先用“记事本”编写一个简单的控制台应用程序p1.cs,该程序中只包含可供测试的几行简单代码,例如为: using System; using System.Threading; class test { static void Main() { int x, y; x=Int32.Parse(Console.ReadLine()); y=Int32.Parse(Console.ReadLine()); Console.WriteLine("{0}+{1}={2}",x, y, x+y); Console.ReadLine(); } } (2) 使用C:\Windows\https://www.360docs.net/doc/f510710583.html,\Framework\v2.0.50727\csc.exe 程序(该路径为VS2005下适用,如果用更高版本时应相应调整)以及适当的参数执行编译命令。产生一个可执行PE程序。 (3) 执行该PE程序,观察是否符合预期。 (4) 观察用以上方法编译时,如果代码中有错误,系统如何输出错误信息? 2. 使用GC类控制.NET的垃圾回收操作。 (1) 按照教材上【例1-3】,建立C#的控制台应用程序。 (2) 编译调试该程序,观察、记录控制台输出。 (3) 如果要使MakeSomeGarbage方法中产生的对象不会被回收,应该如何修改MakeSomeGarbage中的代码?修改后实际运行时,观察程序输出的相关信息是否与预计一致(需要与修改前输出的内存占有数据相比较)。 3. 学习使用委托 (1) 按照教材上【例1-5】,建立C#的控制台应用程序。 (2) 编译调试该程序,观察、记录控制台输出。 4. 不要利用Visual https://www.360docs.net/doc/f510710583.html, IDE环境的“工具箱”、“属性窗口”,最好只使用“笔记本”写代码,编写一个“Hello,World!”的Windows应用程序。 (1) 该Windows程序窗体上有一个按钮。当单击按钮时,弹出对话框显示“Hello,World!”。 (2) 在“命令行窗口”下执行CSC将C#代码文件编译为PE程序。 提示: 可在Form_Load等事件中执行Button button1=new Button(); 创建该按钮,对该按钮,要将其加入到Form的Controls集合中。然后对按钮的Text、Position等属性赋值。最后记得要为单击按钮的事件设置一个方法:

《网络程序设计》期末考试试题.doc

学习中心_________ 姓名_____________ 学号 西安电子科技大学网络与继续教育学院 2019学年上学期 《网络程序设计》期末考试试题 (综合大作业) 考试说明: 1、大作业试题于2019年4月25日公布,2019年4月26日至2019年5月12日在线上传大作业答卷(最多上传10张图片); 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须用《西安电子科技大学网络与继续教育学院综合大作业答题纸》手写完成,要求字迹工整、卷面干净; 4、文字描述部分需手写,系统界面以图片形式保存,且总页面不超过10页,上传考试系统。 一、(30分/题,共1个)以access数据库作为后台数据库,完成某学校教材信息的录入、修改和查询。要求所有教材信息必须存储在数据库中,最终提交作业报告,内容包括题目内容,题目总体分析,实现方案,数据库设计,功能模块设计,网页结构设计,运行结果,主要源程序。 总体分析 根据题目要求选择了使用桌面应用程序实现,而没有选择web实现。所以选择java作为开发语言,使用java提供的swing组件实现交互界面。题目要求使用access做为后台数据库,java提供了JDBC-ODBC驱动连接access数据库。

实现方案 使用access数据库(JDBC-ODBC连接) 使用java语言编程(JDK1.6) 使用swing实现交互界面 使用Netbeans7.0 IDE 数据库设计 表结构: 表:book 字段类型说明Id 长整型图书编号 book_name 字符串书名 author 字符串作者 publisher 字符串出版社 publish_date 时间出版时间 功能模块设计 程序中实现了图书信息的查询、添加、修改、删除。 1、查询模块 可以显示所有的图书信息, 可以按条件查询,可分别通过书名、作者、出版社进行查询相关图书信息。 2、添加模块 添加新的图书信息到数据库中 3、修改模块 对数据库中存储的图书信息进行修改。 4、删除模块 删除数据库中的图书信息。 详细设计 代码结构:

计算机组成原理微程序控制单元实验报告

姓名 学号 班级 ******************年级 指导教师 《计算机组成原理》实验报告 实验名称微程序控制单元实验、指令部件模块实验、时序与启停实验 实验室实验日期 实验七微程序控制单元实验 一、实验目的 ⒈ 掌握时序产生器的组成方式。 ⒉ 熟悉微程序控制器的原理。 ⒊ 掌握微程序编制及微指令格式。 二、实验原理 图 7- 7- 1

图 7-7-4 微地址控制原理图 微程序控制单元实验原理就是人为的给出一条微指令的地址,人为的去打开测试开关,观察机器怎么运行,打个比方就是我要你执行我下的某条命令,我先告诉你命令写在哪页纸上, 你找到纸后,分析命令是什么之后再去执行。 观察机器微程序控制器的组成见图7-1-1 ,微地址的打入操作就是由操作者给出一条微指令 的地址(同上面的例子就是仅仅告诉你我让你跑的这条命令写在哪页纸上,而没有告诉你 命令的具体内容),不需要做测试去判断这是什么指令,所以由图7-7-1 ,其中微命令寄存器 32 位,用三片 8D 触发器 (273) 和一片 4D(175) 触发器组成。它们的清零端由CLR来控制微控制器的清零。它们的触发端CK接 T2,不做测试时 T2 发出时钟信号,将微程序的内容 打入微控制寄存器(含下一条微指令地址)。打入了微指令的地址(即告诉你命令在哪页纸上,此时你需要先找到这页纸并判断命令是叫你做什么,然后执行),进行测试,T4 发出时钟信号,转移逻辑满足条件后输出的负脉冲通过置位端将某一触发器输出端置为“1”状态,按图 7-7-4 所示,微地址锁存器的置位端R 受 SE5~SE0控制,当测试信号 SE5~SE0输出负脉冲时,通过锁存器置位端R将某一锁存器的输出端强行置“1”,实现微地址的修改与转移,此时的地址指的是指令的操作码的地址(即你已经知道命令是跑,此时做的是跑的行为)。再由数据开关置入微地址的值,再做测试,再跳到指令的操作码的地址准备开始执行 指令,这就是微程序控制单元实验的原理。

微程序控制器实验2

实 验 项 目 微程序控制器实验实验时间2015年10月31日 实验目的(1) 掌握微程序控制器的组成原理。 (2) 掌握微程序的编制、写入,观察微程序的运行过程。 实 验 设 备 PC机一台,TD-CMA实验系统一套 实验原理 微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如图3-2-1 所示。 控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由时序单元来提供,分为四拍TS1、TS2、TS3、TS4,时序单元的介绍见附录2。 微程序控制器的组成见图3-2-2,其中控制存储器采用3 片2816 的E2PROM,具有掉电保 护功能,微命令寄存器18 位,用两片8D 触发器(273)和一片4D(175)触发器组成。微地址寄存器6 位,用三片正沿触发的双D 触发器(74)组成,它们带有清“0”端和预置端。在不判别测试的情况下,T2 时刻打入微地址寄存器的内容即为下一条微指令地址。当T4 时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。

在实验平台中设有一组编程控制开关KK3、KK4、KK5(位于时序与操作台单元),可实现对存储器(包括存储器和控制存储器)的三种操作:编程、校验、运行。考虑到对于存储器(包括存储器和控制存储器)的操作大多集中在一个地址连续的存储空间中,实验平台提供了便利 的手动操作方式。以向00H 单元中写入332211 为例,对于控制存储器进行编辑的具体操作步骤如下:首先将KK1 拨至‘停止’档、KK3 拨至‘编程’档、KK4 拨至‘控存’档、KK5 拨至 ‘置数’档,由CON 单元的SD05——SD00 开关给出需要编辑的控存单元首地址(000000),IN 单元开关给出该控存单元数据的低8 位(00010001),连续两次按动时序与操作台单元的开关ST(第一次按动后MC 单元低8 位显示该单元以前存储的数据,第二次按动后显示当前改动的数据),此时MC 单元的指示灯MA5——MA0 显示当前地址(000000),M7——M0 显示当前数据(00010001)。然后将KK5 拨至‘加1’档,IN 单元开关给出该控存单元数据的中8 位(00100010),连续两次按动开关ST,完成对该控存单元中8 位数据的修改,此时MC 单元的指示灯MA5——MA0 显示当前地址(000000),M15——M8 显示当前数据(00100010);再由IN 单元开关给出该控存单元数据的高8 位(00110011),连续两次按动开关ST,完成对该控存单元高8 位数据的修改此时MC 单元的指示灯MA5——MA0 显示当前地址(000000),M23——M16 显示当前数据(00110011)。此时被编辑的控存单元地址会自动加1(01H),由IN 单元开关依次给出该控存单元数据的低8 位、中8 位和高8 位配合每次开关ST 的两次按动,即可完成对后续单元的编辑。

最新初中课题研究《主题式序列化作文教学课题实验》阶段工作总结

初中课题研究《主题式序列化作文教学课题实验》阶段工作总 结

初中课题研究《主题式序列化作文教学课题实验》阶段总结 我校自自己申报的原创课题——“主题式作文序列化教学课题实验”在山东省教科所立项以来,课题实验组老师热情饱满,态度积极,自觉加强理论学习,勇于作文教学改革实践,阶段性工作取得了一定的成效,现将本学期工作总结如下: 一、积极创设条件,进行课题申报 我校的作文教学有一定的教改基础,我校积极参与实施了淄博市体验式作文教学改革的实验,为我市作文教学改革的实验单位之一,作文教学改革取得了一定的成效,不少教师积累了一些经验,对作文教学方法的研究有了一些新的认识。如我校牟维和老师出版了作文教学专著《中学生使用话题作文指导》(延边大学出版社)牛晓彬老师获得淄博市作文竞赛辅导一等奖。牟维和老师获得淄博市体验式作文教学教学案例一等奖,我校在桓台县作文竞赛中获得全县第一名等,但不可否认的是作文教学的现状堪忧,应试作文愈演愈烈,公式化模式化、所谓的考场作文教学严重束缚了学生的个性化发展,说假话,写假事;小孩儿说大人话,毫无童心童趣;"内容空洞,不实在,不具体;一段一段甚至整篇整篇地抄写别人的作文;千人一面,没有个性和特点,究其原因,主要在:作文与学生生活、学习严重脱离,学生无内容可写,形成了"巧妇难为无米之炊"的尴尬局面;作文教学存在着"文学化"、"成人化"的倾向,使学生感到高不可攀,逐渐失去对作文的兴趣;作文教学存在着随意性及无目的、大操练的倾向,缺乏一定的训练序列。由此可见,作文教

学少了对学生主体精神的关注,写作没有成为孩子生活的真实需要。因此,我们认为应该让作文回归其本体功能――让学生在真实的生活中写作。我校的语文教师带着困惑与思考走到了一起,在淄博市教研室崔雪梅老师的直接指导下,“主题式作文序列化教学”实验课题应运而生。课题实验组人员热情高涨,积极准备。或阅读钻研理论著作,或进行调查研究,或向专家请教,或进行实验设计。2008年3月27日又召开了课题实验论证会,会上邀请了山东省初中语文教研员张伟忠老师,省教科所张斌博士作实验指导报告,与会专家提出许多指导性意见,为课题的顺利开展打下了坚实的基础。最后在学校领导的支持下,在市教研室的帮助下,“主题式作文序列化教学”课题实验的申报得以成功。 二、加强教学调查,确定实验班级与研究计划 课题的实验是建立在对教与学的基础上,其研究的根本目的是促进学生写作水平的提高,因此课题实验开始时重新对全校学生的作文现状作了全面深入的分析研究,并此基础上,确定了课题实验的年级——2006级,并召开了课题组会议,依据调查情况确定了课题研究开展的计划与方法。 三、加强课题研究中的理论学习 本课题试图通过研究,让教师在观念上确定以提高学生“观察生活,积累生活,感悟生活,表达生活”的能力为目标,“以课堂为轴心,向学生生活的各个领域开拓延展,充分利用一切可以利用的渠道和机会,发展学生作文能力”的“生活作文”教育观。教师必须更新自己

实验七-网络程序设计综合实验汇总

网络程序设计 实验报告 实验名称:winsock 编程接口实验实验类型:设计型 指导教师:贾浩 专业班级:信安1204 姓名:马灿 学号:20123252 电子邮件: 实验地点:东6 E307 实验日期:

实验成绩:__________________________

实验七网络程序设计综合实验 摘要:本课程设计包含了文件传输协议的简单设计与实现。文件传送协议是一种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,是INTERNET使用最广泛的协议之一。文件传输协议的简单设计与实现建立在计算机网络实验环境TCP/IP网络体系结构之上,使用socket编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),利用了已有网络环境设计并实现简单应用层协议。本设计包括了具体设计任务,基本思路及所涉及的相关理论,设计流程图,调试过程中出现的问题及相应解决办法,实验运行结果,核心程序,个人体会及建议等。 关键词:SOCKET编程,FTPclient/server程序 一.问题描述及设计思路 1.1 问题描述 服务器端: 1.指定一个目录作为FTP目录(之后所有的文件操作均在此目录下进行) 2.接收客户端的命令请求并提供相应的服务。 客户端:完成与FTP用户的人机界面,以命令的方式向服务器请求服务,主要的命令有:1.CONNECTIP地址端口号 2.指定FTP服务器的IP地址和端口号,连接到服务器。响应:连接成功/失败。 3.LOGIN用户名 4.用户登录(假设在服务器端有用户管理功能)

5.响应:若用户不存在,提示“无此用户”;若用户存在,提示“密码:”;用户输入密码后,若正确提示“登录成功”;若不成功,提示“密码错误”。6.3.DIR 7.显示FTP服务器的FTP目录的文件列表(假设无子目录) 8.响应:目录列表(只要文件名即可)。 9.4.GET文件名 10.将FTP目录下的文件下载到本地,支持断点续传 11.响应:传送成功/失败/无此文件。 12.5.PUT文件名 13.将本地文件上传到FTP目录,支持断点续传 14.响应:传送成功/失败/无此文件。 15.6.HELP(客户端和服务器端均有该功能) 16.实验环境本次实验采用MFC工程工程采用MFC对话框界面工程名称为MyServer和FTPSOCKET。 17.详细设计过程 1.2 设计思路 1. FTP协议基础 FTP 是TCP/IP 协议组中的协议之一,该协议是Internet文件传送的基础,它由一系列规格说明文档组成。目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。简单的说,FTP就是完成两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上或从自己计算机中拷贝至远程计算机上。在TCP/IP协议中FTP标准命令TCP端口号为21,Port

微程序控制器实验

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成原理 项目名称微程序控制器实验 班级

学号 姓名 同组人员 实验日期 一、实验目的与要求 实验目的 (1)掌握微程序控制器的组成原理 (2)掌握微程序控制器的编制、写入,观察微程序的运行过程 实验要求 (1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低,一次实验时间根本无法完成实验任务,即使基本做对了,也很难说懂得了些什么重要教学内容; (2)应在实验前掌握所有控制信号的作用,写出实验预习报告并带入实验室; (3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要仔细思考实验有关内容,把自己想不明白的问题通过实验理解清楚; (4)实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。还应写出自己的心得体会,也可以对教学实验提出新的建议等。实验报告要交给教师评阅后并给出实验成绩; 二、实验逻辑原理图与分析 画实验逻辑原理图

逻辑原理图分析 微程序控制器的基本任务是完成当前指令的翻译个执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。 它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示成为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器。 三、数据通路图及分析(画出数据通路图并作出分析) (1)连接实验线路,检查无误后接通电源。如果有警报声响起,说明有总线竞争现象,应关闭电源,检查连线,直至错误排除。 (2)对微控制器进行读写操作,分两种情况:手动读写和联机读写。 1、手动读写

对象序列化实验

电子科技大学 实验报告 学生:学号:指导教师: 实验地点:实验时间:2011.12.14 一、实验室名称: Linux环境高级编程实验室 二、实验项目名称: 对象序列化实验 三、实验学时: 8学时 四、实验目的: 熟悉基本的对象序列化方法 五、实验容: 共进行5个版本的开发: ●版本1:将一个类的一个对象序列化到文件 ●版本2:将一个类的多个对象序列化到文件 ●版本3:将两个类的多个对象序列化到文件

●版本4:按照面向对象的方法,解决多个类的多个对象序列 化到文件的问题 ●版本5:序列化的目的地不仅可以是文件,还可以是其他, 即可配置性 六、实验步骤: 实验一: Test_1.cpp: #include #include #include using namespace std; //指定名字空间 class test_1 { private: int x; public: test_1() { int x = 0; } explicit test_1(int y) { x = y; } virtual ~test_1() //虚函数 { } public: void file() {

cout << "in file(): " << x << endl; } public: bool Serialize(const char *path) const //序列化部分 { int fd = open(path, O_RDWR | O_CREAT | O_TRUNC, 0); //打开experiment文件 if(-1 == fd) return false; if(write(fd, &x, sizeof(int)) == -1)//写文件 { close(fd); return false; } if(::close(fd) == -1)//关闭文件 return false; return true; } bool Deserialize(const char *path) //反序列化部分 { int fd = open(path, O_RDWR);// if(-1 == fd) return false; int red = read(fd, &x, sizeof(int));//只序列化一个值 if(-1 == red) { close(fd); return false; } if(close(fd) == -1) return false; return true; } }; int main() { { test_1 ex(1314); ex.Serialize("recored.txt"); }

《网络程序设计》期末考试复习题及参考答案

网络程序设计复习题 (课程代码 252284) 一.选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. java B. class C. html D. exe 2、设int型变量x = 1 , y = 2 , z = 3,则表达式y+=z--/x++ 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。 A. start( ) B. stop( ) C. init( ) D. paint( ) 4、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected 5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 6、下列浏览器中,可以运行HTML中的Applet,而忽略其他HTML命令的是( )。 A. Netscape 3.0 B. Internet Explorer5.0 C. Hot Java D. Appletviewer 7、以下哪一个不是JA V A的标准数据流( )。 A. 标准输出数据流 B. 标准输入数据流 C. 标准错误数据流 D. 标准运算数据流 8、下面声明数组的写法错误()。 A. int a[ ]; B: int[ ] a; C: int[ ][ ] a[3][ ]; D; int[ ][ ] a[ ][3]; 9: 设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char 型变量,则表达式x+y*a/x+b/y+c的值为( )类型。

微程序控制器的设计与实现

微程序控制器的设计与实现 一、设计目的 1、巩固和深刻理解“计算机组成原理”课程所讲解的原理, 加深对计算机各模块协同工作的认识。 2、掌握微程序设计的思想和具体流程、操作方法。 3、培养学生独立工作和创新思维的能力,取得设计与调试的 实践经验。 4、尝试利用编程实现微程序指令的识别和解释的工作流程。 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。 三、设计具体要求 1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根、 据掌握的理论写出要设计的指令系统的微程序流程。指令系统至少要包括六条指令,具有上述功能和寻址方式。 2、根据微操作流程及给定的微指令格式写出相应的微程序 3、将所设计的微程序在虚拟环境中运行调试程序,并给出测试思 路和具体程序段 4、撰写课程设计报告。

四、设计环境 1、伟福COP2000型组成原理实验仪,COP2000虚拟软件。 2、VC开发环境或者Java开发环境。 五、设计方案 (1)设计思想 编写一个指令系统,根据所编写的指令的功能来设计相应的微程序。首先利用MOV传送指令来给寄存器和累加器传送立即数,实现立即数寻址;利用寄存器寻址方式,用ADDC指令对两者进行相加运算;利用寄存器间接寻址方式,用SUB指令实现减运算;利用累加器寻址方式,用CPL指令实现对累加器寻址;利用存储器寻址方式,用JMP 指令实现程序的无条件跳转。这样,所要设计的指令系统的功能就全部实现了。 (2)微指令格式 采用水平微指令格式的设计,一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。其一般格式如下: 按照控制字段的编码方法不同,水平型微指令又分为三种:全水平型(不译法)微指令,字段译码法水平型微指令,以及直接和译码相混合的水平型微指令。 (3)24个微指令的意义 COP2000 模型机包括了一个标准CPU 所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右

微程序控制器实验报告记录

微程序控制器实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成与结构 项目名称微程序控制器实验 班级 学号 姓名 同组人员无 实验日期 2015-11-11

一、实验目的 1.掌握微程序控制器的组成原理; 2.掌握微程序的编制、写入、观察微程序的运行情况。 二、实验逻辑原理图与分析 2.1 实验逻辑原理图及分析 微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,该存储器称为控制存储器,如图所示: 微程序控制器组成原理框图 控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理。本实验所用的时序单元来提供,分为四拍TS1、TS2、TS3、TS4。 在微程序控制器的组成中,控制器采用3片2816的E^2PROM,具有掉电保护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。为地址寄存器6位,用三篇正沿触发的双D触发器(74)组成,他们带有清“0”端和预置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为吓一条微指令地址。当T4时刻惊醒测试判别式,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。

java实验九

《Java 语言程序设计》实验报告(九) 实验名称:______________指导教师:______ _____实验日期:_________ 专 业:______________班 级:___________姓 名:_________ Java 数据流编程 张鑫 2015-12-25 电子商务 电子商务1302 李鸿儒

三、实验结果与结论:(经调试正确的源程序(核心部分)和程序的运行结果)LX5_3.java程序执行结果如图1所示: 图1 LX5_4.java程序执行结果如图2所示: 图2 LX5_5.java程序执行结果如图3所示: 图3 LX5_6.java程序执行结果如图4所示: 图4 LX10_3.java程序执行结果如图5所示: 图5 1、请设计一个从键盘输入一个数n,求n! Jiecheng.java源程序如下: import java.util.Scanner; public class Jiecheng{ public static void main(String args[]){ Scanner input=new Scanner(System.in); System.out.println("请输入数字n:"); int n=input.nextInt(); System.out.println("n!="+sum(n)); }

public static int sum(int n){ int sum=1; for(inti=1;i<=n;i++) sum*=i; return sum; } } Jiecheng.java程序执行结果如图6所示: 图6 2、写一个程序,允许用户依次输入多个姓名和住址,并能将用户的输入保存到文件中。用户输入“quit”表示输入完毕,程序退出。 Test1.java源程序如下: import java.util.Scanner; import java.io.*; public class Test1{ public static void main(String args[]){ OutputStreamos=null; OutputStreamWriterosw=null; BufferedWriterbw=null; try{ os=new FileOutputStream("test.txt"); osw=new OutputStreamWriter(os); bw=new BufferedWriter(osw); while(true){ Scanner sc=new Scanner(System.in); String str=sc.nextLine(); if(str.equals("quit"))break; bw.write(str); bw.newLine(); } }catch(IOException w){ }finally{ try{ if(bw!=null)bw.close(); }catch(IOException w){ } } } }

网络程序设计试题A卷- 最新版本

西安电子科技大学《网络程序设计》试题 (2013年A卷) 考试时间120 分钟试卷编号 班级学号姓名任课老师姓名 一、单选题(10×2分=20分) 1.以下字段中,不属于IP首部的是 A. 协议类型 B. 生存时间 C. 源IP地址 D. 目的端口号 2.以下函数中,不会产生阻塞的是 A. send( ) B. sendto( ) C. connect( ) D. listen( ) 3.进程A是进程B的父进程,当A正在运行时B退出,下列叙述中正确的是 A.进程A也将退出 B.进程A将收到SIGCHLD信号 D.进程A将收到SIGKILL信号 D.进程A会成为僵尸进程

4.整数0x12345678在little-endian字节序主机内存中的存储形式是_________(注:内存由低到高) A. 12 34 56 78 B. 78 56 34 12 C. 34 12 78 56 D. 56 78 12 34 5.使用信号驱动I/O时哪一个不是必须要执行的操作 A.为信号SIGIO关联一个信号处理函数 B.设置套接字为非阻塞模式 C.设置套接字所有者 D.允许套接字进行信号驱动I/O 6.对使用UDP协议的套接字调用connect函数,下面叙述中正确的是A.connect函数将阻塞 B.connect函数将导致3次握手操作 C.connect函数记录对方的IP地址和端口后立刻返回 D.不能对使用UDP协议的套接字描述符调用connect函数 7.对函数调用send(sockfd,“12xyz”,5,MSG_OOB)的描述中正确的是 A.只有字符z被写入发送缓冲区 B.只有字符串12xy被写入发送缓冲区 C.字符串12xyz中的每个字符都将作为带外数据发送 D.TCP协议发送的下一个报文段中URG标志将置位 8.在给网络地址附值时,程序如果使用“INADDR_ANY”,则表明A.对于只有一个IP地址的主机,使用“127.0.0.1”地址 B.对于有多个网卡的主机,使用其中任意一个IP地址 C.对于有多个网卡的主机,表示所有IP地址,并处理所有地址的请求D.以上均不对

计算机组成原理实验3-微程序控制器实验

经济管理学院信息管理与信息系统专业班 __组学号 姓名协作者教师评定_____________ 实验题目_ 微程序控制器实验_________________ 1.实验目的与要求: 实验目的:1.理解时序产生器的原理,了解时钟和时序信号的波形; 2.掌握微程序控制器的功能、组成知识; 3掌握微指令格式和各字段功能; 4.掌握微程序的编制、写入、观察微程序的运行,学习基 本指令的执行流程。 实验要求:按练习一要求完成测量波形的操作,画出TS1、TS2、TS3、TS4的波形,并测出所有的脉冲Φ的周期。按练习二的要 求输入微指令的二进制代码表,并单步运行五条机器指 令。 2.实验方案: 1.用联机软件的逻辑示波器观测时序信号: 测量Φ、TS1、TS2、TS3、TS4信号的方法: (1)按图接线,接一根即可; (2)把探笔的探头端按颜色分别插到试验仪左上角的CH1、CH2,黑探头插CH1,红探头插CH2,将黑探笔的探头插在Φ接线的上孔,将红探笔的探针夹在TS1两针之间; (3)将实验仪的STOP开关置为RUN、STEP开关置为EXEC,“SWITCH UNIT”中CLR开关置为1状态,按动START按键; (4)启动“组成原理联机软件”,点击“调试”菜单下的“显示逻辑示波器窗口”,点击示波器开关,即可在屏幕上看到波形。使用“步数”或“速度”调整波形,波形调整好后,不要用同步通道来稳定波形,应该单击示波器开关,这样整个波形都停下来;(5)鼠标停留在波形线上,会有时间提示,两者相减可以算出波形周期; (6)测完Φ和TS1后,接着测量TS1和TS2,把黑红探针分别夹在TS1两根针之间和TS2两根针之间,相互比较,可以测量TS1 和TS2之间相位关系。同理通过测量TS2、TS3可以测量出TS2

vc++实验文档序列化

一、实验目的与任务 掌握文档序列化操作过程。 二、实验涉及的相关知识点 1.文档序列化包括创建空文档、打开文档、保存文档和关闭 文档; 2.Serilize函数的使用; 3.对文档模板字串资源IDR_MAINFRAME内容的含义与修 改 三、实验内容与过程 1.创建一个默认的SDI,命名为Ex_Student; 2.复制以前做好的“学生成绩输入”对话框; 3.复制“学生成绩输入”对话框类CInputDlg; 4.实现ClassWizard对CInputDlg类的支持; 5.添加一个CStudent类并使该类可序列化。打开 EX_StudentDoc.h文件,在class CEx_StudentDoc前添加代 码(附后); 6.添加并处理菜单项。在菜单资源的主菜单中添加顶层菜单 项“学生记录(&S)”,在该顶层菜单项中添加子菜单“添

加(&A)”(ID_STUREC_ADD),并为其添加COMMAND 消息代码(附后); 7.修改CEx_StudentDoc类代码(附后); 8.修改CEx_StudentView类代码(附后); 9.修改文档的字串资源为: EX_CtrlStudent\nSrudentRec\nEX_CtrlStudent\n记录文件 (*.rec)\n.rec\nEXCtrlStudent.Document\nEX_CtrlStudent.Do cument 10.添加一个可序列化类CStuHeader类在Ex_StudentDoc.h文 件中(代码附后); 11.修改Ex_StudentDoc::Serialize代码(附后); 12.编译运行并测试。 四、实验结果及分析 运行后点击菜单栏的“学生记录”下拉列表的“添加”选项,弹出“学生成绩输入”对话框,输入信息点击确认,输入信 息便显示在试图窗口。再次执行上述过程,视图窗口里便追 加一条记录。单击“保存”,可以将信息以指定格式存储。打 击“打开”,可将存储信息重新显示在视图窗口里。

相关文档
最新文档