北航计软实验报告四
北航数值分析实验报告

北航数值分析实验报告篇一:北航数值分析报告第一大题《数值分析》计算实习报告第一大题学号:DY1305姓名:指导老师:一、题目要求已知501*501阶的带状矩阵A,其特征值满足?1?2...?501。
试求:1、?1,?501和?s的值;2、A的与数?k??1?k?501??140最接近的特征值?ik(k=1,2,...,39);3、A的(谱范数)条件数c nd(A)2和行列式de tA。
二、算法设计方案题目所给的矩阵阶数过大,必须经过去零压缩后进行存储和运算,本算法中压缩后的矩阵A1如下所示。
?0?0?A1??a1??b??c0b a2bcc bb c............c bb ccb a500b0a 3...a499c?b??a501??0?0??由矩阵A的特征值满足的条件可知?1与?501之间必有一个最大,则采用幂法求出的一个特征值必为其中的一个:当所求得的特征值为正数,则为?501;否则为?1。
在求得?1与?501其中的一个后,采用带位移的幂法则可求出它们中的另一个,且位移量即为先求出的特征值的值。
用反幂法求得的特征值必为?s。
由条件数的性质可得,c nd(A)2为模最大的特征值与模最小的特征值之比的模,因此,求出?1,?501和?s的值后,则可以求得c nd(A)2。
北航计软实验报告一

北航计软实验报告一————————————————————————————————作者: ————————————————————————————————日期:计算机软件基础上机实验报告(一)XXXXXX班XXX1.实验目的掌握线性表在顺序分配下的插入与删除运算;掌握线性表的链式存储结构;掌握插入排序的方法;并掌握一种产生随机数的方法。
2.实验内容1.产生1000个0至999间的随机整数,并以产生的次序存入一个数据文件中。
2.编制一个程序,依次实现以下功能:(1)ﻩ定义一个有序(非递减)线性表,其最大容量为1000,初始时为空。
(2)ﻩ从由1产生的数据文件中依次取前N个随机整数,陆续插入到此线性表中,并要求在每次插入后保持线性表的有序性。
最后将此有序线性表打印输出。
(3)ﻩ在由(2)产生的线性表中,依在1中产生的次序逐个将元素删除,直至表空为止。
3. 以N=100及N=400分别运行2的程序,并比较它们的运行时间。
4. 编写一个程序,用插入排序依次将1中产生的1000个随机整数链接成有序链表(不改变原随机数在存储空间中的顺序)。
3.源代码与运行结果#include<stdio.h>#include<stdlib.h>#include<time.h>/**1_1产生1000个0至999间的随机整数,并以产生的次序存入一个数据文件(1_1.txt)中。
**/main(){FILE *fo=fopen("1_1.txt","w");int i,j;srand((unsigned)time(0));for(i=0;i<=999;i++)fprintf(fo,"%d\n",rand()%1000);fclose(fo);printf("1000个随机数已输出至目录下1_1.txt文件\n");system("pause");}输出文件1_1.txt如下:(因输出文本长度缘故,此处只截了一幅图)#include<stdio.h>#include<stdlib.h>#include<time.h>/**1_2从数据文件(1_1.txt)中读取数据,进行插入排序,然后屏幕输出。
北航大软报告

北京航空航天大学航空学院微机原理与应用专业班级:140511 学号:14051004 姓名:张佳奇实验一Debug程序的使用一实验目的1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。
2、掌握8086/8088的寻址方式及多字节数据的处理方法。
二实验内容1、启动DOS操作系统2、运行程序(若当前盘为C)C:>DEBUG↙– ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG命令)3、用“A”命令编辑和汇编源程序–A ↙2A7D: 0100 MOV AX,02012A7D: 0103 MOV BX,02002A7D: 0106 MOV CX,00012A7D: 0109 MOV DX,00002A7D: 010C INT 132A7D:010E INT 32A7D:010F4、用“U”命令反汇编验证源程序–U 100↙5、程序未执行前,用“R”命令观察,相关寄存器的内容。
–R↙如:(AX)= 0000,(BX)= 0000,(SI)= 0000 ,(DI)= 0000 ,(CS)= 13B0 ,(IP)= 0100。
6、用“G”命令运行源程序7、再用“D”命令观察DS:0100H~DS:010BH字节单元中的内容–D 100 10B8、用“T”单步操作命令对源程序单步执行,观察AX、BX、CS、IP寄存器内容的变化,并与预计的结果相比较。
注意:●D命令显示内存数据,注意观察多字节数据在内存中的存放方式。
●指令执行的时候,IP寄存器随着变化,注意观察。
三实验结果(截屏)实验结果表明,AX、BX、CS、IP寄存器内容与预计的结果一致。
实验二汇编语言程序设计A 1、显示hello world!实验结果(包括必要截图)实验截图B 1、找出从无符号字节数据存储变量V AR开始存放的6个数_2_,_4_,_1_,_1_,_3_,_9_中最大数放在BH中。
(2,4,1,1,3,9)2、用文字编辑工具edit或记事本将程序输入,扩展名为.asm,使用masm type link 产生exe 并使用debug检查3、写出实验程序A. 显示hello world!DATAS SEGMENTSTRING DB 13,10,'Hello World!',13,10,'$'DA TAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DA TASMOV DS,AXLEA DX,STRINGMOV AH,9INT 21HMOV AH,4CHINT 21HCODES ENDSEND STARTB.找出从无符号字节数据存储变量V AR开始存放的N个数中最大数放在BH中DSEG SEGMENTV AR DB 2,4,1,1,3,9N EQU $-V ARANSWER DB 2 DUP(?)DSEG ENDSSTACKS SEGMENT PARA STACK 'STACK'DB 200 DUP(?)STACKS ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEG,SS:STACKSBG: MOV AX,DSEGMOV DS,AXMOV CX,N-1MOV SI,0MOV BH,V AR[SI]JCXZ LASTAGIN: INC SICMP BH,V AR[SI]JAE NEXTMOV BH,V AR[SI]NEXT: LOOP AGINLAST: MOV AH,BHMOV DI,OFFSET ANSWERADD AH,48MOV [DI],AHPUSH AXMOV DL,[DI]MOV AH,02H;MOV SI,0INT 21HPOP AXMOV AH,4CHINT 21HCSEG ENDSEND BG4、实验结果(包括必要截图)实验截图。
北航计算机软件技术基础实验报告计软实验报告3——冒泡排序和快速排序

实验报告实验名称冒泡排序和快速排序班级学号姓名成绩#include<stdio.h>#include<stdlib.h>#define N 20//定义用于比较和交换计数的全局变量static int compare, move;int main(){int data1[N], data2[N];int i;void bubbleSort(int[20]);void quickSort(int[20], int, int);//创建两个相同的数组用于两种排序方法for (i = 0; i<N; i++){data1[i] = rand() % 100 + 1;data2[i] = data1[i];}printf("The original array:\n");for (i = 0; i<N; i++)printf("%d ", data1[i]);//调用冒泡排序法bubbleSort(data1);//计数器置零compare = 0;move = 0;//调用快速排序法quickSort(data2, 0, N - 1);printf("Quicksort completed!The results are as follows:\n");for (i = 0; i<N; i++)printf("%d ", data2[i]);printf("\nCompare times:%d\n", compare);printf("Move times:%d", move);return 0;}//冒泡排序法void bubbleSort(int a[N]){int i, j, temp;compare = 0;move = 0;//总共循环N-2轮for (i = 0; i<N - 1; i++){//每轮循环从头开始,到有序序列前结束for (j = 0; j<N - i - 1; j++){//比较交换,将较大的数放到后面if (a[j + 1]<a[j]){temp = a[j + 1];a[j + 1] = a[j];a[j] = temp;move++;}compare++;}}printf("\n\nBubblesort completed!The results are as follows:\n");for (i = 0; i<N; i++)printf("%d ", a[i]);printf("\nCompare times:%d\n", compare);printf("Move times:%d\n\n", move);}//快速排序法void quickSort(int a[N], int left, int right){//将数组一分为二的键值int pivotkey;if (left < right){//第一次排序将数组一分为二pivotkey = partition(a, left, right);//递归调用,对数据比键值小的数组排序quickSort(a, left, pivotkey - 1);//递归调用,对数据比键值大的数组排序quickSort(a, pivotkey + 1, right);}}//进行一次快速排序int partition(int a[N], int left, int right){int key, i, low = left, high = right;//设置基准key = a[low];while (low<high){//high中数据比基准大,则向前依次查找while ((low < high) && (a[high] > key)){high--;compare++;}//如果不是两指针相遇,说明存在需要交换到low的值if (low < high){a[low] = a[high];move++;}//low中数据比基准小,则向后依次查找while ((low < high) && (a[low] <= key)){low++;compare++;}//如果不是两指针相遇,说明存在需要交换到high的值if (low<high){a[high] = a[low];move++;}}//首尾指针相遇后,将基准放入空位a[low] = key;//返回此时的键值return low;}运行结果:【结论】(结果)1.由实验结果知,编写的冒泡排序法和快速排序法都成功的将一个无序的数组排成了一个有序数组并打印输出,说明这两种算法是可行的。
北航计算机控制系统实验报告

北航计算机控制系统实验报告一、实验目的通过本实验,旨在加深对计算机控制系统的理解,熟悉计算机控制系统的基本组成和原理,并能够运用所学知识进行实际的控制系统设计与调试。
二、实验原理计算机控制系统是一种通过计算机对实际物体或过程进行控制的系统。
其基本组成包括传感器、执行机构、人机界面、控制算法和控制器等。
传感器负责将物理量转换成电信号,输入给计算机;执行机构根据计算机的控制信号完成相应的动作;人机界面提供了与计算机进行交互的方式;控制算法基于传感器采集到的信息和用户的输入,计算出执行机构所需的控制信号;控制器根据控制算法输出的控制信号与执行机构进行交互。
三、实验内容本实验的主要内容为设计一个自动化温控系统。
系统包括一个温度传感器、一个加热器和一个温度控制器。
温度传感器负责采集环境温度,并将其转换成模拟电信号输入给温度控制器;加热器根据温度控制器输出的控制信号控制加热功率,从而调节环境温度;温度控制器根据温度传感器采集到的温度信号和用户设定的目标温度,计算出加热功率控制信号。
四、实验步骤1.连接硬件设备将温度传感器的输出接口与温度控制器的输入接口相连;将温度控制器的输出接口与加热器的输入接口相连。
2.设计控制算法根据用户设定的目标温度和实际温度,设计一个控制算法,计算出加热功率控制信号。
常见的控制算法包括PID控制算法、模糊控制算法等。
3.编写控制程序使用编程语言编写一个控制程序,根据控制算法计算出的控制信号,通过温度控制器的输出接口发送给加热器。
4.调试控制系统运行控制程序,观察温度控制系统的运行情况。
根据实际温度与目标温度的偏差调整控制算法的参数,使系统达到较好的控制效果。
五、实验结果分析运行实验过程中,通过观察实际温度与目标温度的偏差,可以评估系统的控制效果。
根据实际情况,调整控制算法的参数,使系统的响应速度更快、稳定性更好。
六、实验总结通过本实验,我对计算机控制系统的基本原理和组成有了更深入的理解,掌握了控制系统的设计与调试方法,并在实践中提高了解决实际问题的能力。
北航机械原理实验报告

北航机械原理实验报告北航机械原理实验报告引言:机械原理是机械工程中的基础课程,通过实验学习机械原理的基本概念和原理,对于培养学生的动手能力和理论应用能力具有重要意义。
本实验报告旨在总结北航机械原理实验的过程和结果,并分析实验中遇到的问题以及解决方案。
实验一:简单机械原理的验证本实验通过搭建简单的杠杆、滑轮和斜面等机械结构,验证机械原理中的力的平衡和力的传递原理。
实验结果表明,当杠杆处于平衡状态时,力矩的大小和方向相等;滑轮可以改变力的方向,但不能改变力的大小;斜面可以减小力的大小,但不能改变力的方向。
通过这些实验,我们深刻理解了机械原理中的力的平衡和传递原理。
实验二:力的分解与合成本实验通过使用力的分解和合成原理,研究力的合成和分解过程。
实验结果表明,力的合成可以将多个力合成为一个力,而力的分解可以将一个力分解为多个力。
通过实验,我们了解到力的合成和分解不仅可以简化力的计算,还可以帮助我们更好地理解和分析力的作用。
实验三:力的测量本实验通过使用测力计和弹簧测力计等仪器,研究力的测量方法和原理。
实验结果表明,测力计可以通过读取刻度值来测量力的大小,而弹簧测力计则通过弹簧的伸长量来测量力的大小。
通过实验,我们了解到力的测量是机械原理中非常重要的一环,准确的力的测量可以帮助我们更好地进行力的分析和计算。
实验四:摩擦力的研究本实验通过使用倾斜面和测力计等仪器,研究摩擦力的大小和影响因素。
实验结果表明,摩擦力的大小与物体之间的接触面积、物体的质量和表面粗糙度等因素有关。
通过实验,我们了解到摩擦力是机械原理中常见的一种力,对于机械系统的运动和能量转换具有重要影响。
实验五:机械传动的研究本实验通过使用齿轮传动和皮带传动等机械结构,研究机械传动的原理和特点。
实验结果表明,齿轮传动可以实现不同转速和转矩的传递,而皮带传动则可以实现远距离和大功率的传递。
通过实验,我们了解到机械传动是机械原理中非常重要的一部分,对于机械系统的运动和工作具有重要影响。
北航计软实验报告实验一
2.删除 输入:线性表 L(1:n),n 为线性表的长度,删除的元素 b(一定在线性表中) 。 输出:删除 b 后的线性表 L(1:n)。
IF n = 0 T HENOUT PUT" underflow" ELSE{ i 1 WHIL E (i n) and (L(i) b) DO i i 1 IF i n T HEN OUT PUT" not thiselement" ELSE{ IF i n T HEN FOR j i T O n - 1 DO L(j) L(j 1) n n 1 } } RET URN
(3)线性链表的插入排序 输入:1000 个随机整数。 输出:头指针为 H 的有序链表。
H 1; READ x; A(1,1) x; A(1,2) 0 FOR k 2 TO 1000 DO{ READ x; A(k,1) x IF A(H,1) x THEN {A(k,2) H; H k} ELSE{ iH WHILE (A(i,2) 0) and (A(A(i,2), 1) x) DO i A(i,2) A(k,2 ) A(i,2); A(i,2) k } } RET URN
实验报告
实验名称
线性表的插入语删除
班 学 姓 成
级 号 名 绩
实验概述:
【实验目的及要求】
掌握线性表在顺序分配下的插入与删除运算; 掌握线性表的链式存储结构; 掌握插 入排序的方法;并掌握一种产生随机数的方法。
【实验原理】
(1)随机整数的产生 设 m=216,初值 y0=0,则递推公式 yi=mod(2053 yi-1+13849,m)产生 0 至 65535 之间的 随机整数。如要产生 0 至 999 之间的随机整数,只需做运算 xi=INT(1000yi/m)。 (2)线性表的插入与删除 1.插入 输入:数组 L(1:m),有序线性表 L(1:n),需插入的新元素 b。其中 n<m。 输出:插入 b 后的有序线性表 L(1:n)。
北航计算机软件技术基础实验报告实验报告4-2——数据库应用系统的开发
实验报告
实验名称数据库应用系统的开发
班级
学号
姓名
成绩
【实验方案设计】
1. 利用Visual Basic里的VB Application Wizard按照步骤逐步创建一个窗体应用程序,并链接到上一实验创建的数据库中,同时添加各种操作按钮,如插入、删除、更改等,最后将数据库的每个表视图集合到主视图中
【实验过程】(实验步骤、记录、数据、分析)
1.选择数据来源种类
2.选择数据库文件并做链接
3.选择数据视图布局,此处选择网格式布局,便于查看全部数据
4.选择一个表及要添加的字段和排列顺序
5.选择对数据可进行的操作按钮,如添加、更改、删除、更新、关闭等
6.添加完一个表后,继续添加其他表,直到整个数据库所有表已添加
7.添加完成后界面
8.通过链接到ACCESS数据库的VB数据库管理程序查看每个表数据,并进行数据增加、删除、修改等操作
9.在数据库管理系统中对数据进行增加操作,此处增加一条订单ID为151112的记录,可以看到在ACCESS中的数据表进行了同步增加。
这样就可以达到不打开ACCESS而只通过一个单界面应用程序就实现对数据库的维护工作,具有简单性、高效性的特点。
北航专业综合实验报告
实验名称:网络安全综合实验实验时间: 2023年11月15日实验地点:北京航空航天大学计算机学院实验室实验人员: [姓名]一、实验目的1. 深入理解网络安全的基本概念和原理。
2. 掌握网络安全设备的配置与调试方法。
3. 熟悉网络安全攻防技术,提高安全意识。
4. 培养动手实践能力和团队合作精神。
二、实验内容本次实验主要包括以下内容:1. 路由器配置实验:学习路由器的基本配置,包括IP地址、子网掩码、默认网关等,并实现网络的互连互通。
2. APP欺骗攻击与防御实验:学习APP欺骗攻击的原理,并尝试防御此类攻击。
3. 源IP地址欺骗攻击防御实验:学习源IP地址欺骗攻击的原理,并尝试防御此类攻击。
4. DHCP欺骗攻击与防御实验:学习DHCP欺骗攻击的原理,并尝试防御此类攻击。
5. 密码实验:学习密码学的基本原理,并尝试破解简单的密码。
6. MD5编程实验:学习MD5算法的原理,并实现MD5加密程序。
7. 数字签名综合实验:学习数字签名的原理,并尝试实现数字签名程序。
8. RIP路由项欺骗攻击实验:学习RIP路由项欺骗攻击的原理,并尝试防御此类攻击。
9. 流量管制实验:学习流量管制的原理,并尝试实现流量控制。
10. 网络地址转换实验:学习网络地址转换的原理,并尝试实现NAT功能。
11. 防火墙实验:学习防火墙的配置与调试方法,并尝试设置防火墙规则。
12. 入侵检测实验:学习入侵检测的原理,并尝试实现入侵检测系统。
13. WEP配置实验:学习WEP加密协议的配置方法,并尝试破解WEP加密。
14. 点对点IP隧道实验:学习点对点IP隧道的配置方法,并尝试实现VPN功能。
三、实验步骤1. 路由器配置实验:- 搭建实验环境,连接路由器。
- 配置路由器的IP地址、子网掩码、默认网关等。
- 通过ping命令测试网络连通性。
2. APP欺骗攻击与防御实验:- 利用欺骗软件模拟APP欺骗攻击。
- 分析欺骗攻击的原理,并尝试防御此类攻击。
北航os实验报告
北航os实验报告北航OS实验报告一、引言操作系统(Operating System,简称OS)是计算机系统中最基础的软件之一,它负责管理和控制计算机硬件资源,为用户和应用程序提供一个可靠、高效的工作环境。
本文将对北航OS实验进行详细的报告和分析。
二、实验目的本次北航OS实验的目的是让学生深入理解和掌握操作系统的基本原理和实现方式。
通过实践,学生将学会设计和实现一个简单的操作系统,了解操作系统的核心功能和运行机制。
三、实验内容1. 系统引导实验开始时,我们需要编写引导程序,将操作系统加载到计算机的内存中,并跳转到操作系统的入口地址开始执行。
这一步骤是整个实验的起点,也是操作系统正常运行的基础。
2. 中断处理操作系统需要能够处理各种中断事件,如时钟中断、键盘中断等。
学生需要实现中断处理程序,使操作系统能够响应和处理这些中断事件,并根据具体情况进行相应的操作。
3. 进程管理操作系统需要能够管理多个进程的创建、调度和终止。
学生需要设计并实现进程管理模块,包括进程控制块(PCB)的数据结构和进程调度算法。
通过合理的调度策略,提高系统的并发性和响应速度。
4. 内存管理操作系统需要管理计算机的内存资源,包括内存的分配和释放。
学生需要设计并实现内存管理模块,使用合适的算法来管理内存的分配和回收,避免内存泄漏和碎片化问题。
5. 文件系统操作系统需要提供文件系统来管理计算机中的文件和数据。
学生需要设计并实现一个简单的文件系统,包括文件的创建、读写和删除等操作。
通过文件系统,用户可以方便地存储和管理自己的数据。
四、实验过程在实验过程中,我们遇到了许多挑战和问题,但通过不断的尝试和调试,我们最终成功实现了一个简单的操作系统。
以下是我们在实验过程中遇到的一些关键问题和解决方案:1. 内存管理在实验过程中,我们发现内存管理是一个非常关键的问题。
如果内存管理不当,容易导致内存泄漏或者内存碎片化,从而影响系统的性能和稳定性。
我们通过设计一个位图来管理内存的分配和释放,使用首次适应算法来分配内存,并通过合理地回收内存来避免内存泄漏问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机软件基础上机实验报告(四)
1.实验目的
通过实验综合应用有关多媒体、关系型数据库的基本技术,使学生了解关系型数据库的概念,包括数据项定义域、约束等;掌握SQL语言的基本语法和使用;掌握数据库、表、视图的建立,以及多媒体数据的录入。
2.实验内容
为一个音像店建一个多媒体数据库,存储本店职工、相关音像商品、顾客、订单等信息。
具体内容如下:
1、使用MS ACCESS数据库管理系统,通过示例数据库熟悉其操作,理解关系型数据库的基本概念;
2、使用VisData建立多媒体数据库MM-shop.mdb中的基表,掌握基本SQL语言的使用;
3、在ACCESS平台上维护MM-shop.mdb,建立多个查询表(视图)。
3.实验过程
实验截图如下:
4.实验总结
通过本次实验,我了解了Access 数据库的基础知识,能够使用设计视图新建多个表,增加字段,并学会了设计各个字段的属性,如:字段大小、格式、默认值、是否允许为空等约束条件。
还学会了在ACCESS 数据库中输入示例数据,包括文本、数字、日期时间、价格和多媒体数据等。