实验报告

第九周课程总结&实验报告

为君一笑 提交于 2019-12-02 02:22:47
实验任务详情: 完成火车站售票程序的模拟。 要求: (1)总票数1000张; (2)10个窗口同时开始卖票; (3)卖票过程延时1秒钟; (4)不能出现一票多卖或卖出负数号票的情况。 public class ticket{ public static void main(String[] args) { w mt=new w(); new Thread(mt,"窗口1").start(); new Thread(mt,"窗口2").start(); new Thread(mt,"窗口3").start(); new Thread(mt,"窗口4").start(); new Thread(mt,"窗口5").start(); new Thread(mt,"窗口6").start(); new Thread(mt,"窗口7").start(); new Thread(mt,"窗口8").start(); new Thread(mt,"窗口9").start(); new Thread(mt,"窗口10").start(); } } class w implements Runnable{ private int ticket=1000; public void run() { for(int i=0;i<1000;i++) { synchronized(this) { if

实验报告五

一曲冷凌霜 提交于 2019-12-02 00:35:01
20182313 2019-2020-1 《数据结构与面向对象程序设计》实验五报告 课程:《程序设计与数据结构》 班级:1823 姓名:刘尧 学号:20182313 实验教师:王志强 实验日期:2019年9月30日 必修/选修:必修 1.实验内容 来源: https://www.cnblogs.com/ly20182313/p/11723301.html

第七次实验报告及编程总结

▼魔方 西西 提交于 2019-12-02 00:11:10
完成火车站售票程序的模拟。 要求: (1)总票数1000张; (2)10个窗口同时开始卖票; (3)卖票过程延时1秒钟; (4)不能出现一票多卖或卖出负数号票的情况。 实验代码: package Test; public class A { public static void main(String[] args) { SafeWeb web=new SafeWeb();//创建多线程 new Thread(web,"窗口1").start();//命名加进入准备状态 new Thread(web,"窗口2").start(); new Thread(web,"窗口3").start(); new Thread(web,"窗口4").start(); new Thread(web,"窗口5").start(); new Thread(web,"窗口6").start(); new Thread(web,"窗口7").start(); new Thread(web,"窗口8").start(); new Thread(web,"窗口9").start(); new Thread(web,"窗口10").start(); } } class SafeWeb implements Runnable{ private int ticket=1000; private boolean

CSAPP_bomblab实验报告

本秂侑毒 提交于 2019-12-01 23:23:09
目录 Lab_2实验报告 屏幕截图 考察内容 各题答案 bomb1 bomb2 bomb3 bomb4 bomb5 bomb6 解题思路 bomb1 bomb2 bomb3 bomb4 bomb5 bomb6 Reference Lab_2实验报告 屏幕截图 考察内容 本次lab主要考察的是对各种汇编指令的熟悉程度和对gdb的掌握程度。 各题答案 bomb1 Border relations with Canada have never been better. 该答案唯一。 bomb2 1 2 4 8 16 32 该答案唯一。 bomb3 6 682 该答案不唯一。 答案表: x y 0 207(0xcf) 1 311(0x137) 2 707(0x2c3) 3 256(0x100) 4 389(0x185) 5 206(0xce) 6 682(0x2aa) 7 327(0x147) bomb4 0 0 该答案不唯一。 答案表: x y 0 0 1 0 3 0 7 0 bomb5 9/.567 该答案不唯一。 答案规律: 一个长度为6的字符串,其中从左到右每个字符的十六进制形式下ASCII码的末位依次为:9、e、f、5、6、7。 bomb6 4 3 2 1 6 5 该答案唯一。 解题思路 bomb1 核心代码部分只有一个: 400ee4: be 00 24 40 00 mov

实验五实验报告

筅森魡賤 提交于 2019-12-01 23:13:59
学号 2019-2020-182321 《数据结构与面向对象程序设计》实验五报告 课程:《程序设计与数据结构》 班级: 1823 姓名: 杨凯涵 学号:20182321 实验教师:王志强 实验日期:2019年10月22日 必修/选修: 必修 1.实验内容 Android Stuidio的安装测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章: 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID,安装 Android Stuidio 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号,提交代码运行截图和码云Git链接,截图没有学号要扣分 学习Android Stuidio调试应用程序 Activity测试 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章: 构建项目,运行教材相关代码 创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity UI测试参考《Java和Android开发学习指南(第二版)

《第二次上机实验报告》

巧了我就是萌 提交于 2019-12-01 20:14:41
1.问题描述: 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 2.算法描述: #include<iostream> #include <cmath> using namespace std; int main() { int D[100][100]; int n; int maxSum[100][100]; cin>>n; for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) cin>>D[i][j]; } for(int i = 1; i <= n; i++){ maxSum[n][i]= D[n][i]; } for(int i = n-1; i >= 1; i--){ for(int j = 1; j <= i; j++){ maxSum[i][j] = max(maxSum[i+1][j],maxSum[i+1][j+1]) + D[i][j]; } } cout << maxSum[1][1]; return 0; } 3. 算法时间及空间复杂度分析 这是一道动态规划问题,首先我们要列出递归方程,然后在按照递归方程填表。我们列的递归方程是从下往上填表的 4.心得体会:我的第一想法是从上至下

第三章算法上机实验报告

蹲街弑〆低调 提交于 2019-12-01 20:08:51
1. 实践题目、 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 输入格式 : 输入有 n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100。 接下来 n行是数字三角形各行中的数字。所有数字在0..99 之间。 输出格式 : 输出最大路径的值。 输入样例 : 在这里给出一组输入。例如: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 输出样例 : 在这里给出相应的输出。例如: 30 问题描述、 就是给你一个三角形,每次只能往下走或者往右下走,选取值最大的路线。 算法描述 很假单的 dp 问题,但是问题是——要怎么想到用动态规划对吧。 一开始我是想每次贪心,取最大的值,比如我从开始走,走到 3 还是走到 8 呢?如果走 8 的话,那么 8 下面就只能往 1 和往 0 走了。 这样的话不能保证是最优的解吧? 然后也可以每一条路都走一遍,从 7 走到 3 和 8 变成两个子问题,这两个子问题又会生出四个子问题——是从 3 走到 8 呢还是从 3 走到 1 呢,就会有 2^n 次方种可能的结果,时间复杂度直接爆炸。 那么接下来就只能用到 dp 。 从后面往前走的话,因为和最大,所以从每一个节点所取下面左右两边最大的的值,加起来,一层层往上遍历

实验报告六和第八周总结

▼魔方 西西 提交于 2019-12-01 17:43:26
一、实验目的 (1)理解异常的基本概念; (2)掌握异常处理方法及熟悉常见异常的捕获方法。 二、实验要求 (1) 练习捕获异常、声明异常、抛出异常的方法、熟悉try和catch子句的使用 (2)掌握自定义异常类的方法。 三、实验内容 1.编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数组元素,使其产生ArrayIndexOutOFBoundsException异常。在catcg字句中 捕获此异常对象,并且打印“数组越界”信息,加一个finally子句,打印一条信息以证明这里确实得到了执行。 代码: package Java1017; public class Class1 { public static void main (String args[]) { int a[] = {1,2,3}; try { for(int i=0;i<4;i++) System.out.println(a[i]); }catch(Exception e) { System.out.println("数组越界"); System.out.println("数组越界的原因: "+e); } finally { System.out.println("以上代码执行完毕"); } } } 结果截图: 2.编写一个Exgeption的子类DangerException

第三次实验报告:使用Packet Tracer分析TCP连接建立过程

强颜欢笑 提交于 2019-12-01 17:38:57
0 个人信息 王普田 计算1814 201821121113 1 实验目的 使用路由器连接不同的网络 使用命令行操作路由器 通过抓取HTTP报文,分析TCP连接建立的过程 2 实验内容 使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程。 建立网络拓扑结构 配置参数 抓包 分析数据包 3. 实验报告 3.1 建立网络拓扑结构 网络拓扑图如下图所示: 3.2 配置参数 客户端的IP地址为 192.168.1.113 服务端的IP地址为 192.168.2.113 给出路由器参数配置的详细操作,解释每条命令的功能。 参数配置的详细操作: 配置参数,PC端,设置默认网关(Deafult Gateway): 配置参数,服务端,设置默认网关(Deafult Gateway): 配置路由器参数: • Router>enable # 进入特权执行模式 • Router#config t # 进入全局配置模式 • Router(config)#hostname R # 将路由器名称配置为R 配置Fa0/0接口; • R(config)#interface f0/0 • R(config-if)#ip address 192.168.1.114 255.255.255.0 • R(config-if)#no shutdown 配置Fa0/1接口; • R

第三次实验报告:使用Packet Tracer分析TCP连接建立过程

时间秒杀一切 提交于 2019-12-01 17:37:54
个人信息: 姓名: 张皓落 学号: 201821121005 班级: 计算1811 1 实验目的 使用路由器连接不同的网络 使用命令行操作路由器 通过抓取HTTP报文,分析TCP连接建立的过程 2 实验内容 使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程。 (1)建立网络拓扑结构 (2)配置参数 (3)抓包 (4)分析数据包 3. 实验报告 3.1 建立网络拓扑结构 3.2 配置参数 PC端配置: 服务器配置: 清除路由器上的现有配置: 配置并激活端口: 启用动态算法并指定网络: 检验ip地址是否正确并且处于接口激活状态: 查看路由表: 尝试是否可以ping通: HTTP报文: TCP报文: 3.3 抓包,分析TCP连接建立过程 (1)示意图 (2)分析序号和确认号的变化 答:首先客户端想服务端发送连接请求,并且发送一个初始序号seq=0,服务端收到请求后,服务端收到请求后完成第一次握手,若同意连接就将想客户端发送确认将ACK置为1,并且将选择一个自己的初始序号,由报文可知将其设置为0即seq设置为0完成第二次握手,。客户端收到服务端的请求后,向服务端发送确认,将ACK置为1,然后将ack置为0,完成第三次握手。 (3)解答:为什么连接建立需要第三次握手 答:确保每一方知道对方的存在,保证双方能够协商一些参数