实验二 实验报告

合集下载

语音信号处理实验报告实验二

语音信号处理实验报告实验二

语音信号处理实验报告实验二一、实验目的本次语音信号处理实验的目的是深入了解语音信号的特性,掌握语音信号处理的基本方法和技术,并通过实际操作和数据分析来验证和巩固所学的理论知识。

具体而言,本次实验旨在:1、熟悉语音信号的采集和预处理过程,包括录音设备的使用、音频格式的转换以及噪声去除等操作。

2、掌握语音信号的时域和频域分析方法,能够使用相关工具和算法计算语音信号的短时能量、短时过零率、频谱等特征参数。

3、研究语音信号的编码和解码技术,了解不同编码算法对语音质量和数据压缩率的影响。

4、通过实验,培养我们的动手能力、问题解决能力和团队协作精神,提高我们对语音信号处理领域的兴趣和探索欲望。

二、实验原理(一)语音信号的采集和预处理语音信号的采集通常使用麦克风等设备将声音转换为电信号,然后通过模数转换器(ADC)将模拟信号转换为数字信号。

在采集过程中,可能会引入噪声和干扰,因此需要进行预处理,如滤波、降噪等操作,以提高信号的质量。

(二)语音信号的时域分析时域分析是对语音信号在时间轴上的特征进行分析。

常用的时域参数包括短时能量、短时过零率等。

短时能量反映了语音信号在短时间内的能量分布情况,短时过零率则表示信号在单位时间内穿过零电平的次数,可用于区分清音和浊音。

(三)语音信号的频域分析频域分析是将语音信号从时域转换到频域进行分析。

通过快速傅里叶变换(FFT)可以得到语音信号的频谱,从而了解信号的频率成分和分布情况。

(四)语音信号的编码和解码语音编码的目的是在保证一定语音质量的前提下,尽可能降低编码比特率,以减少存储空间和传输带宽的需求。

常见的编码算法有脉冲编码调制(PCM)、自适应差分脉冲编码调制(ADPCM)等。

三、实验设备和软件1、计算机一台2、音频采集设备(如麦克风)3、音频处理软件(如 Audacity、Matlab 等)四、实验步骤(一)语音信号的采集使用麦克风和音频采集软件录制一段语音,保存为常见的音频格式(如 WAV)。

实验二 实验报告

实验二 实验报告

《电力电子技术基础》实验报告
班姓名学号
同组人
实验二直流斩波电路的性能研究
一、实验目的
二、实验电路
1.降压斩波电路
2.升压斩波电路
三、实验内容
1.PWM性能测试
观察PWM脉宽调制电压(u GE)波形,观察其最大占空比和最小占空比波形,并记录在下表中。

2.降压斩波电路的波形观察及电压测试
改变PWM脉冲占空比,观察并记录PWM信号占空比最大以及最小时,输出电压u o波形、输出电流i o波形,以及u o的平均值U o,并记录在下表中。

3.升压斩波电路的波形观察及电压测试
改变PWM脉冲占空比,观察并记录PWM信号占空比最大以及最小时,输出电压u o波形、输出电流i o波形,以及u o的平均值U o,并记录在下表中。

四、思考题
(1)根据记录的波形,分析并绘制降压斩波电路的U o/U i- (占空比)关系曲线,与理论分析结果进行比较,并讨论产生差异的原因。

(2)如果斩波电路的负载电阻发生变化,对其输出电压、电流波形有何影响,为什么?。

操作系统实验二实验报告

操作系统实验二实验报告

操作系统实验二实验报告一、实验目的本次操作系统实验二的主要目的是深入理解和掌握进程管理的相关概念和技术,包括进程的创建、执行、同步和通信。

通过实际编程和实验操作,提高对操作系统原理的认识,培养解决实际问题的能力。

二、实验环境本次实验使用的操作系统为 Windows 10,编程环境为 Visual Studio 2019。

三、实验内容及步骤(一)进程创建实验1、首先,创建一个新的 C++项目。

2、在项目中,使用 Windows API 函数`CreateProcess`来创建一个新的进程。

3、为新进程指定可执行文件的路径、命令行参数、进程属性等。

4、编写代码来等待新进程的结束,并获取其退出代码。

(二)进程同步实验1、设计一个生产者消费者问题的模型。

2、使用信号量来实现生产者和消费者进程之间的同步。

3、生产者进程不断生成数据并放入共享缓冲区,当缓冲区已满时等待。

4、消费者进程从共享缓冲区中取出数据进行处理,当缓冲区为空时等待。

(三)进程通信实验1、选择使用管道来实现进程之间的通信。

2、创建一个匿名管道,父进程和子进程分别读写管道的两端。

3、父进程向管道写入数据,子进程从管道读取数据并进行处理。

四、实验结果及分析(一)进程创建实验结果成功创建了新的进程,并能够获取到其退出代码。

通过观察进程的创建和执行过程,加深了对进程概念的理解。

(二)进程同步实验结果通过使用信号量,生产者和消费者进程能够正确地进行同步,避免了缓冲区的溢出和数据的丢失。

分析结果表明,信号量机制有效地解决了进程之间的资源竞争和协调问题。

(三)进程通信实验结果通过管道实现了父进程和子进程之间的数据通信。

数据能够准确地在进程之间传递,验证了管道通信的有效性。

五、遇到的问题及解决方法(一)在进程创建实验中,遇到了参数设置不正确导致进程创建失败的问题。

通过仔细查阅文档和调试,最终正确设置了参数,成功创建了进程。

(二)在进程同步实验中,出现了信号量使用不当导致死锁的情况。

实验二实验报告

实验二实验报告

C语言程序设计报告二数据类型,运算符和简单的输入输出计算机学院软件工程2班王莹0411402011,实验目的(1)掌握C语言数据类型,了解字符型数据和整型数据的内在关系。

(2)掌握对各种数值型数据的正确输入方法。

(3)学会使用C语言的有关算数运算符,移机包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。

(4)学会编写和运行简单的应用程序。

(5)进一步熟悉C程序的编辑、编译、连接和运行的过程。

2,实验内容和步骤(1)输入并运行教材第3章第4题给出的程序。

○1运行以上程序,分析为什么会输出这些信息。

因为第6行是将c1,c2按%c的格式输出,97是字符a的AS CⅡ代码,98是字符b的AS CⅡ代码。

第7行是将c1,c2按5d的格式输出,所以输出两个十进制整数。

○2如果将程序第4,5行改为c1=197;c2=198;运行时会输出由于Visual C++6.0字符型数据是作为signed char类型处理,它存字符的有效范围为0~127,超出此范围的处理方法,不痛的系统得到的结果不痛,因而用“%d”格式输出,结果是不可预期的。

用“%d”格式输出时,输出c1=-59,c2=-58.这是按补码形式输出的,内存字节中第1位为1时,作为负数。

59和197之和等于256,58与198之和也等于256.○3如果将程序第3行改为int c1,c2;运行时会输出因为97和98在int类型的有效范围。

(2)输入第3章第5题得程序。

即:用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。

运行时分别按一下方式输入数据,观察输出结果,分析原因。

1,a=3,b=7,x=8.5,y=71.82,A,a↙2,a=3 b=7 x=8.5 y=71.82 A a↙3,a=3 b=7 8.5 71.82 A a↙4,a=3 b=7 8.5 71.82Aa↙5,3 7 8.5 71.82Aa↙6,a=3 b=7↙8.571.82↙A↙a↙7,a=3 b=7↙8.571.82↙Aa↙8,a=3 b=7↙8.671.82Aa↙12345678(3)输入以下程序○1编译和运行程序,注意i,j,m,n各变量的值。

实验二时间片轮转算法实验报告

实验二时间片轮转算法实验报告

实验二时间片轮转算法实验报告一、实验目的本次实验的主要目的是了解时间片轮转算法的工作原理,学习如何使用时间片轮转算法进行进程调度,并了解时间片大小对进程调度的影响。

二、实验原理时间片轮转算法是一种公平的进程调度算法,它采用循环队列的形式,将所有需要运行的进程按照到达时间排序,并将它们按照轮转的方式依次执行,每个进程在一个时间片内执行一定的时间(时间片大小),然后被暂停并放在队列的末尾等待下一次调度。

当一个进程的时间片用完后,它会被暂停并放在队列的最后,而在这个时间片内没有执行完的进程会被暂停并放到队列的开头,以便继续下一轮的运行。

这样一直循环下去,直到所有进程都运行完毕。

三、实验步骤1.设定进程数量和时间片大小。

2.定义进程结构体,包括进程ID、到达时间、服务时间、剩余时间等信息。

3.初始化所有进程,并按照到达时间排序。

4.创建一个循环队列,并将所有已到达的进程入队。

5.按照时间片大小循环执行以下步骤:a.从队列中取出一个进程,执行一次时间片大小的时间。

b.更新队列中所有进程的剩余时间。

c.如果剩余时间大于0,将进程放入队尾。

d.如果剩余时间等于0,表示进程执行完毕,将其从队列中移除。

e.输出每个时间片的调度情况。

6.统计平均等待时间和平均周转时间,并输出结果。

四、实验结果本次实验我们设置了4个进程,并且时间片大小为3、以下是每个时间片的调度情况:时间片1:进程1执行,剩余时间为2时间片2:进程2执行,剩余时间为4时间片3:进程3执行,剩余时间为5时间片4:进程1执行,剩余时间为1时间片5:进程2执行,剩余时间为3时间片6:进程3执行,剩余时间为4时间片7:进程4执行,剩余时间为2时间片8:进程1执行,剩余时间为0,进程1执行完毕时间片9:进程2执行,剩余时间为2时间片10:进程3执行,剩余时间为3时间片11:进程4执行,剩余时间为1时间片12:进程2执行,剩余时间为1时间片13:进程3执行,剩余时间为2时间片14:进程4执行,剩余时间为0,进程4执行完毕时间片15:进程2执行,剩余时间为0,进程2执行完毕时间片16:进程3执行,剩余时间为1时间片17:进程3执行,剩余时间为0根据以上调度情况,我们可以计算出平均等待时间和平均周转时间。

实验二实验报告

实验二实验报告
答:当输入信号固定时,接入旁路电容使得放大倍数增大。在输出不失真的情况下,输入信号的频率越高,旁路电容应该越小,输入信号频率越低,旁路电容应该越大。
注:表格空间不够可自行加页.
2.300
(3)保持Rc不变,放大器接入负载RL,在改变RL数值情况下测量并计算,结果填表2.3。
表2.3负载对电压增益的影响
给定参数
实测
实测计算
估算
RL
Vin(mV)
Vout(V)
Au
Au
100K
5.0
11.5m
2.3
2.26
2.2K
5.0
10.9m
2.18
2.0
5.1K
5.0
3.39m
0.678
答:1)静态工作点受所选三极管以及R1,R2,RC,RE,滑动变阻器的影响,除滑动变阻器外值都确定,所以主要受滑动变阻器的影响,调节滑动变阻器使得Ve处在1.9~2.2之间,使得电路处在静态工作点,起放大电路作用。
(2)电压放大倍数与所选三极管和输出电阻(R4,R5,R6)有关。输出电阻越大,电压放大倍数越大。输出电阻越小,电压放大倍数越小,对输出波形影响较小。
三、实验内容
1、实验电路图
2、实验原理
分压式共射极放大电路,其电压增益为:
若发射极Re加入旁路电容,电压增益变为:
3、实验步骤
1.基本电路
按所给电路图进行连接
2.静态分析
设定电路各元件参数,调整滑动变阻器RV2使电路处于放大工作状态(VE=1.9-2.2V左右),通过测量并计算填表2.1。
记录电路各阻值大小:RV2= 30k;R1= 33k;R2= 24k;RE= 2.2k;RC= 5.1k;电源V= +12V。

软件测试实验二实验报告

软件测试实验二实验报告

软件测试实验二实验报告一、实验目的本次软件测试实验的主要目的是熟悉并掌握软件测试的基本方法和技术,通过对一个具体软件系统的测试,发现软件中存在的缺陷和问题,提高软件的质量和可靠性。

二、实验环境1、操作系统:Windows 102、测试工具:Jmeter、Selenium、Bugzilla3、开发语言:Java4、数据库:MySQL三、实验内容1、功能测试对软件的登录功能进行测试,包括输入正确和错误的用户名、密码,验证登录是否成功以及相应的提示信息是否准确。

测试软件的注册功能,检查输入的各项信息是否符合要求,如用户名长度、密码强度等。

对软件的搜索功能进行测试,输入不同的关键词,检查搜索结果的准确性和完整性。

2、性能测试使用 Jmeter 工具对软件的并发性能进行测试,模拟多个用户同时登录、搜索等操作,观察系统的响应时间、吞吐量等性能指标。

对软件的数据库操作性能进行测试,包括插入、查询、更新和删除数据,检查数据库的响应时间和资源占用情况。

3、兼容性测试在不同的浏览器(如 Chrome、Firefox、IE 等)上运行软件,检查界面显示和功能是否正常。

在不同的操作系统(如 Windows、Mac OS、Linux 等)上安装和运行软件,验证其兼容性。

4、安全测试对软件的用户认证和授权机制进行测试,检查是否存在未授权访问和越权操作的情况。

测试软件对 SQL 注入、XSS 攻击等常见安全漏洞的防范能力。

四、实验步骤1、功能测试步骤打开软件登录页面,输入正确的用户名和密码,点击登录按钮,观察是否成功登录并跳转到相应页面。

输入错误的用户名或密码,检查提示信息是否清晰准确。

进入注册页面,输入合法和不合法的注册信息,如用户名过短、密码强度不够等,查看系统的校验结果。

在搜索框中输入关键词,点击搜索按钮,对比搜索结果与预期是否一致。

2、性能测试步骤打开 Jmeter 工具,创建测试计划,添加线程组、HTTP 请求等元素。

数字电路实验报告 实验2

数字电路实验报告 实验2

实验二 译码器及其应用一、 实验目的1、掌握译码器的测试方法。

2、了解中规模集成译码器的管脚分布,掌握其逻辑功能。

3、掌握用译码器构成组合电路的方法。

4、学习译码器的扩展。

二、 实验设备及器件1、数字逻辑电路实验板1块 2、74HC(LS)20(二四输入与非门) 1片 3、74HC(LS)138(3-8译码器)2片三、 实验原理74HC(LS)138是集成3线-8线译码器,在数字系统中应用比较广泛。

下图是其引脚排列,其中A 2、A 1、A 0为地址输入端,Y ̅0~Y ̅7为译码输出端,S 1、S ̅2、S ̅3为使能端。

下表为74HC(LS)138功能表。

74HC(LS)138工作原理为:当S 1=1,S ̅2+S ̅3=0时,电路完成译码功能,输出低电平有效。

其中:Y ̅0=A ̅2A ̅1A ̅0̅̅̅̅̅̅̅̅̅̅ Y ̅4=A 2A ̅1A ̅0̅̅̅̅̅̅̅̅̅̅ Y ̅1=A ̅2A ̅1A 0̅̅̅̅̅̅̅̅̅̅ Y ̅5=A 2A ̅1A 0̅̅̅̅̅̅̅̅̅̅ Y ̅2=A ̅2A 1A ̅0̅̅̅̅̅̅̅̅̅̅ Y ̅6=A 2A 1A ̅0̅̅̅̅̅̅̅̅̅̅ Y ̅3=A ̅2A 1A 0̅̅̅̅̅̅̅̅̅̅Y ̅7=A 2A 1A 0̅̅̅̅̅̅̅̅̅̅因为74HC(LS)138的输出包括了三变量数字信号的全部八种组合,每一个输出端表示一个最小项(的非),因此可以利用八条输出线组合构成三变量的任意组合电路。

实验用器件管脚介绍:1、74HC(LS)20(二四输入与非门)管脚如下图所示。

2、74HC(LS)138(3-8译码器)管脚如下图所示。

四、实验内容与步骤(四学时)1、逻辑功能测试(基本命题)m。

验证74HC(LS)138的逻辑功能,说明其输出确为最小项i注:将Y̅0~Y̅7输出端接到LED指示灯上,因低电平有效,所以当输入为000时,Y̅0所接的LED指示灯亮,其他同理。

数值分析实验报告--实验2--插值法

数值分析实验报告--实验2--插值法

1 / 21数值分析实验二:插值法1 多项式插值的震荡现象1.1 问题描述考虑一个固定的区间上用插值逼近一个函数。

显然拉格朗日插值中使用的节点越多,插值多项式的次数就越高。

我们自然关心插值多项式的次数增加时, 是否也更加靠近被逼近的函数。

龙格(Runge )给出一个例子是极著名并富有启发性的。

设区间[-1,1]上函数21()125f x x=+ (1)考虑区间[-1,1]的一个等距划分,分点为n i nix i ,,2,1,0,21 =+-= 则拉格朗日插值多项式为201()()125nn ii iL x l x x ==+∑(2)其中的(),0,1,2,,i l x i n =是n 次拉格朗日插值基函数。

实验要求:(1) 选择不断增大的分点数目n=2, 3 …. ,画出原函数f(x)及插值多项式函数()n L x 在[-1,1]上的图像,比较并分析实验结果。

(2) 选择其他的函数,例如定义在区间[-5,5]上的函数x x g xxx h arctan )(,1)(4=+=重复上述的实验看其结果如何。

(3) 区间[a,b]上切比雪夫点的定义为 (21)cos ,1,2,,1222(1)k b a b ak x k n n π⎛⎫+--=+=+ ⎪+⎝⎭(3)以121,,n x x x +为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果,试分析2 / 21原因。

1.2 算法设计使用Matlab 函数进行实验, 在理解了插值法的基础上,根据拉格朗日插值多项式编写Matlab 脚本,其中把拉格朗日插值部分单独编写为f_lagrange.m 函数,方便调用。

1.3 实验结果1.3.1 f(x)在[-1,1]上的拉格朗日插值函数依次取n=2、3、4、5、6、7、10、15、20,画出原函数和拉格朗日插值函数的图像,如图1所示。

Matlab 脚本文件为Experiment2_1_1fx.m 。

可以看出,当n 较小时,拉格朗日多项式插值的函数图像随着次数n 的增加而更加接近于f(x),即插值效果越来越好。

实验二实验报告

实验二实验报告

PAM和PCM编译码器系统一、实验目的1.观察了解PAM信号形成的过程;验证抽样定理;了解混叠效应形成的原因;2.验证PCM编译码原理;熟悉PCM抽样时钟、编码数据和输入/输出时钟之间的关系;了解PCM专用大规模集成电路的工作原理和应用。

二、实验内容和步骤1.PAM编译码器系统1.1自然抽样脉冲序列测量(1)准备工作;(2)PAM脉冲抽样序列观察;(3)PAM脉冲抽样序列重建信号观测。

1.2平顶抽样脉冲序列测量(1)准备工作;(2)PAM平顶抽样序列观察;(3)平顶抽样重建信号观测.1.3信号混叠观测(1)准备工作(2)用示波器观测重建信号输出的波形。

2.PCM编译码器系统2.1PCM串行接口时序观察(1)输出时钟和帧同步时隙信号的观察;(2)抽样时钟信号与PCM编码数据测量;2.2用示波器同时观察抽样时钟信号和编码输出数据信号端口(TP502),观测时以TP504同步,分析掌握PCM编码输数据和抽样时钟信号(同步沿、脉冲宽度)及输出时钟的对应关系;2.3PCM译码器输出模拟信号观测,定性观测解码信号与输入信号的关系:质量,电平,延时.2.4PCM频率响应测量:调整测试信号频率,定性观察解码恢复出的模拟信号电平,观测输出信号电平相对变化随输入信号频率变化的相对关系;2.5PCM动态范围测量:将测试信号频率固定在1000Hz,改变测试信号电平,定性观测解码恢复出的模拟信号的质量。

三、实验数据处理与分析1.PAM编译码器系统(1)观察得到的抽样脉冲序列和正弦波输入信号如下所示:上图中上方波形为输入的正弦波信号,下方为得到的抽样脉冲序列,可见抽样序列和正弦波信号基本同步。

(2)观测得到的重建信号和正弦波输入信号如下所示:如上图所示,得到的重建信号也为正弦波,波形并没有失真。

(3)平顶抽样的脉冲序列如下所示:上图中上方的波形为输入的正弦波信号,下方为PAM平顶抽样序列.(4)平顶抽样的重建信号波形:可见正弦波经过平顶抽样,最终重建的信号仍为正弦波。

最新实验二电路原理图的绘制实验报告

最新实验二电路原理图的绘制实验报告

最新实验二电路原理图的绘制实验报告实验目的:1. 掌握电路原理图的基本概念和绘制方法。

2. 熟悉使用电路设计软件进行电路图的绘制。

3. 理解并应用基本的电子元件及其符号。

实验原理:电路原理图是用图形符号表示电路中的各种元件和连接方式的图。

它是电子工程师用来设计和交流电路设计思想的重要工具。

在本次实验中,我们将通过具体的电路案例来学习如何绘制电路原理图,并理解电路图的基本组成元素和设计规则。

实验设备和材料:1. 计算机一台,安装有电路设计软件(如Eagle, Proteus, Multisim 等)。

2. 电路元件清单,包括但不限于电阻、电容、二极管、三极管等。

3. 相关电路设计资料和手册。

实验步骤:1. 打开电路设计软件,创建新的电路设计文件。

2. 根据实验要求,选择并放置所需的电子元件到工作区域。

3. 使用线路工具连接各个元件,形成完整的电路。

4. 对电路进行初步检查,确保所有连接正确无误。

5. 添加必要的注释和元件值标签,确保电路图清晰易懂。

6. 保存并打印电路图,准备进行下一步的PCB布线设计或电路仿真。

实验结果与分析:在本次实验中,我们成功绘制了一个基本的放大电路原理图。

通过对电路图的绘制,我们加深了对电路原理的理解,并且熟悉了电路设计软件的操作。

在实验过程中,我们也发现了一些常见的设计错误,例如元件方向放置错误、连接点遗漏等,这些都是在后续设计中需要避免的问题。

结论:通过本次实验,我们学习了电路原理图的绘制方法和注意事项,为后续的电路设计和分析打下了基础。

电路原理图是电子工程领域的基础工具,掌握其绘制技巧对于电子工程师来说至关重要。

在未来的学习中,我们将继续深入研究更复杂的电路设计,并应用到实际的电子产品开发中。

大学计算机实验报告(二)2024

大学计算机实验报告(二)2024

大学计算机实验报告(二)引言:本文是大学计算机实验报告的第二部分,旨在探讨与分析在实验过程中所遇到的问题以及实验结果的总结。

概述:本报告将分为五个大点进行阐述。

首先,我们将回顾实验的目标和背景。

然后,我们将详细介绍设计和实施实验的方法与步骤。

接下来,我们将讨论实验过程中遇到的问题,并提供解决方案。

最后,我们将分析实验结果以及它们对我们的研究和学习的意义。

正文:1. 实验的目标和背景- 介绍实验的背景,包括相关的理论知识和前人研究成果。

- 解释实验的目标,即我们尝试解决的问题或验证的假设。

2. 设计和实施实验的方法与步骤- 详细描述实验所采用的方法和步骤。

- 解释实验中使用的软件和硬件工具。

- 介绍实验的实施过程,包括数据收集和实验参数设置等。

3. 实验过程中遇到的问题及解决方案- 列举实验过程中遇到的问题。

- 分析这些问题对实验结果的可能影响。

- 提供针对每个问题的解决方案和改进措施。

4. 实验结果的分析及意义- 呈现实验所得到的主要结果。

- 解释这些结果与实验目标之间的关系。

- 分析结果的可靠性和局限性。

5. 总结- 对实验进行全面总结,包括实验目标的达成情况和实验过程中的收获。

- 讨论实验中存在的局限性和可能的改进空间。

- 提出进一步研究的建议和展望。

总结:通过实验过程以及对实验结果的分析,我们得出结论...... (在这里总结实验的主要发现和结果)。

此外,对于进一步研究的建议和展望,我们认为...... (在这里提出进一步研究的方向和可能的改进空间)。

通过本报告的详细阐述,我们深入了解了实验的目标和背景,并详细描述了实验的设计和实施方法。

我们还提出了实验过程中遇到的问题及其解决方案,并对实验结果进行了分析和总结。

这些研究成果为我们进一步深化研究和学习提供了有力的支持。

实验二 面向对象编程实验报告

实验二 面向对象编程实验报告

实验二面向对象编程实验报告一、实验目的本次实验旨在深入理解和掌握面向对象编程的基本概念和方法,通过实际编程操作,提高运用面向对象思想解决问题的能力,熟悉面向对象编程的开发流程和技巧,培养良好的编程习惯和代码规范。

二、实验环境本次实验使用的编程环境为具体编程环境名称及版本,操作系统为操作系统名称及版本。

三、实验内容(一)问题描述设计一个简单的学生管理系统,能够实现对学生信息(包括姓名、学号、年龄、成绩等)的录入、查询、修改和删除操作。

(二)类的设计1、设计一个`Student` 类,用于表示学生对象。

该类包含以下属性:`name`(姓名)、`student_id`(学号)、`age`(年龄)、`score`(成绩)。

2、为`Student` 类添加构造函数,用于初始化学生对象的属性。

3、为`Student` 类添加`get` 和`set` 方法,用于获取和设置学生对象的属性值。

(三)功能实现1、录入功能:实现用户输入学生信息,并创建`Student` 对象进行存储。

2、查询功能:根据学号或姓名查询学生信息,并输出查询结果。

3、修改功能:根据学号或姓名找到对应的学生对象,修改其属性值。

4、删除功能:根据学号或姓名删除对应的学生对象。

四、实验步骤(一)类的实现```javapublic class Student {private String name;private String studentId;private int age;private double score;public Student(String name, String studentId, int age, double score) {thisname = name;thisstudentId = studentId;thisage = age;thisscore = score;}public String getName(){return name;}public void setName(String name) {thisname = name;}public String getStudentId(){return studentId;}public void setStudentId(String studentId) {thisstudentId = studentId;}public int getAge(){return age;}public void setAge(int age) {thisage = age;}public double getScore(){return score;}public void setScore(double score) {thisscore = score;}}```(二)主函数实现```javaimport javautilArrayList;import javautilScanner;public class StudentManagementSystem {private ArrayList<Student> students;public StudentManagementSystem(){students = new ArrayList<>();}public static void main(String args) {StudentManagementSystem system = new StudentManagementSystem();Scanner scanner = new Scanner(Systemin);while (true) {Systemoutprintln("1、录入学生信息");Systemoutprintln("2、查询学生信息");Systemoutprintln("3、修改学生信息");Systemoutprintln("4、删除学生信息");Systemoutprintln("5、退出系统");int choice = scannernextInt();switch (choice) {case 1:systemaddStudent(scanner);break;case 2:systemqueryStudent(scanner);break;case 3:systemmodifyStudent(scanner);break;case 4:systemdeleteStudent(scanner);break;case 5:Systemoutprintln("感谢使用,再见!");Systemexit(0);default:Systemoutprintln("输入有误,请重新输入!");}}}//录入学生信息public void addStudent(Scanner scanner) {Systemoutprintln("请输入学生姓名:");String name = scannernext();Systemoutprintln("请输入学生学号:");String studentId = scannernext();Systemoutprintln("请输入学生年龄:");int age = scannernextInt();Systemoutprintln("请输入学生成绩:");double score = scannernextDouble();Student student = new Student(name, studentId, age, score);studentsadd(student);Systemoutprintln("学生信息录入成功!");}//查询学生信息public void queryStudent(Scanner scanner) {Systemoutprintln("请输入查询方式(1、按学号查询 2、按姓名查询):");int queryType = scannernextInt();if (queryType == 1) {Systemoutprintln("请输入学号:");String studentId = scannernext();for (Student student : students) {if (studentgetStudentId()equals(studentId)){Systemoutprintln("姓名:"+ studentgetName());Systemoutprintln("学号:"+ studentgetStudentId());Systemoutprintln("年龄:"+ studentgetAge());Systemoutprintln("成绩:"+ studentgetScore());return;}}Systemoutprintln("未找到该学号对应的学生信息!");} else if (queryType == 2) {Systemoutprintln("请输入姓名:");String name = scannernext();for (Student student : students) {if (studentgetName()equals(name)){Systemoutprintln("姓名:"+ studentgetName());Systemoutprintln("学号:"+ studentgetStudentId());Systemoutprintln("年龄:"+ studentgetAge());Systemoutprintln("成绩:"+ studentgetScore());return;}}Systemoutprintln("未找到该姓名对应的学生信息!");} else {Systemoutprintln("输入有误,请重新输入!");}}//修改学生信息public void modifyStudent(Scanner scanner) {Systemoutprintln("请输入修改方式(1、按学号修改 2、按姓名修改):");int modifyType = scannernextInt();if (modifyType == 1) {Systemoutprintln("请输入学号:");String studentId = scannernext();for (Student student : students) {if (studentgetStudentId()equals(studentId)){Systemoutprintln("请输入新姓名:");String newName = scannernext();Systemoutprintln("请输入新年龄:");int newAge = scannernextInt();Systemoutprintln("请输入新成绩:");double newScore = scannernextDouble();studentsetName(newName);studentsetAge(newAge);studentsetScore(newScore);Systemoutprintln("学生信息修改成功!");return;}}Systemoutprintln("未找到该学号对应的学生信息!");} else if (modifyType == 2) {Systemoutprintln("请输入姓名:");String name = scannernext();for (Student student : students) {if (studentgetName()equals(name)){Systemoutprintln("请输入新学号:");String newStudentId = scannernext();Systemoutprintln("请输入新年龄:");int newAge = scannernextInt();Systemoutprintln("请输入新成绩:");double newScore = scannernextDouble();studentsetStudentId(newStudentId);studentsetAge(newAge);studentsetScore(newScore);Systemoutprintln("学生信息修改成功!");return;}}Systemoutprintln("未找到该姓名对应的学生信息!");} else {Systemoutprintln("输入有误,请重新输入!");}}//删除学生信息public void deleteStudent(Scanner scanner) {Systemoutprintln("请输入删除方式(1、按学号删除 2、按姓名删除):");int deleteType = scannernextInt();if (deleteType == 1) {Systemoutprintln("请输入学号:");String studentId = scannernext();for (Student student : students) {if (studentgetStudentId()equals(studentId)){studentsremove(student);Systemoutprintln("学生信息删除成功!");return;}}Systemoutprintln("未找到该学号对应的学生信息!");} else if (deleteType == 2) {Systemoutprintln("请输入姓名:");String name = scannernext();for (Student student : students) {if (studentgetName()equals(name)){studentsremove(student);Systemoutprintln("学生信息删除成功!");return;}}Systemoutprintln("未找到该姓名对应的学生信息!");} else {Systemoutprintln("输入有误,请重新输入!");}}}```五、实验结果通过对程序的运行和测试,能够成功实现学生信息的录入、查询、修改和删除功能。

实验二 加减法运算器的设计实验报告

实验二 加减法运算器的设计实验报告

加减法运算器的设计实验报告实验二加减法运算器的设计一、实验目的1、理解加减法运算器的原理图设计方法2、掌握加减法运算器的VERILOG语言描述方法3、理解超前进位算法的基本原理4、掌握基于模块的多位加减运算器的层次化设计方法5、掌握溢出检测方法和标志线的生成技术6、掌握加减运算器的宏模块设计方法二、实验任务1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。

模块的端口描述如下:module lab2_RippleCarry 宽度可定制(默认为4位)的行波进位有符号数的加减法器。

#(parameter WIDTH=4)( input signed [WIDTH-1:0] dataa,input signed [WIDTH-1:0] datab,input add_sub, // if this is 1, add; else subtractinput clk,input cclr,input carry_in, //1 表示有进位或借位output overflow,output carry_out,output reg [WIDTH-1:0] result)2、修改上述运算器的进位算法,设计超前进位无符号加法算法器并封装成模块。

模块的端口描述如下:module lab2_LookaheadCarry // 4位超前进位无符号加法器(input [3:0] a,input [3:0] b,input c0, //carry_ininput clk,input cclr,output reg carry_out,output reg [3:0]sum);3、在上述超前进位加法运算器的基础上,用基于模块的层次化设计方法,完成一个32位的加法运算器,组内超前进位,组间行波进位。

4、用宏模块的方法实现一个32位加减运算器。

三、实验内容1、用VERILOG设计完成一个4位行波进位的加减法运算器,要求有溢出和进位标志,并封装成模块。

实验二运算器实验报告

实验二运算器实验报告

实验二运算器实验报告
实验二是运算器实验,旨在让我们了解计算机运算器的结构和工作原理。

在本次实验中,我们通过搭建运算器电路并进行验证,深入理解了运算器的运作过程,为我们今后学习和应用计算机原理打下了基础。

一、实验原理
运算器是计算机中重要的组成部分,用于实现各种算术和逻辑运算。

在本次实验中,我们首先学习了运算器的基本原理和功能,并了解了运算器中常用的逻辑门电路,如与门、或门、非门等。

接着,我们根据原理和逻辑门电路的特点,搭建了一个16位的运算器电路,并测试了电路的逻辑功能和运算准确性。

二、实验步骤
1. 搭建16位运算器电路,包括与门、或门、非门等逻辑电路。

2. 对搭建的运算器电路进行测试,如测试与门、或门、非门电路的逻辑输出是否正确。

3. 实现加法和减法运算功能,测试运算器的运算准确性。

4. 对搭建的运算器电路进行进一步优化,提高电路工作效率和运算速度。

三、实验结果
经过实验测试,我们成功搭建了一个16位的运算器电路,并对电路进行了多项测试和验证。

在逻辑输出方面,与门、或门、非门电路均能够正确输出逻辑值,验证了运算器电路的逻辑功能。

在加法和减法运算方面,运算器电路能够正确实现运算功能,并输出正确的运算结果,这表明运算器电路的运算准确性良好。

四、实验总结
通过本次实验,我们深入理解了计算机中运算器的工作原理和结构,掌握了运算器电路的搭建和运作方法,并初步掌握了在运算器上实现加法和减法运算的原理和方法。

此外,我们还了解了运算器电路的优化方法和技巧,提高了电路工作效率和运算速度。

这些知识和技能对我们今后学习和应用计算机原理具有重要的指导意义。

实验报告(二)

实验报告(二)

学生姓名:胡智昊学号:31405714一、实验项目名称:实验报告(二)二、实验目的和要求(一)掌握列联分析的软件应用(二)掌握方差分析的软件应用三、实验内容1.为研究上市公司对其股价波动的关注程度,一家研究机构对在主板、中小板和创业板(2)计算上市公司的类型与对股价波动的关注程度两个变量之间的φ系数、Cramer’s V 系数和列联系数,并分析其相关程度。

Ho:假设上市公司的类型与对股价波动的关注程度无关H1:上市公司的类型与对股价波动的关注程度有关上市公司的类型关注不关注主板企业50 70 120中小板企业 30 15 45创业板企业 20 5 25100 90 190nij Nij nij-N ij nij-Nij 2/Nij50 63.15789 -13.15789474 2.7412280730 23.68421 6.315789474 1.68421052620 13.15789 6.842105263 3.55789473770 56.84211 13.15789474 3.04580896715 21.31579 -6.315789474 1.8713450295 11.84211 -6.842105263 3.95321637416.8537037 卡方5.991464547 卡方0.05所以拒绝原假设,认为有关2.为分析不同地区的消费者与所购买的汽车价格是否有关,一家汽车企业的销售部门对东部地区、中部地区和西部地区的400个消费者作了抽样调查,得到如下结果:(2)计算地区与所购买的汽车价格两个变量之间的φ系数、Cramer’s V系数和列联系数,并分析其相关程度。

H0:假设地区与所购买的汽车价格不相关H1:假设地区与所购买的汽车价格相关汽车价格东部地区中部地区西部地区10万元以下20 40 40 10010万-20万元50 60 50 16020万-30万元30 20 20 7030万元以上40 20 10 70140 140 120 400nij Nij nij-N ij nij-Nij 2/Nij20 35 -15 6.42857142950 56 -6 0.64285714330 24.5 5.5 1.23469387840 24.5 15.5 9.80612244940 35 5 0.71428571460 56 4 0.28571428620 24.5 -4.5 0.82653061220 24.5 -4.5 0.82653061240 30 10 3.33333333350 48 2 0.08333333320 21 -1 0.04761904810 21 -11 5.76190476229.9914966 卡方12.591587243.一家牛奶公司有4台机器装填牛奶,每桶的容量为4升。

实验二杨氏弹性模量的测定实验报告

实验二杨氏弹性模量的测定实验报告

实验二杨氏弹性模量的测定实验报告一、实验目的1、学会用伸长法测量金属丝的杨氏弹性模量。

2、掌握光杠杆测量微小长度变化的原理和方法。

3、学会使用游标卡尺、螺旋测微器等测量长度的仪器。

4、学会用逐差法处理实验数据。

二、实验原理1、杨氏弹性模量杨氏弹性模量是描述固体材料抵抗形变能力的物理量。

对于一根粗细均匀的金属丝,在其长度方向上施加拉力 F,金属丝会发生伸长,伸长量为ΔL。

根据胡克定律,在弹性限度内,应力与应变成正比,即:\F = Y\frac{\Delta L}{L}\其中,Y 为杨氏弹性模量,L 为金属丝的原长。

2、光杠杆原理光杠杆是一个带有三个尖足的平面镜,前两尖足放在一个平台上,后尖足置于一个可移动的小立柱上。

当金属丝发生微小伸长时,光杠杆的后尖足会随之移动,从而带动平面镜转动一个微小角度θ。

设平面镜到标尺的距离为D,光杠杆的长臂长度为b,金属丝的伸长量为ΔL,则有:\\tan\theta \approx \theta =\frac{\Delta L}{b}\由于θ很小,反射光线在标尺上的移动距离Δn 与θ的关系为:\\Delta n = D\theta \approx \frac{D\Delta L}{b}\从而可得:\\Delta L =\frac{b\Delta n}{D}\将其代入胡克定律,可得杨氏弹性模量的表达式为:\Y =\frac{8FLD}{\pi d^2 b\Delta n}\其中,d 为金属丝的直径。

三、实验仪器1、杨氏弹性模量测定仪包括光杠杆、望远镜和标尺组成的光杠杆系统,以及用于加力的砝码和托盘。

2、螺旋测微器用于测量金属丝的直径。

3、游标卡尺用于测量光杠杆的长臂长度 b 和平面镜到标尺的距离 D。

4、米尺用于测量金属丝的原长 L。

四、实验步骤1、仪器调节(1)调节杨氏弹性模量测定仪,使金属丝竖直且与平台垂直,光杠杆平面镜与平台平行。

(2)调节望远镜,使其与光杠杆平面镜等高,且能清晰看到标尺的像。

实验二独立按键试验实验报告

实验二独立按键试验实验报告

实验二独立按键试验实验报告
一、实验目的
独立按键试验是为了验证按键与单片机的连接是否正常,并测试按键
功能是否正常,通过实验掌握按键接口的使用和按键的原理。

二、实验原理
在实际应用中,常常需要使用按键来实现硬件的控制。

按键的原理是:当按键关闭时,两个按键引脚之间短接,按键关闭。

当按键打开时,两个
按键引脚之间断开,按键打开。

三、实验仪器
1.单片机开发板
2.按键
3.面包板和杜邦线
4.电源线
四、实验步骤
1.将按键连接到单片机开发板上的按键接口,并接通电源。

2.编写程序,监测按键是否被按下,并通过串口输出按键的状态。

3.烧录程序到单片机,运行程序。

4.进行按键试验。

五、实验结果与分析
按下按键后,通过监测按键引脚的电平变化,可以判断按键是否被按下。

根据不同的按键连接方式,可能需要使用上拉电阻或下拉电阻来连接按键。

六、实验结论
通过独立按键试验,我们验证了按键与单片机的连接是否正确,并测试了按键的功能。

在实际应用中,可以根据需要使用按键来实现硬件的控制。

七、实验心得
通过本次实验,我掌握了按键接口的使用方法和按键的原理。

在实际应用中,按键是一个常用的控制元件,有了这次实验的经验,以后在使用按键时会更加得心应手。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
生成设备驱动程序详细信息表的最简单的命令是:
Driverquery /fo:csv –v >*.csv
输入Mem:
Driverquery /fo:csv –v >*.csv
输入Driverquery:
输入SystemInfo:
电子表格:
③、网络通信命令Ping:使用 ping可以测试计算机名和计算机的 ip 地址,验证与远程计算机的连接,通过将 icmp 回显数据包发送到计算机并侦听回显回复数据包来验证与一台或多台远程计算机的连接,该命令只有在安装了 tcp/ip 协议后才可以使用。打开打开命令提示符窗口输入Ping命令,并记载运行结果。
(1)系统信息命令 例如Time,Date,Mem,Driverquery和SystemInfo等。
(2)系)文件系统命令 例如Copy,Del和Mkdir等。
(4)网络通信命令 例如Ping,Netstat和Route等。
四、实验操作过程及实验结果记录
(实验二)
专业班级:学号:姓名:
实验项目名称:Windows 2000/XP命令控制界面教师评分:
一、实验目的和要求
目的:对日常使用的Windows 2000/XP系统的命令控制界面做进一步了解。
要求:了解Windows 2000/XP操作系统的常用操作命令;了解Windows 2000/XP操作系统命令的直接使用和批处理使用的方法。
六、实验过程中所遇问题思考与讨论(根据个人具体情况选做)
六、参考文献:
1、《操作系统教程》,第3版,孙钟秀主编, 高等教育出版社。
2、《计算机操作系统教程习题解答与实验指导书》,第2版,张尧学编著,清华大学出版社。
3、《操作系统实验与课程设计》,庞丽萍编,华中科技大学出版社。
新建文件exam4.bat并记录运行结果如下:
本次实验的文件生成记录:
五、实验结论
这次的实验增进了我对计算机相关操作的认识,学到了很多有用的东西。我对日常使用的Windows 2000/XP系统的命令控制界面做了进一步的了解,与此同时,我了解并认真学习了Windows 2000/XP操作系统的常用操作命令;对Windows 2000/XP操作系统命令的直接使用和批处理使用的方法的理解又有了进一步的深入。
运行exam3的结果:
3将exam1.bat文件进行改写,在exam1.bat中对exam2.bat和exam3.bat文件进行调用:
@echo off
mdir test
call exam2.bat test
call exam3.bat test
echo call ok!
pause
运行并记录运行结果。
2、Windows命令的批处理使用的方法
①、打开命令提示符窗口创建三个批处理文件(exam1.bat、exam2.bat、exam3.bat);
②、exam1.bat的内容为:
@echo off
Mkdir test
Echo hello
pause
exam2.bat的内容为:
@echo off
mem>%1/meminfo.txt
二、实验环境
1、PC兼容机
2、Windows2000/XP系统
三、实验预习
实验原理:
Windows 的命令控制界面可以分为两大部分,即命令解释器部分(相当于Linux的Shell)和窗口交互部分。
Windows通过自带的命令行解释器cmd.exe为用户提供了功能强大的命令行控制界面,Windows自有的操作命令,主要分为以下四类:
在刚开始做这个实验的时候,遇到了一点小麻烦,实验指导上写的DOS命令是Data,我想都没有想就直接输进去了,结果出现了问题。其实应该是Date才对,DOS命令Date才能正确显示系统提示的当前日期。在今后的上机实验中应该多加注意,要避免同样的问题再次发生,这样才能保证实验的准确性和高效性。
在做实验的过程中,遇到不懂的,我请教了其他的同学,然后再修改自己的相关操作。遇到不太熟练的,我会多做几遍,加深自己的印象,逐步地积累,慢慢地提高。如果没有老师耐心细致的提示,这次的实验也不会顺利完成。
echo generate memoryinfo ok!
exam3.batde内容为:
@echo off
type %1\*.txt
echo type ok!
2运行exam1.bat、exam2.bat、exam3.bat,并记录运行结果。
运行exam1.bat的结果:
运行exam2.bat的结果:
运行exam3.bat的结果:
实验步骤:
1、Windows命令的直接使用方法
1用系统命令Time,Date查看系统当前的时间和日期。
②、Mem,Driverquery和SystemInfo查看系统的内存情况、设备驱动情况和、显示机器的系统信息(如:操作系统及其配置,产品ID,硬件属性等);
通过几个参数生成一个Excel电子表格,表格包含系统中安装的设备驱动程序的详细信息。查看表格了解系统中每个设备的驱动程序配置的详细情况。
相关文档
最新文档