Multisim第二次上机作业
软件第二次上机

软件第二次上机:1.假设一个算数表达式中包含三种括号:圆括号“(”和“)”,方括号“【”和“】”以及花括号“{”和“}”,且这三种括号可以按任意次序嵌套调用。
试利用栈运算编写判断一个表达式中括号是否匹配的算法intcorrect(exp);其中exp为字符型变量。
如括号正确匹配,则返回1;否则返回0;A算法流程框图:B源程序:#include<stdio.h>#include<stdlib.h>#define maxsize 1024typedef char datatype;typedef struct{ datatype data[maxsize];int Top;}SeqStack;void InitStack(SeqStack*);int Push(SeqStack*);int Pop(SeqStack*,datatype);int Empty(SeqStack*);int correct(char*);void main(){int z=0;char exp[50];printf("请输入:");gets(exp);printf("%s\n",exp);z=correct(exp);printf("%d\n",z);}void InitStack(SeqStack*&S){S=(SeqStack*)malloc(sizeof(SeqStack));S->Top=0;}int Push(SeqStack*S,datatype e){if(S->Top>=maxsize-1){printf("栈上溢");return 0;}else{S->data[++S->Top]=e;return 1;}}int Pop(SeqStack*S){int e=0;e=S->data[S->Top--];return e;}int Empty(SeqStack*S){if(S->Top<=0) return 1;else return 0;}int correct(char*exp){SeqStack*S;S=(SeqStack*)malloc(sizeof(SeqStack));S->Top=0;int flag=1;int i=0;while(exp[i]!='\0'&&flag){if(exp[i]=='('||exp[i]=='['||exp[i]=='{')Push(S,exp[i]);if(exp[i]==')'){if (Pop(S)!='(') flag=0;}if(exp[i]==']'){if (Pop(S)!='[') flag=0;}if(exp[i]=='}'){if (Pop(S)!='{') flag=0;}i++;}if(!Empty(S)) flag=0;return flag;}C运行结果:不匹配,返回0匹配,返回12.稀疏矩阵以三元组作为存储结构,试写一算法实现两个稀疏矩阵相加,结果仍放在三元组表中。
第二次上机报告

Visual Basic 实验报告班级:国贸0901姓名:曹龙晓学号:07092028一、实验题目:计算圆面积和球体积二、实验目的:进一步了解msgbox的有关应用及按钮的作用三、实验内容:如果半径的输入不合法,例如含有非数值字符,应该用messagebox报告输入错误。
1、界面2、代码Private Sub Command1_Click()If Not IsNumeric(Text1) ThenMsgBox ("您的输入不正确")End IfDim a As IntegerDim yuanmianji As IntegerDim qiutiji As IntegerConst pi = 3.1415926a = Val(Text1)yuanmianji = pi * a * aqiutiji = 4 * pi * a * a * a / 3Label3 = yuanmianjiLabel5 = qiutijiEnd Sub四、实验结果:1、调试和运行VB只能认识label3,而对没有的labela并不认识,通过F8对所写的程序进行验证。
2、体会和心得我觉得VB真是一门非常吸引人的课程,在上了几周课和做了几次作业以后,我正真的感觉到当自己所写的编程能真的运行时的那种幸福,真的是其他事情难以取代的。
一、实验题目:设计一个显示正立金字塔的界面二、实验目的:掌握有关函数的使用方法三、实验内容:1、界面2、代码Private Sub Form_Click()For i = 1 To 9Print Spc(9 - i); String(2 * i, Trim(Str(i)))Next iEnd Sub一、实验题目:设计一个倒金字塔型的界面二、实验目的:掌握有关函数的使用方法三、实验内容:1、界面2、代码Private Sub Form_Click()For i = 1 To 10Print Spc(i); String(2 * (10 - i) + 1, Trim(Str((10 - i)))) Next iEnd Sub四、实验结果:1、调试和运行在实验过程中应该注重前面所学过的,通过F8对所写的程序进行检验。
multisim教程

multisim教程以下是Multisim的简单教程:Multisim是一款用于电子电路仿真和设计的软件工具。
下面我将介绍一些基本的操作步骤,帮助你开始使用Multisim。
1. 打开Multisim软件并创建新项目。
选择“File”菜单中的“New”选项,然后选择“New Design”来创建一个新的电路设计。
2. 选择器件进行电路设计。
在“Place”菜单中选择合适的器件,如电阻、电容、二极管等,并将它们拖放到电路图板上。
3. 连接器件。
使用连线工具将器件彼此连接起来,这样就可以形成一个完整的电路。
确保连接正确,以保证电路的功能。
4. 设定器件参数。
双击选择的器件,在弹出的属性框中设置相应的参数,如电阻值、电容大小等。
5. 运行仿真。
选择“Simulate”菜单中的“Run”选项,或使用工具栏上的仿真按钮来运行仿真。
Multisim将模拟电路的行为,并显示电路的响应结果。
6. 分析仿真结果。
查看仿真结果,包括电流、电压、功率等参数。
这些结果将帮助你评估电路的性能和功能。
7. 调整和改进电路设计。
根据仿真结果,你可以对电路进行优化和改进。
调整参数、更换器件或重新设计电路布局,以达到设计要求。
8. 保存和导出设计。
将设计保存为Multisim项目文件,以便后续修改和使用。
如果需要,你还可以导出电路图、仿真结果等。
请注意,以上步骤仅为基础操作示例。
Multisim是一款功能强大的软件工具,还提供许多高级功能和特性,如多工程协作、电路板布局等。
你可以进一步学习和探索这些功能,以扩展你的电子电路设计能力。
《附录2_电子电路仿真平台Multisim_V7作业设计方案》

《附录2_电子电路仿真平台Multisim_V7》作业设计方案一、设计题目设计一个简单的电子电路,应用Multisim V7仿真平台进行仿真并进行性能分析。
二、设计目标通过本次设计,学生将学会应用Multisim V7电子电路仿真平台进行电路设计和仿真,掌握基本的电子电路设计原理和仿真技巧。
三、设计内容1. 设计一个简单的RC电路,包括一个电阻和一个电容,输入一个方波信号并观察输出波形的变化。
2. 应用Multisim V7搭建电路并设置方波信号的频率、幅值等参数。
3. 运行仿真并记录输入输出波形,分析波形的变化。
4. 调整电路中的电阻和电容数值,观察输出波形的变化。
5. 尝试添加其他元件,如二极管、电感等,观察电路性能的变化。
四、设计步骤1. 打开Multisim V7软件,选择工具栏中的元件库,选择所需的电阻、电容等元件。
2. 拖动元件至工作区域,毗连元件,构建RC电路。
3. 设置方波信号的频率、幅值等参数。
4. 运行仿真,观察输入输出波形。
5. 记录波形数据,分析波形的变化。
6. 调整电路中的电阻和电容数值,再次运行仿真,观察输出波形的变化。
7. 尝试添加其他元件,观察电路性能的变化。
五、设计要求1. 设计的电路简单明了,便于理解。
2. 仿真结果准确可靠,数据记录完备。
3. 对电路性能的分析清晰明了,结论合理。
4. 设计报告格式规范,内容完备。
六、设计报告设计报告应包括以下内容:1. 设计目标:简要说明设计的目标和意义。
2. 设计原理:介绍设计所应用的电子电路原理。
3. 设计步骤:详细描述设计的步骤和操作过程。
4. 仿真结果:展示仿真的输入输出波形,并进行数据分析。
5. 总结分析:对电路性能进行总结分析,提出改进意见。
七、评分标准1. 设计内容完备,符合要求。
2. 仿真结果准确可靠。
3. 总结分析清晰明了。
4. 设计报告格式规范,内容完备。
以上为《附录2_电子电路仿真平台Multisim_V7》作业设计方案,希望同砚们能够认真完成设计,并通过本次作业提升对电子电路设计和仿真的理解和技能。
2009级专业班第二次上机作业

JA V A 第二次上机作业实验目的:1.掌握类的构造方法、成员变量与成员方法的定义与使用2.掌握数组的定义与使用3.掌握接口的声明与实现4.进一步掌握程序的基本结构实验环境:JDK 1.6 + 文本编辑器实验内容:内容一:设计一个圆类(Circle),将圆的位置(圆心坐标和半径)作为属性(提供任意圆的设置),并能计算圆的面积。
Circle类必须满足以下要求:(1) 圆类Circle 的属性有:point_x :int型,代表圆心横坐标。
point_y : int型,代表圆心纵坐标。
radius: double型, 代表圆的半径。
PI: double型, 最终静态变量初值为3.14,代表圆的圆周率。
area: double型,代表圆的面积。
(2) 圆类Circle 的方法有:Circle ( ) : 构造函数,将圆的圆心置坐标原点,半径置1。
Circle ( int x , int y, double r) : 构造函数,形参r 为半径的初值,x为横坐标的初值,y为纵坐标的初值。
double areaCount() :计算当前圆类对象的面积并赋值给Circle类的area属性,返回area的值给此方法的调用者。
String toString( ) : 把当前圆类对象的圆心坐标、半径以及面积组合成“圆心为(x, y)半径为r的圆的面积为area”字符串形式,其中x、y、r和area分别为横坐标、纵坐标、半径和面积的数据。
代码如下,按要求把程序补充完整并运行。
内容二:编写程序:计算二维数组{{1,2,3},{4,5,6,7},{8,9,10,11,12,14,15}}中的最大值,最小值及其差值。
(使用二重循环)内容三:按要求编写一个Java应用程序程序:(1)定义一个接口CanFly,描述会飞的方法public void fly();(2)分别定义类飞机和鸟,实现CanFly接口。
(3)定义一个测试类,测试飞机和鸟,在main方法中创建飞机对象和鸟对象,再定义一个makeFly(CanFly canFly)方法,其中让会飞的事物飞。
第二次作业

3.7 步骤 OPTR栈 OPND栈 输入字符 主要操作 1 # A-B*C/D+E↑F PUSH(OPND,’A’) 2 # A -B*C/D+E↑F PUSH(OPTR,’-’) 3 # - A B*C/D+E↑F PUSH(OPND,’B’) 4 #- A B *C/D+E↑F PUSH(OPTR,’*’) 5 # - * A B C/D+E↑F PUSH(OPND,’C’) 6 # - * A B C /D+E↑F operate(‘B’,’*’,’C’) 7 # - A B*C /D+E↑F PUSH(OPTR,’/’) 8 # - / A B*C D+E↑F PUSH(OPND,’D’) 9 # - / A B*C +E↑F operate(‘B*C’,’/’,’D’) 10 # - A B*C/D +E↑F operate(‘A’,’-’,’B*C/D’) 11 # A-B*C/D +E↑F PUSH(OPTR,’+’) 12 # + A-B*C/D E↑F PUSH(OPND,’E’) 13 # + A-B*C/D E ↑F PUSH(OPTR,’↑’) 14 # + ↑ A-B*C/D E F PUSH(OPND,’F’) 15 # + ↑ A-B*C/D E operate(‘E’,’↑’,’F’) 16 # + A-B*C/D E↑F # operate(‘A-B*C/D’,’+’,’E↑F’) 17 # A-B*C/D+E↑F # RETURN(GETTOP(OPND)) 3.10 void text(int &sum) { Stack s; int x; InitStack(s); do { scanf(x); if(x==0) Push(s,0); else {sum+=x; Push(s,sum);} }while(x==0); while(!StackEmpty(s)) {Pop(s,sum); print(sum);} } 3.27 (3) 步骤 OPND栈 输入字符 主要操作 1 # 2 PUSH(OPND,’2’) 2 # 2 # POP(OPND,’2’) 3 # # PUSH(OPND,’1’) 4 # 1 # PUSH(OPND,’2’) 5 # 1,2 # POP(POND,’2’) 6 # 1 # PUSH(OPND,’1’) 7 # 1,1 # POP(POND,’1’) 8 # 1 # PUSH(OPND,’0’) 9 # 1,0 # PUSH(OPND,’1’) 10 # 1,0,1 # POP(POND,’1’) 11 # 1,0 # PUSH(OPND,’0’) 12 # 1,0,0 # POP(POND,’0’) 13 # 1,0 # # n=n+1 14 # 1,0 # POP(POND,’0’) 15 # 1,0 # # n=n+1 16 # 1 # POP(POND,’1’) 17 # # PUSH(OPND,’0’) 18 # 0 # PUSH(OPND,’1’) 19 # 0,1 # POP(POND,’1’) 20 # 0 # PUSH(OPND,’0’) 21 # 0,0 # PUSH(OPND,’0’) 22 # 0,0,1 # PUSH(OPND,’1’) 23 # 0,0,1 # POP(POND,’1’) 24 # 0,0 # PUSH(POND,’0’) 25 # 0,0,0 # PUSH(POND,’1’) 26 # 0,0,0,1 # POP(POND,’1’) 27 # 0,0,0 # PUSH(POND,’0’) 28 # 0,0,0,0 # POP(POND,’0’) n=n+1 29 # 0,0,0 # POP(POND,’0’) n=n+1 30 # 0,0 # POP(POND,’0’) n=n+1 31 # 0 # POP(POND,’0’) n=n+1 32 # # POP(POND,’0’)
multisim使用
图8 电压源属性对话框
6) 放置交流信号源 交流信号源可以采用信号发生器产生,也可以直接调用 交流电压源。直接调用元件箱中的交流电压源,点击按钮, 带出一个参数是0.7 V、1 kHz、0 Deg的交流电压信号源。 双击元件,出现属性对话框(如图9所示),在此可以对 这个信号源的大小、频率、初相进行修改。
4) 设置连接线的颜色 缺省的连接线的颜色是由Option/Preferences命令所设 定的。若需要改变某一根连接线的颜色,可将光标指向这根 连接线,点击右键,弹出快捷菜单,选择Color...命令进行 设置。 5) 删除连接线或节点 若要删除连接线或节点,可选中连接线或节点,按 Delete键;或将光标指向要删除的连接线或节点,单击右键, 弹出快捷菜单,选择Delete命令。
图5 选取电位器对话框
3) 放置电容 在Basic元件库中找到电解电容箱,利用与放置电阻同 样的方法可以将两个10μF和一个47 μF的电解电容放置到电 路窗口中。
4) 放置三极管 将鼠标指向晶体管库按钮,晶体管库即可展开,出现晶 体管元件箱。由于Multisim是国外公司开发的软件,因此在 现实元件箱中存放的是根据国外几个大公司的实际产品设计 的现实模型,没有我国的晶体管器件模型,设计时可以选择 和我国产品相近的国外产品模型。还可以点击虚拟NPN元件 箱,选择虚拟晶体三极管。与选取虚拟电阻的方法一样,从 虚拟晶体管库取出BJT_NPN_VIRTUAL放到电路窗口适当 的位置上。双击元件,打开元件属性对话框,如图6所示。 选择Value页,点击Edit Model,即出现Edit Model对话框, 如图7所示。其中BF即是β (电流放大倍数),其值可修改。 然后点击Change Part Model按钮,回到BJT_NPN_VIRTUAL 对话框,点击“确定”按钮,三极管即放置完毕。
multisim模拟仿真实验
multisim模拟仿真实验⼀、实验⽬的和要求(1)学习⽤multisim 进⾏模拟电路的设计仿真 (2)掌握⼏种常见的实⽤电路原理图⼆、实验内容和原理2.1测量放⼤电路仿真分析在multisim11中画出如下电路原理图。
如图所⽰为测量放⼤电路,采⽤两级放⼤,前级采⽤同相放⼤器,可以获得很⾼的输⼊阻抗;后级采⽤差动放⼤器,可获得⽐较⾼的共模抑制⽐,增强电路的抗⼲扰能⼒。
该电路常常作为传感器放⼤器或测量仪器的前端放⼤器,在微弱信号检测电路设计中应⽤⼴泛。
电路的电压放⼤倍数理论计算为)1(94367R R R R R A u++=将电路参数代⼊计算:630)101001001(10300=++=uA2.2电压-频率转换电路仿真分析给出⼀个控制电压,要求波形发⽣电路的振荡频率与控制电压成正⽐,这种通过改变输⼊电压的⼤⼩来改变输出波形频率,从⽽将电压参数转换成频率参量电路成为电压—频率转换电路(VCO ),⼜称压控振荡器。
在multisim11中创建如图所⽰的电压-频率转换电路的电路原理图。
电路中,U1是积分电路,U2是同相输⼊迟滞⽐较器,它起开关左右;U3是电压跟随电流,输⼊测试电压U1。
电路的输出信号的振荡频率与输⼊电压的函数关系为Zi CU R R U R T f 31421==2.3单电源功率放⼤电路仿真分析在许多电⼦仪器中,经常要求放⼤电路的输出机能够带动某种负载,这就要求放⼤电路有⾜够⼤的输出功率,这种电路通称为功率放⼤器,简称“功放”。
⼀般对功放电路的要求有:(1)根据负载要求提供所需要的输出功率;(2)功率要⾼(3)⾮线性失真要⼩(4)带负载的能⼒强。
根据上述这些要求,⼀般选⽤⼯作在甲⼄类的共射输出器构成互补对称功率放⼤电路。
单电源功放电路中指标计算公式如下:功率放⼤器的输出功率:Lo oR U P = 直流电源提供的直流功率:CO CC E I U P ?=电路效率:%100?=EoP P η实验电路原理图如下:2.4直流稳压电源仿真分析在所以电⼦电路和电⼦设备中,通常都需要电压稳定的直流电源供电。
Multisim仪器仪表的使用
⑸Channel B复选框:该复选框功能同Channel A复选框。 ⑹Trigger复选框:设置触发方式。 Edge:触发信号的边沿,可选择上升沿或下降沿。 A或B按钮:表示用A通道或B通道的输入信号作为同步X轴时 基扫描的触发信号。Ext按钮:用示波器图标上触发端T连接 的信号作为触发信号来同步X轴的时基扫描。 Level:用于选择触发电平的电压大小(阈值电压)。 Sing.:单次扫描方式按钮,按下该按钮后示波器处于单次 扫描等待状态,触发信号来到后开始一次扫描。 Nor.:常态扫描方式按钮,这种扫描方式是没有触发信号时 就没有扫描线。Auto:自动扫描方式按钮,这种扫描方式不管 有无触发信号时均有扫描线,一般情况下使用Auto方式。 ⑺功能按钮 Reverse按钮:单击该按钮,可使图形显示窗口 反色。Save按钮:存储示波器数据,文件格式为*.SCP。
2举例
R1
C1
XFG1
3
1uF
R4
6
L1
1mH
R3 2
函数发生器应用电路
XSC1
A +_
B +_
Ext Trig +
_
2.1.3功率表
功率表的操作界面和图标
1 功能说明 如上图所示,功率表的操作界面包括显示文本框和接线 端子组成。 ⑴显示文本框:显示测量的有功功率和功率因素。 ⑵接线端子:Voltage接线端子和被测支路并联,Current接线 端子和被测支路串联。
(面向对象程序设计)第二次上机
《面向对象程序设计》第二次上机作业
1.求下列表达式的值并上机验证结果。
a)已知:int a=3,b=5; 求下列表达式的结果:
(a+b)%b
b>>a
++a-b++
b)已知:int a[] ={3,5,7,9}; 求值:
a[0]+a[1]
(a[0]+=a[1])+ ++a[2]
for(int i=1;i<4;i++)
a[0]+=a[i];
计算a[0]的值。
2.编写一个程序,写出下面的java语句。
a,b,c,是3个int型变量,用条件表达式写出a>b时,c的值为a,否则c的值为b。
用for循环实现下述循环:循环变量m为100,每次循环m减10;当m等于50时退出循环,并输出m。
3.编程求出一个一维int型数组的元素最大值,最小值,所有元素之和,以及平均值。
4.使用switch语句根据考试成绩登记输出百分制的分数段。
规定如下:
A:85-100 B:70-84 C:60-69 D:<60
5.思考题(选做):百钱买百鸡。
我国古代数学家张丘建在《张丘建算经》一书中提出了“百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
简单解释下就是:花100块钱买100只鸡,不能多也不能少。
公鸡5元一只,母鸡3元一只,小鸡1元三只。
问应该买公鸡,母鸡,小鸡各多少只?(提示:答案不唯一)要求用java写个程序来实现,把所有符合要求的答案都找出来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Multisim第二次上机作业
一、实验目的
1、继续熟悉Multisim 8.0电路图的编辑和各种操作技巧;
2、初步了解Multisim 8.0各种仿真分析方法;
二、实验内容
1、创建电路图3,对电路进行工作点分析(Operating Point Analyses);观察仿真结果,从仿真结果中求出其工作点参数,估算出三极管的放大系数β。
3、对电路进行瞬态特性分析(Transient Analysis);要求输入的正弦波参数为:频率1KHz、振幅10mv。
观察仿真结果和波形,从仿真结果中估算出该电路的放大倍数Av。
图 3
2、创建电路图4
1)分别以图3的R5和图4的R1为对象对电路3和4分别作参数扫描分析(100-10K欧姆,选6~8个测试点),观测其输出信号的变化,对两电路的带负载能力进行比较;
2)分别对电路3和4分别作温度扫描分析(-20度——70度,增量为10度),比较其输出信号的变化;
3)自己设计电路,分别测试电路3和4的输入和输出阻抗;
图 4
4、实验报告要求:
按照上述实验内容记录实验数据(波形用截图的方式),并根据实验结果分别对两电路做出相应的分析,得出结论;
自行撰写实验报告,报告的文件名用学号,如:20062901等;
上机结束时提交报告。