- 博客(118)
- 收藏
- 关注
原创 深圳大学-智能网络与计算-实验四:云-边协同计算实验
在Map阶段,输入数据被分割成小块,并独立地并行处理,每个小块由一个map函数处理,生成一系列中间键值对。首先从输入文件中读取数据并将其分割成多个块,然后并行处理每个数据块,在Map阶段统计单词出现次数,接着在Shuffle和Sort阶段将结果合并并按照频率排序,最后在Reduce阶段对单词计数进行最终聚合,最终将处理结果写入输出文件。该函数接收一个包含多个块的单词统计结果的数组mappedResults,将这些结果合并计算每个单词在所有块中的总出现次数,然后按照单词出现频率降序排序,并返回排序后的数组。
2025-01-26 21:30:26
930
原创 深圳大学-智能网络与计算-实验三:网络容量优化分析实验
通过这个实验,我深入理解了功率分配优化的重要性以及不同优化方法的应用。通过实际操作和分析,我学会了如何利用CVX工具和凸优化数学分析来解决最优功率分配问题,以提高通信系统的性能和效率。思路如下:通过不断调整参数lambda,计算出最优的功率分配方案P,以最大化系统的总信道容量。在每次迭代中,根据当前的lambda计算出功率分配P,然后根据总功率是否超过限制来调整lambda的上下限,最终达到总功率接近1的最优功率分配。注水算法中的功率分配是一个连续的过程,lambda的取值也是连续的。
2025-01-26 21:12:47
407
原创 深圳大学-智能网络与计算-实验二:STM32编程实验
get_led_status 函数用于读取各个LED引脚的状态,并将状态以位掩码的形式返回,以便获取LED的当前状态。阅读main.c文件,这个代码的功能是通过设置定时器,使两个LED(D3和D4)交替闪烁,定时器每隔1秒触发一次,在定时器中断服务程序中修改 led_status 的值,主循环根据 led_status 的值来控制 D3 和 D4 的亮灭。灯(交替)闪烁的原理:定时器定时触发中断,中断服务程序控制LED状态的变化,LED控制函数根据状态控制LED的亮灭,从而实现了LED灯的交替闪烁功能。
2025-01-24 18:41:34
935
原创 深圳大学-智能网络与计算-实验一:RFID原理与读写操作
这是因为起始读取地址+读取长度的值不得大于8造成的,现起始读取地址为5,读取长度为4,5+4>8,故出现错误提示。这是因为 读取TID区数据时,要求“起始读取地址”+“读取长度”之和不得大于9,否则会出现“重新输入起始读取地址和读取长度”的提示。(1) 选择内存区域为 RFU,单击“读取”按钮进行 RFU 数据读取,且 RFU 保留区数据读取要求“起 始读取地址”+“读取长度”不得大于4,否则会出现“重新输入起始读取地址和读取长度”的提示。当起始读取地址填入16,读取长度为5时,出现了错误提示。
2025-01-24 18:28:59
1209
原创 深圳大学-计算机系统(3)-实验五处理器结构实验二
BTB的重要性:• 对于循环中存在大量分支指令的程序,启用BTB能够显著提高分支预测的准确性,减少流水线清空,提升性能。• BTB的效果依赖于分支指令的规律性,规律越明显,优化效果越好。循环展开的优势:• 循环展开通过减少分支指令的频率,间接降低了对BTB的依赖。• 特别是在 BTB 功能受限的硬件环境中,循环展开是一种有效的性能优化手段。BTB的局限性:• BTB 的预测依赖于历史行为,当分支跳转模式不规律或随机性较大时,BTB 的预测效果显著下降,反而可能降低性能。
2025-01-23 14:45:51
1264
原创 深圳大学-计算机系统(3)-实验四处理器结构实验一
优化数据相关可以减少由于数据依赖导致的停顿,提高指令的执行效率。开启Forwarding功能可以减少数据依赖造成的性能损失,加速指令的执行。消除结构相关可以避免硬件资源的争用,提高流水线的并发性和性能表现。总的来说,本次实验通过对数据相关和结构相关的优化,我掌握了流水线优化的原理,学会了流水线优化的方法,加深了我对计算机体系结构工作原理的理解。
2025-01-23 14:11:45
809
原创 深圳大学-计算机系统(3)-实验三取指和指令译码设计
译码器的设计在实验的第一部分,我设计了译码器。译码器的主要作用是根据指令的操作码确定要执行的操作。通过实现一个简单的译码器,我学会了如何将机器指令解析成控制信号,并将这些控制信号进一步用于驱动后续硬件模块。寄存器文件的实现实验的第二部分是设计寄存器文件,负责存储和读取寄存器数据。通过实现一个多端口的寄存器文件,我掌握了如何通过硬件访问和操作寄存器值。指令存储器的设计与数据通路原型在最后的阶段,我设计了指令存储器,并将其与前面的译码器和寄存器文件连接,形成了一个简单的数据通路原型。
2025-01-22 20:57:57
1375
原创 深圳大学-计算机系统(3)-实验二MIPS64乘法器模拟实验
第一部分实验让我更深入理解了乘法运算的基本逻辑,以及如何通过加法器来实现乘法。它让我认识到许多复杂的运算其实可以通过简单的逻辑单元来实现,进一步加深了我对计算机硬件工作的理解。第二部分实验让我体会到计算机如何通过额外的检查和控制逻辑来保证计算结果的正确性。这个过程不仅考验了我的逻辑思维能力,还让我认识到现代计算机处理器在执行复杂运算时对错误检测与处理的重视。
2025-01-22 20:19:31
954
原创 深圳大学-计算机系统(3)-实验一MIPS指令集实验
通过本次实验,我学会了WinMIPS64的基本操作,例如如何载入程序、运行程序等。通过本次实验,我还对流水线有了基本的认识,每个指令就像传送带的货物一样,五个节拍就像是处理货物的机器一般,每个货物在传送带一直往前,指令不断地进行每个节拍,如果有一个节拍暂时无法进行,那么将会等待直到可以执行为止,此时后面的指令都会被阻塞。通过本次实验,我也认识到了流水线的优点:①允许同时执行多条指令的不同阶段,从而提高了处理器的吞吐量和效率②多条指令可以同时处于不同阶段,整体的指令执行时间会缩短。
2025-01-21 13:53:28
714
原创 深圳大学-计算机图形学-实验四
实现TriMesh类中的readObj函数,使得vertex_textures中存储UV坐标数据,vertex_positions存储顶点坐标数据,vertex_normals存储顶点法线数据,vertex_colors存储顶点颜色数据;faces存储三角面片的顶点索引数据,normal_index存储三角面片的顶点的法向量数据的索引下标,texture_index存储三角面片的顶点的纹理坐标数据的索引下标。当类型为 “vt” 时,表示读取到一个纹理坐标,将其存储在 vertex_textures 中。
2025-01-21 10:22:08
750
原创 深圳大学-计算机图形学-实验4.1
(2)启用顶点属性数组:通过glEnableVertexAttribArray函数启用顶点属性数组,以便在OpenGL中存储纹理坐标数据。这样,OpenGL就能够使用之前获取的纹理坐标属性位置来访问和处理纹理坐标数据。(1)获取纹理坐标属性位置:通过glGetAttribLocation函数获取着色器程序对象中名为"vTexture"的顶点属性的位置,这个位置将用来在顶点着色器中访问纹理坐标数据。2. 参考圆柱体的函数写法,以及圆盘的表面展开,将TriMesh.cpp的generateDisk函数完成。
2025-01-20 16:50:54
322
原创 深圳大学-计算机图形学-实验三
(2)物体渲染:更新物体的模型矩阵到着色器中,将阴影标志设置为1,表示物体会cast阴影。(1)阴影投影计算:通过light->getShadowProjectionMatrix()获取光源的阴影投影矩阵,然后将其乘以模型矩阵modelMatrix,以便在阴影贴图中正确投影物体。参考实验3.2,以步骤3中的光源位置作为投影中心,自定义投影平面(为计算方便,推荐使用y=0平面),计算阴影投影矩阵,为三维物体生成阴影。参考实验2.1,使用鼠标点击控制光源位置并更新光照效果,并同时更新三维物体的阴影。
2025-01-20 13:50:14
671
原创 深圳大学-计算机图形学-实验3.4
6.在main.cpp中mainWindow_key_callback()函数完善键盘交互。1.完善Trimesh.cpp中的computeTriangleNormals()函数。2.完善Trimesh.cpp中的computeVertexNormals()函数。3.完善main.cpp中的bindObjectAndData()4.在fshader.glsl中完善main()(截图一下相关代码)(截图一下相关代码)(截图一下相关代码)
2025-01-19 21:27:27
542
原创 深圳大学-计算机图形学-实验3.3
6.在main.cpp中mainWindow_key_callback()函数完善键盘交互。1.完善Trimesh.cpp中的computeTriangleNormals()函数。2.完善Trimesh.cpp中的computeVertexNormals()函数。3.完善main.cpp中的bindObjectAndData()4.在vshader.glsl中完善main()(截图一下相关代码)(截图一下相关代码)(截图一下相关代码)
2025-01-19 21:03:42
498
原创 深圳大学-计算机图形学-实验3.2
1.在Camera.cpp中完善lookAt函数、ortho函数和perspective函数。2. 参考实验资料,补全main.cpp中的display()函数。1.熟悉在OpenGL中实现正交投影变换。2.了解使用投影变换实现场景的硬阴影效果。(自行截图运行结果说明)
2025-01-18 10:39:18
257
原创 深圳大学-计算机图形学-实验3.1
6.在main.cpp的display_4调用perspective()生成透视投影矩阵。2.更改updateCamera()函数,根据角度与距离半径更新计算相机eye的位置。4.在main.cpp的display_3调用ortho()生成正交投影矩阵。5.了解在OpenGL中实现正交投影和透视投影变换。1.了解OpenGL中相机的模型视图变换的基本原理。5.实现计算透视投影的perspective函数。2.掌握OpenGL中相机观察变换矩阵的推导。3.掌握在OpenGL中实现相机观察变换。
2025-01-18 10:30:31
305
原创 深圳大学-计算机图形学-实验二
1.参考上机实验2.2的内容,完成对OFF格式三维模型文件的读取与显示。该函数用于设置当前旋转轴和旋转方向,并打印当前旋转状态。(截图键盘回调函数的代码说明,此处图太多,不放了)2.改变物体的显示颜色,尽量特别,但不要太难看。5.显示函数中的旋转角度更新与旋转矩阵计算。按下左键,动画开始;按下右键,动画停止。一. OFF格式三维模型文件的读取。3.重置旋转角度和增量的函数。二. 三维模型的旋转动画。2.更新旋转角度的函数。4.更新旋转速度的函数。
2025-01-17 22:38:30
482
原创 深圳大学-计算机图形学-期中大作业
同级目录下记得放个bestScore.txt用于记录历史最高分哦!2)按B键可以选择下一个方块的形状(类似使用道具的效果)1)绘制棋盘格和O,I,S,Z,L,J,T型方块。2)键盘左/右/下键控制方块的移动,上键旋转方块。7)按空格键可以让方块直接下落到能到达的最低地方。8)按P键可以暂停/开始游戏(游戏未结束的时候)3)游戏开始时可选择难度,开始后可动态调整难度。5)方块之间、方块与边界之间的碰撞检测。3)随机生成方块并赋上不同的颜色。4)方块的自动向下移动。1)记录历史最高分。
2025-01-17 22:27:14
543
原创 深圳大学-计算机图形学-实验2.3
1.在TriMesh.cpp中完善generateCube和storeFacesPoints函数。2. 将bindObjectAndData内标记了@TODO的注释代码取消掉。根据实验要求里面给的立方体示意图,从而补全该函数。1.2 完善storeFacesPoints函数。3. 在main.cpp中完善display函数。1.1 完善generateCube函数。
2025-01-15 13:17:32
371
原创 深圳大学-计算机图形学-实验2.2
7.补全代码,使得用户能够通过按下不同的按键来切换渲染模式,从填充模式切换到线绘制模式,或从线绘制模式切换回填充模式。6.补全代码,使得用户能够通过按下不同的按键来控制剔除的状态,包括启用或关闭反面剔除和正面剔除。3.取消掉被注释掉的代码。以下代码的作用是将顶点坐标和颜色数据存储在GPU的缓冲区对象中,以便在渲染时可以高效地访问和使用这些数据。2.提取每个三角面片的顶点坐标和颜色信息,并将这些信息按顺序分别填充到points和colors,确保后续能够准确绘制三维模型。
2025-01-15 13:09:36
478
原创 深圳大学-计算机图形学-实验一OpenGL基本绘制
图案由正方形,圆形,椭圆形,三角形组成,定义之后按照一定顺序绘制即可了,然后再考虑颜色问题,中间在绘制的过程中踩雷了,因为一些先绘制的图案把原来的图案遮住了,所以绘制顺序很重要。最终图案与构思版有所区别,但大致形状基本一致,我把作品取名为《几何之脸》,因为图案由简单的图形组成,且有脸型,故以之命名。故思路为: 利用for循环,生成几个嵌套的正方形,每次绘制完正方形后,正方形的大小变小,然后更改绘制颜色。c) 测试vcpkg是否安装成功,打开cmd,键入vcpkg,出现以下提示,说明vcpkg已配置成功。
2025-01-14 21:22:54
1379
原创 深圳大学-程序设计基础-OJ
定义一个函数,返回值为一个整数,参数是两个结构体指针,函数操作是比较两张试卷的每道题目的答案,如果相同题号的答案相似度超过90%,那么就认为有抄袭,函数返回抄袭题号,否则返回0。相似度是指在同一题目中,两个答案的逐个位置上的字符两两比较,相同的数量大于等于任一个答案的长度的90%,就认为抄袭。其中,蜂房的结构如下所示。输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。输入学生个数和每个学生的数据,每个学生的数据包括学号,姓名,3门课的成绩。
2025-01-12 11:29:43
581
原创 深圳大学-程序设计基础-OJ
这时候密钥已经使用完,那么又重头开始使用。因此明文的d对应密钥的2,转化为f,明文的e对应密钥的3转化为h。输入一个字符串,判断这个字符串是否一个完全整数值的字符串,例如输入"1234",那么表示整数1234,输入"12a3"就表示只是一个字符串,不是一个整数。2.在比较中,如果字符串S的字符大于字符串T的字符的数量超过小于的数量,则认为S大于T,如果等于则S等于T,如果小于则S小于T。如果字母偏移的位数超过26个字母范围,则循环偏移,例如字母z偏移2位,就是转化为b,同理字母x偏移5位就是转化为c。
2025-01-12 11:28:15
744
原创 深圳大学-程序设计基础-OJ
数独是一种填数游戏,玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫(3*3)内的数字均含1-9,不重复。4.若(K−1)既不在第一行,也不在最后一列,如果(K−1)的右上方还未填数,则将K填在(K−1)的右上方,否则将K填在(K−1)的正下方。有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环。在上题数独验证的代码上,增加函数,根据输入的9*9盘面已知数字,求解数独,并输出解。例如,下图就是6的一个素数环。
2025-01-12 11:24:54
797
原创 深圳大学-程序设计基础-OJ
A. 回文判断(函数)题目描述编写一个函数int isPalindrome(char s[]),判断参数表示的字符串是否是回文,如果是返回1,否则返回0。在主函数中调用它,判断输入的字符串是否是回文,如果是,输出“yes”,如果不是,输出"No"。输入测试数据的个数 t第一个字符串第二个字符串…输出如果是,输出“yes”,如果不是,输出"No"输入样例3abbaabcbaab输出样例YesYesNo代码#define _CRT_SECURE_NO_WARNINGS
2025-01-12 11:21:27
531
原创 深圳大学-程序设计基础-OJ
校验码计算方法:将身份证前十七位数分别乘以7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2,将这十七位数字和系数相乘的结果相加,用加出来的和除以11,看看余数是多少。余数只可能有0、1、2、3、4、5、6、7、8、9、10这十一个数字,其分别对应的最后一位身份证的号码为1、0、X、9、8、7、6、5、4、3、2,这样就得出了第二代身份证第十八位数的校验码。编写一个函数,m和n是参数,按以下公式求组合数的值,假设m,n都是正整数,且m>n。n阶幻方矩阵是指将1,2,3,…
2025-01-12 11:20:44
868
原创 深圳大学-程序设计基础-OJ
A. 【填空题】合并有序数组题目描述编写一个程序,将两个元素从小到大有序的一维数组(输入时保证各自有序)归并成一个有序的一维数组。输入首先输入第一个有序数组的元素数目m。接着输入m个数组元素。再输入第二个有序数组的元素数目n。接着输入n个数组元素。输出将两个有序一维数组合并为一个有序数组并按照从小到大顺序输出。输入样例62 5 8 11 20 3541 6 15 60输出样例1 2 5 6 8 11 15 20 35 60代码#include<stdio.h>
2025-01-10 17:26:32
981
原创 深圳大学-程序设计基础-OJ
定义一个10个元素的整型数组,首先输入10个元素的值,然后输入需要删除的元素的值,如果数组中存在该元素,删除它,并输出删除后的数组的其余元素(注意,数组元素之间以空格分隔,最后一个元素后换行);因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把。对任意大于1的自然数n,若n为奇数,则变为3n+1;然后让用户输入一个数据,在数组中查找该数据第一次出现的位置,找到了,输出该元素的下标,找不到,输出“Not found”。
2025-01-10 17:16:44
680
原创 深圳大学-程序设计基础-OJ
A. 100到n以内的水仙花数题目描述若3位数ABC满足ABC=A3+B3+C3,则称其为水仙花数.例如:153=13+53+3^3,所以153是水仙花数.你的任务是输出100~n中所有的水仙花数.每行输出一个。输入输入n,表示100到n之间的范围输出请输出100~n中所有的水仙花数.每行输出一个.样例输出只输出一个水仙花数,你必须将所有的水仙花数都输出。输入样例200输出样例153代码#define _CRT_SECURE_NO_WARNINGS#include <
2025-01-10 17:15:18
1502
原创 深圳大学-程序设计基础-OJ
对于一个整数n与其逆序数m(将整数倒过来形成的数,如123的逆序数为321),若m恰为n的整数k倍,称n*k=m为倍逆序式数。5、如果在正方形中能够找到以字母对为顶点的矩形,假如字母对为am,则该矩形的另一对顶点字母中,与a同行的字母应在前面,在上例中应是ob;其中n为输入的整数,m为其逆序数,k是m为n的倍数,*和=都是英文符号,该输出公式中不得有空格等其它任何字符。按从大到小顺序排序输出合并后的整数集(去掉在两组整数中都出现的整数,以一个空格分隔各个整数),若为空,则输出NULL。
2025-01-09 10:14:55
975
原创 深圳大学-程序设计基础-OJ
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,如果加上后大于10就用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。在大写字母之间按字母表顺序,越靠前越大,例如A比B大,B比C大,Z在大写字母中最小。输入一个字符,如果它是大写字母,就输出“upper”,如果它是小写字母,就输出“lower”,如果它是数字字符,就输出"digit",如果它是其他字符,就输出“others”。输入“b 6”,输出“红桃6”;
2025-01-09 10:13:27
1025
原创 深圳大学-程序设计基础-OJ
用户输入一个算术运算的式子,运算包括了+、-、*、/、%,首先输出该式子,如果运算符不在这5种操作内,输出运算符错误的信息;利润高于100000元,低于200000元(100000<I≤200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成 7.5%;用三元组(r,g,b)表示RBG颜色值的一种颜色,其中r、g、b分别为该颜色的R 值、G 值、B 值,0≤r,g,b≤255且皆为十进制整数。输入r、g、b的十六进制表示,输出其反色的十六进制颜色码。例如输入 E,输出 e。
2025-01-08 20:26:54
748
原创 深圳大学-程序设计基础-OJ
输入一个三位正整数,分解出个位、十位、百位,并将百位数字与个位数字交换重新组合成一个整数并输出。输入两个整数a和b,依次输出这两个数的四则运算结果,即a-b,a+b,a*b,a/b。假设输入始终满足b^2-4ac>0且a不等于0,计算并输出该方程的两个实根。输入长方体的长、宽、高(假设均为整数),计算并输出长方体的体积和表面积。输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。输入一元二次方程ax^2+bx+c=0的系数a、b、c。
2025-01-08 20:13:59
550
原创 深圳大学-互联网编程-实验4传输协议与套接字应用编程
本实验得分87/100,代码也是不太行,重在报告。对服务器进行压力测试,测试可支持多少个客户端同时访问,测试可支持多少个文件同时传输等,描述测试方法与测试结果。使用JMeter进行压力测试。1.启动服务器程序,等待客户端连接2.创建测试计划:打开 JMeter,创建一个新的测试计划。在测试计划中,定义测试的目标、配置线程组、添加取样器(Sampler)和监听器(Listener)等。3.配置线程组:线程组定义了并发用户的行为。在线程组中,设置用户数目、循环次数、启动延迟等参数。
2024-12-02 19:05:55
909
原创 深圳大学-互联网编程-实验2多线程/线程池TCP服务器端程序设计
本实验报告仅获得82分(满分100分),本实验存在实验数据造假行为,原因是当时跑出来的数据和同学不太一样,就直接造假了,建议你们自己真实跑一下真实的数据。1.在设计和编写多线程TCP服务器和线程池TCP服务器时,我深入了解了多线程和线程池的概念、原理和应用。通过使用多线程和线程池处理客户端连接请求,我学会了如何提高服务器的并发处理能力和性能。2.通过自主编写客户端程序和设计测试方式,我对多线程和线程池服务器进行了性能比较和并发处理能力的分析。
2024-12-02 18:41:39
1040
原创 深圳大学-互联网编程-实验3域名IP转换及应用URL类定位和获取数据编程
通过本次实验,我加深了对 Java 网络编程和文件处理的理解,提高了我的编程能力。我学会了如何利用 Java 提供的类和库来处理网络请求、HTML 解析以及文件下载等任务。此外,这次实验也让我更加熟悉了网络传输中的一些概念,如请求头、状态码和断点续传等。
2024-11-27 12:26:17
1180
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人