OpenGaussLab2

OpenGaussLab2

本次实验因华为云服务器欠费,改用本地PostgreSQL替代openGauss数据库,实践高级数据管理功能。实验旨在掌握视图、索引、存储过程、触发器、事务管理及权限管理等核心对象的使用方法。通过具体操作,包括创建多类视图(含WITH CHECK选项和物化视图)、测试索引对查询性能的提升、编写带参数/异常处理的存储过程、设计触发器实现数据审计、验证事务原子性等,深入验证了数据库相关原理。实验虽环境变更,但完整覆盖了openGauss高级功能实践,实现了对数据库对象应用与原理的掌握。

数电实验三 自动贩售机的设计和实现

本实验基于SystemVerilog设计报纸自动贩售机,旨在掌握有限状态机设计方法及三段式建模技术。实验在Windows/Ubuntu系统、Vivado 2018.2及远程FPGA云平台完成。设计核心为有限状态机,支持5分与1角投币,实现15分报纸售卖功能,包含合法投币组合判断、已付款/找零显示(4位七段数码管)、成功后LED亮10秒等。系统由计时器模块(使能时钟生成、边沿检测、10s计数)、状态机核心(定义IDLE、PAID5等状态,实现投币逻辑与输出控制)、二进制转BCD IP模块及7段数码管动态扫描模块(1KHz扫描)构成。通过单元测试与顶层仿真验证各模块功能,实现投币、计费、显示及状态转换的完整逻辑。

数电实验三  自动贩售机的设计和实现
算法练习题

算法练习题

本文为“一&二章 基础算法”的内容总结,涵盖多个基础算法题目及解法。包括机器人模拟(通过遍历移动指令计算坐标位移)、页码统计(统计数字0-9在页码中的出现次数)、字符串操作(如查找子串位置)、高精度加法(处理超长整数相加,需逐位计算并处理进位)、汉诺塔问题(计算移动步数为2^n-1)、最多水容器(双指针法求最大盛水面积)、选择排序(实现数组升序排序)以及字符串合并(按规则插入字符生成新字符串)。各题目均提供输入输出示例及核心代码思路,涉及字符串处理、数学计算、排序模拟等基础算法应用。

算法 

奇怪的C++作业

本文主要包含两个任务:任务1实现了一个自定义双向链表模板类my_list,包含节点基类node_base和派生类node,通过迭代器(node_iterator和node_const_iterator)实现STL算法兼容,并支持插入、删除、拷贝构造等基本操作。任务2开发了一个俄罗斯方块游戏,Block模块定义方块属性并实现移动、旋转、绘制功能,Game模块处理游戏逻辑,包括界面绘制、行消除、分数计算等,使用Easyx图形库实现可视化界面。

C++ 
奇怪的C++作业
数电实验一 多数表决器的设计与实现

数电实验一 多数表决器的设计与实现

本次实验旨在掌握基于Vivado的数字逻辑电路设计流程,熟练使用SystemVerilog HDL的行为建模与结构建模方法,并通过远程FPGA硬件云平台完成功能验证。实验环境为Windows/Ubuntu系统、Vivado 2018.2及远程FPGA平台。核心内容包括:基于74LS138(3-8译码器)和74LS139(2-4译码器)集成电路模块,通过结构化建模设计五人多数表决器电路;同时采用行为建模直接实现表决器功能。实验流程涵盖代码编写、行为仿真、综合实现、比特流生成及远程硬件验证,最终成功实现表决逻辑。总结指出结构化建模设计存在一定难度,行为建模相对基础,需进一步提升工具操作熟练度。

面向对象程序设计-lab2

本次实验旨在熟悉Eclipse开发环境及Java中Set、Map等集合的使用。核心内容为分析超市购物小票数据(字符串格式,分号分隔购物明细,逗号分隔商品),找出最常同时购买的两个商品。实现思路:先按分号分割购物明细,对每条明细用逗号分割商品并通过Set去重;再通过双重循环生成所有不重复商品对,按字典顺序排列后存入Map统计出现频率;最后遍历Map找出频率最高的商品对。实验中运用了compareTo函数排序、getOrDefault函数简化计数等细节,综合考察了Map与Set的协同使用能力,提升了代码可读性与精准性。

面向对象程序设计-lab2
面向对象程序设计-lab1

面向对象程序设计-lab1

本次实验旨在通过游戏角色系统设计实现面向对象编程的核心概念理解与练习。实验需设计包含重型坦克、轻型坦克、兵工厂、兵营、步枪兵、火箭兵、军犬等角色的游戏系统,各角色具备初始生命值与攻击力,实现相互攻击、生命值削减、士兵存活/死亡数量统计等功能。程序采用面向对象方法,定义Game基类,通过继承构建Tank、Soldier等子类,利用枚举类管理对象类型,封装攻击逻辑与状态判断(如isDestroyed()、getHealth())。测试结果表明,系统成功实现角色交互与数据统计功能,验证了面向对象继承、封装、多态的实践应用,同时强调了代码设计中对象关系梳理与细节处理的重要性。

OpenGaussLab1

本文为openGauss数据库初探实验,介绍了华为开源多模态数据库的特性与架构,涵盖安装环境准备、服务器启动控制及gsql客户端连接操作。实验重点实践SQL数据管理功能,包括创建数据库与数据表,执行基本查询、连接查询、子查询、集合查询,完成数据添加/修改/删除及表结构修改等操作。通过实验,掌握openGauss的安装控制方法、客户端连接技巧及SQL增删改查核心操作,理解数据库基本数据管理功能,为后续深入学习奠定基础。

OpenGaussLab1