- 博客(13)
- 问答 (1)
- 收藏
- 关注
原创 HFUT计算方法实验:龙贝格算法
设计复化梯形公式求积算法,编制并调试相应的函数子程序,设计复化辛浦生求积算法,编制并调试相应的函数子程序,熟悉复化梯形方法、复化Simpson方法、梯形递推算法、龙贝格算法;能编程实现复化梯形方法、复化Simpson方法、梯形递推算法、龙贝格算法; 理解并掌握自适应算法和收敛加速算法的基本思想;分析实验结果体会各种方法的精确度,建立计算机求解定积分问题的感性认识;
2025-01-08 16:37:26
243
原创 HFUT计算方法实验:用python实现Doolittle法矩阵三角分解
【代码】HFUT计算方法实验:用python实现Doolittle法矩阵三角分解。
2025-01-05 19:45:07
100
原创 HFUT汇编实验:从键盘读入一个字符串,以Enter结束,字符串不超过50个字符,并打印该字符串(查找中间是否有‘asm’子串。如果有,输出‘Yes’;否则,输出‘No’)。
查找‘asm’字串时,可以利用串操作命令,自动递推循环,从而化简代码,在al中存储要比较的字符,使用scanb字节扫描命令,配合repnz命令,在循环完字符串或者找到字符后终止循环,cld指令控制正向串操作,每次偏移地址的指针+1,如果没有找到完整连续的‘asm’就转移到字符串输出操作,输出在数据段str_y中存储的字符串‘Yes’或在str_n中存储的字符串‘No’,同样使用dos系统21号中断处理程序中的第09H号命令输出存储的字符串。熟悉巧用DOS系统命令important~
2024-12-01 21:43:11
257
原创 HFUT实验:挂接1CH中断,正计时90秒后退出。要求屏幕显示0-89的秒数。
在代码段中,由题意实现1CH中断处理命令的重写,故使用(int 21H)中35号命令获得原处理程序的地址,段地址在es中,偏移地址在bx中,存储并保护原来的代码;使用(int 21H)中25号命令设置新中断处理程序的地址,段地址在ds中,偏移地址在dx中,其中al寄存器存储要修改的中断向量标号,在调用int 1CH后,恢复原来的中断处理程序,将中断向量存储的地址利用25号命令修改为之前存储的地址,完成中断1CH的挂接功能。创作不易,手下留赞!
2024-12-01 21:40:32
222
原创 编写一个子程序计算z=f(x,y)=x*y+x-y(x,y,z有符号数:字),要求:(1)输入参数通过堆栈传送,输出参数通过AX传送(假设结果可以用AX表示得下);(2)结果需要按照10进制的格式
为了避免主程序过于复杂,故在calcu子程序中实现十六进制到十进制的转换。在代码段,把计算变量入栈,利用bp存储临时sp,实现相对寻址栈内使用计算数据,并保护用到的寄存器值,将结果存在z,在主程序放在ax寄存器中。在数据段,定义x和y的初始值,并为运算结果z留下存储空间,用数组array存储10000,1000,100,10,1的十六进制数2710h,03e8h,0064h,000ah,0001h,作为除数计算出十进制数结果的每一位数字,并定义字符串dec_num存储十进制输出字符串结果。
2024-12-01 21:37:49
381
原创 HFUT汇编练习题:BL中的只有一位为1。编写程序测试并输出提示信息“The X Bit is 1”,要求:使用地址表实现分支功能,在分支中输出提示信息
由题意,要求利用地址表实现跳转,判断并显示bl中‘1’的位置,由于题目中已经说明了bl二进制数中只有一位是‘1’,即bl是十六进制数01h,02h,04H,08h,10h,20h,40h,80h八个数中的一个,故利用分支结构实现八选一的跳转,利用循环分别判断bl是哪一个数,用地址表table存储对应的执行语句标号,每一个执行语句实现对应字符串的输出,输出“The x Bit is 1”,表示从bl寄存器从低位到高位第几位是‘1’,用数组array存储八个待比较十六进制数的值,用si寄存器相对寻址,逐渐往后递
2024-12-01 21:33:24
190
原创 HFUT汇编实验:求一个班50名学生成绩的平均值、最大值和最小值,并将结果显示出来。
首先利用堆栈的操作保护寄存器ax,bx的值,不影响主程序的代码,50个数比较找到最大数,只需要比较49次即可,令al寄存器为临时存储最大数的变量,依次递推和成绩数组后面的数比较,如果al大则继续比较,如果al小则让被比较的数作为al寄存器的值,不断迭代更新al的值,直到比较结束,al为最高成绩,存储到数据段中定义的变量max中,找到最高的成绩,最低成绩同理。题目要求计算五十个同学成绩的平均值,求出最大值,最小值,不妨在主程序中计算平均值,使用子程序计算最大值、最小值,简化主程序的长度。
2024-12-01 21:29:11
255
3
原创 HFUT汇编实验:数据段中X、Y、Z、V均为字变量,存放的是16位带符号数。编写汇编语言程序计算表达式值(V–(X*Y+Z-720))/X。
题目没有给出字变量x、y、z、v的值,所以令x=0001h,y=0002h,z=02d0h,v=0005h,要计算(v-(x*y+z-720))/x的值,需要用到符号扩展指令cwd,利用dx和ax寄存器搭配使用实现高十六位和低十六位的运算,并且要考虑计算中的进位和借位,以及有符号乘法除法中imul,idiv指令的使用。从内向外,去掉括号,先乘除后加减,依次运算,最终在寄存器ax得到计算结果。
2024-12-01 21:23:00
239
原创 数据结构课后作业:设计算法求解有向无环图的所有拓扑序列,含图类的基本函数和拓扑排序相关的算法
使用IDE:VS 2022有向无环图(Directed Acyclic Graph,简称DAG)是一种特殊的图,它由一组顶点和一组有向边组成,其中边具有方向,并且图中不存在环。在有向无环图中,拓扑排序是一种重要的排序方法,它将图中的所有顶点排成一个线性序列,满足以下条件:1、图中的每个顶点在序列中只出现一次。2、对于图中的任意一条有向边 𝑢→𝑣,顶点 𝑢 在序列中出现在顶点 𝑣 之前。
2024-05-29 22:40:37
234
原创 数据结构作业——递归:假设你正在爬楼梯,需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶,你有多少种不同的方法可以爬到楼顶呢?
一次可以爬一阶或两阶,n=1,只有一种方法,爬一阶;n=2,有两种方法,爬两阶或者先爬一阶再爬一阶;n=3,可以先爬到第一阶,再爬两阶或者先爬到第二阶再爬一阶;以此类推,爬到第n阶就是先爬到第n-1阶再爬一阶,或者爬到n-2阶再爬两阶或者先爬到第二阶再爬一阶;代码如下,联想斐波那契数列,本质是递推:
2024-04-12 14:00:16
223
原创 数据结构作业——递归与非递归:(1)用递归代码实现斐波那契数列求解;(2)利用转换规则(goto) 将代码(1)转换为非递归代码;(3)简化并梳理代码(2);(4)递归斐波那契数列最优解
(1)用递归代码实现斐波那契数列求解;(2)利用转换规则(goto) 将代码(1)转换为非递归代码;(3)简化并梳理代码(2);(4)递归斐波那契数列最优解;利用递归求出前两项求和得到第三项,依次递增求解;利用goto实现强跳转,转到程序的某个片段中,用栈记录参数和返回的位置,利用栈的特性依次出栈实现递归的思想,将新元素入栈实现新数据的连续计算;在判断时,使用 ? : 语句简化代码;
2024-04-10 22:34:49
374
1
原创 数据结构作业:假设链表表示集合:已知两个集合A、B,设计算法以求解C= A+B(并集), C=A* B(交集),C=A-B(差集),A=A-B(差集),用户自定义集合类型,用链式存储结构,重载运算符。
要求:使用未排序的单链表,使用类模板,运算符重载,链式存储,自定义集合类型;分析:1.首先新建一个链表,并将其作为返回结果;2.二重循环遍历,利用结点指针依次后移比较链表的元素,对于交集,将既在A又在B中的元素加入新建的链表,对于并集,将A和B所有元素加入链表,对于差集,将在A或B中的元素加入新建链表。IDE:Visual Studio 2022
2024-04-09 20:19:01
449
1
空空如也
Ubuntu虚拟机运行PI实例检查Hadoop集群是否搭建成功失败
2025-03-02
linux虚拟机重启系统还原改硬盘永久无效
2025-02-28
Easyx按钮缩放失败的问题
2023-12-10
c语言出错了,可以看看吗?
2023-08-24
c语言编译错误,数组
2023-08-24
C语言,这个哪里错了?
2023-08-07
C语言基础题希望大家看看
2023-06-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人