文档库 最新最全的文档下载
当前位置:文档库 › 实验三

实验三

实验三
实验三

实验三基本函数应用

一、实验题目

a)内存与字符串操作函数

b)IP地址转换

二、试验要求:

a)录入下列实例程序,在活页纸上写出程序输出内容

b)理解程序含义并写出程序注释同时分析程序输出内容

三、实例

1.字符串copy:

第一行打印before strcpy():string(1)是因为printf打印%s字符串a,上面char a【30】=“string (1)”;这里把string(1)赋值给字符串a。

第二行打印after strcpy():string(2)是应为printf打印%s字符串strcpy(a,b)的结果,strcpy (a,b)执行的是把字符串b的值拷替换字符串a的值。上面char b【】=“string(2)”执行把string (2)这一串字符赋值给b。strcpy(a,b)执行结果就是a【】=string(2)。

2.内存和字符串copy命令比较:

第一行strcpy():string1,是应为printf打印strcpy():%s(%s是指打印后面字符串的值),a

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

a s t r i n g ( a )

b s t r i n g 1 \0 s t r i n g

a s t r i n g 1 \0

这里b的值为string1\0;遇到\0结束。所以a的值为string1\0a),应为系统默认\0结束了,这里所有字符串最后都省略了一个\0符号,%s是按字符打印的,所以这里打印到string1\0遇到\0结束了。第二行stcpy():stringla)在printf(“\nstrcpy():”)这里打印换行和strvpy():下面for(i=0;i<30;i++)printf(“%c”,a【i】)打印三十个a字符串里面的内容所以接着strcpy():后面,但是%c

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

a s t r i n g ( a )

第三行mencpy():string1string 上面有mencpy(a,b,30);这里是把b字符串的缓冲区中30个

然后printf(“\nmencpy():”);printf(“%c”,a【i】);%c这是按内存打印,遇到\0不结束。这两条语句执行显示打印结果,mencpy():string1string。

3.IP地址转换:

第一行、1241557184这里显示这个是因为,l1=inet_addr(“192.168.0.74”),这条语句中inet_addr 这个函数功能是将一个点分十进制的ip转换成一个32位2进制数:

192. 168. 0. 74

11000000.10101000.00000000.01001010

机器默认小端字节序存储存储。

所以是:01001010.00000000.10101000.11000000

转换为整形:1001010000000001010100011000000

在由printf(“%u\n”l1);输出,%u是强制吧l1的值转换为十进制无符号整数,所以得到第一行这串数字。1241557184

第二行、c0 a8 00 4a显示这个是因为

这段函数%02x是输出2个位置的16进制数,*((unsigned char*)(&l1)+i)这里是把l1的值8个字节分别提取,如果i=o,怎取前八个字节&是变量的基地址,+i是取偏移地址,unsigned char*是强制转换为char型,最外边的*是取值,是把变量l1的内容分别提取,并以十六进制格式输出。

1100 0000 1010 1000 0000 0000 0100 1010

C 0 A 8 0 0 4 A

由于这里存储方式为小端字节序,高序字节在前低序字节在后,从后往前存储,所以这里是倒着来的,原本是4a00a8c0,现在是c0a8004a。

第三行、3004523731和第一行一样,是由于小端字节序存储从后往前存的,179.21.100.211,这样存的,先转换成二进制数,在强制转换成十进制数就是30 4 23731这样。

第四行、和第二行一样转换成16进制数,d3 64 15 b3。

第五行、192.168.0.74因为memcpy(&addr1,&l1,4)这里把l1的所指向内存位子每四位为一组拷贝给addr所指向的位置。printf(“%s\n”,inet_ntoa(addr1));这里inet_ntoa是把addr1返回一个字符指针,指向一块存储着点分格式IP地址的静态缓冲区,所以打印结果为192.168.0.74。

第六行和第五行一样不过是把l1换成l2。Memcpy把l2所指向的内存中4位为一组拷贝给addr2所指向的位子。然后由printf输出,输出时由inet_ntoa addr1返回一个字符,指向一块存储着点分格式

IP地址的静态缓冲区,所以是211.100.21.179

第七行211.100.21.179是因为p1=inet_ntoa(addr1)这里由于inet_ntoa指向的是静态内存,而静态内存的特性是第二次赋给的值会覆盖第一次的值,所以两次均获得最后一次函数返回的结果,inet_ntoa函数具有不可重入性

第八行也是一样的,inet_ntoa函数的不可重入性p2=inet_nota(addr2),这里输出的是211.10.21.179。

通信电子线路 学习指南

学习指南 通信电子线路课程是电子信息工程和通信工程专业的必修课,是核心的专业基础课程。本课程的特点是理论和实践性都很强的课程,因此,在学习该课程前应该先复习巩固其先修课程电路理论、信号与系统、模拟电子技术课程中的相关知识。在课程学习中,要特别注意与模拟电子技术课程中分析方法的不同点。例如,在高频小信号放大器一章应注意高频小信号放大器等效电路与低频放大电路等效电路的不同之处,应该考虑分布参数的影响;在谐振功率放大器一章,应该注意它与低频功率放大器的不同之处,很好地掌握折线分析法;在频率变换电路中,应该注意区分线性频率变换和非线性频率变换电路的频谱特性。因为本课程中涉及电路的负载主要是谐振回路,因此首先要很好地掌握阻抗变换电路与选频电路特性的特性及分析方法。 本课程着重掌握通信系统中电路的基本原理,基本电路,基本分析方法及其在现代通信中的典型应用。学生学习本课程后对通信系统应有一个完整的了解,并会进行模拟通信系统中发射机,接收机电路的设计、安装调试。 对本课程中学生难于理解的地方,可以通过实验消化理解理论课程内容。有兴趣的同学可参予课外活动,充分发挥自己的潜能,不断提高自己实践能力。

为了巩固课程知识,学生可选择相关硬件课程设计,进行无线通信发射机和接收机的设计、安装、调试,可有效地提高自己的实际动手能力,加强对本课程的学习兴趣和对知识的掌握深度。 为了帮助同学学好该课程,我们编写了教材和参考资料,该课程已经建立了丰富的网络教学环境,同学们可从华中科技大学主页的精品课程栏目进去可以浏览该课程的网上教学系统。该系统中有网络课程(含网上教材、电子教案、学习指导、思考练习、参考资料、授课录像、复习导航等)以及课堂讲课多媒体课件,还有网上实验教学系统。 教材和参考资料: 1.本课程使用的教材是严国萍、龙占超编写,科学出版社正式出版的国家十一五规划教材“通信电子线路”该教材的特点是:强调系统,从通信系统和整机出发来分析各功能模块的原理、组成、作用,构建了模拟通信和数字调制系统的内容体系;深入浅出,注重基本原理、分析方法和典型应用,按照基础知识、线性电路、非线性电路以及频率变换电路来组织教材内容;易于理解,重点难点配有例题,每章都有主要知识点小结,结合实际无线通信机进行电路和性能指标分析以及参数测量;内容新颖,注意将本课程的基础知识和相关的最新科技发展相融合,将软件无线电中用DSP实现调制解调的思想引入教材。 2.为帮助学生自主学习,课程组还编写出版了辅导书“高频电子线路学习指导与题解”,本书包含了与本课程相关的张肃文等编

实验报告三(完整版)

实验报告三 实验三、对象和类(一) 1.实验目的 (1)结合面向对象思想掌握类的定义以及类中成员的定义,学会设计自己的类。 (2)掌握方法重载、尤其是构造方法的重载,深入理解构造函数的作用与调用时机。 (3)理解this关键字同static关键字的意义,掌握成员变量的具体隐藏实现。 (4)理解对象同对象引用间的区别,掌握创建对象与调用对象成员的方法,以及对象作为参数与基本数据类型变量做参数的区别。 2.实验内容和步骤 上机输入程序并调试运行程序。 编译并运行附件1和附件2,观察结果分析其原因。 附录1 ClassLoadTest.java package ch3; public class ClassLoadTest{ static{ System.out.println("class loding"); } public static void main(String [] args) { } } 结果: 原因:附录2 PassValueTest.java package ch3; public class PassValueTest { private int i = -100; public void test1(int b) { b = 100; } public void test2(PassValueTest b) { b.i = 100; } public void test3(PassValueTest b) { b = this; } public static void main(String[] args) { PassValueTest obj = new PassValueTest(); int temp = 100; obj.test1(temp); System.out.println(temp);

软件工程实验第三次

软件工程学院 软件工程实验报告 专业: 班级: 学号: 姓名: 指导老师:

实验一:软件开发的过程计划 实验课时:2课时 一、实验目的 项目计划的目的是为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。 ⑴估计项目的总体规模、工作量和成本。 ⑵制定项目计划,重点放在产品生命周期中的主要关键任务。 ⑶制定项目时间表和预算。 二、实验环境 1.硬件环境 P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。 2.软件环境 操作系统:Windows XP 数据库:Sql Server 2000以上或Access 2003以上 3.通用工具软件 通用绘图工具:MicroSoft Visio 2003以上 文本编辑工具:MicroSoft Word 2003以上 4.CASE工具 UML建模工具:Rational Rose 2000 三、实验要求、实验内容 1、实验要求: 在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。 2、实验内容 熟悉RUP(Rational Unified Process)软件开发统一过程的思想,RUP(Rational Unified Process)是由Rational公司(现已是IBM公司的一部分)提出的过程模型,它软件工程史上最完整、最成熟、最优秀的过程模型之一。 学习软件开发的组织和管理,将项目开发各阶段的任务明确,掌握各阶段的里程碑,并熟悉相应的工具。

四、思考题 1、项目开发首先要做的事是什么? 答:进行需求分析和定义,了解客户或用户的需求,然后再进行后续。 2、你认为该软件应具备的最重要的特性是什么。 答:安全性、实用性、灵活性。 3、你认为怎样分工是最合理的? 答:该项目已经采取项目经理制,但是在具体开发过程中,情况也许会比预计的复杂,因此,在了解了各组员的工作风格的情况下,根据性格类型进行工作分配,比如:外向而且善于交流的,可以给他安排和客户交流沟通,让客户随时了解我们 的工作情况,并且反应客户的需求改变;为了让项目更好的组织和管理,可以采取 主程序员负责制;这样,在项目经理的带领下,内部安排主程序员和副程序员,工 作员有问题的话,内部自己解决,只要按时汇报工作就可以了。 五、实验内容: 项目背景 项目名称:银行计算机储蓄系统 随着社会经济的发展,XX银行的业务不断增长,传统的依靠手工的存取款业务办理方式已经不能满足不断增长的业务需求。其一,业务需求的增加需要消耗大量人力物力资源;其二,业务复杂化导致人工处理方式出错率增加,从而引起储户不满。一方面可以减轻银行业务员的工作量,另一方面可以减少工作的出错率,从而提高工作效率。现在计算机网络的告诉发现使越来越多的人更喜欢在网购物、在家存款取款。在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。为解决此问题,拟为其开发计算机储蓄系统。 项目进度: 项目在项目经理的制度下,在整个开发过程中,树立“里程碑”,而且严格按照计划进行,各阶段任务必须完成,现把任务进度历程绘制如下:

中南大学通信电子线路实验报告

中南大学 《通信电子线路》实验报告 学院信息科学与工程学院 题目调制与解调实验 学号 专业班级 姓名 指导教师

实验一振幅调制器 一、实验目的: 1.掌握用集成模拟乘法器实现全载波调幅和抑止载波双边带调幅的方法。 2.研究已调波与调制信号及载波信号的关系。 3.掌握调幅系数测量与计算的方法。 4.通过实验对比全载波调幅和抑止载波双边带调幅的波形。 二、实验内容: 1.调测模拟乘法器MC1496正常工作时的静态值。 2.实现全载波调幅,改变调幅度,观察波形变化并计算调幅度。 3.实现抑止载波的双边带调幅波。 三、基本原理 幅度调制就是载波的振幅(包络)受调制信号的控制作周期性的变化。变化的周期与调制信号周期相同。即振幅变化与调制信号的振幅成正比。通常称高频信号为载波信号。本实验中载波是由晶体振荡产生的10MHZ高频信号。1KHZ的低频信号为调制信号。振幅调制器即为产生调幅信号的装置。 在本实验中采用集成模拟乘法器MC1496来完成调幅作用,图2-1为1496芯片内部电路图,它是一个四象限模拟乘法器的基本电路,电路采用了两组差动对由V1-V4组成,以反极性方式相连接,而且两组差分对的恒流源又组成一对差分电路,即V5与V6,因此恒流源的控制电压可正可负,以此实现了四象限工作。D、V7、V8为差动放大器V5与V6的恒流源。进行调幅时,载波信号加在V1-V4的输入端,即引脚的⑧、⑩之间;调制信号加在差动放大器V5、V6的输入端,即引脚的①、④之间,②、③脚外接1KΩ电位器,以扩大调制信号动态范围,已调制信号取自双差动放大器的两集电极(即引出脚⑹、⑿之间)输出。

图2-1 MC1496内部电路图 用1496集成电路构成的调幅器电路图如图2-2所示,图中VR8用来调节引出脚①、④之间的平衡,VR7用来调节⑤脚的偏置。器件采用双电源供电方式(+12V,-9V),电阻R29、R30、R31、R32、R52为器件提供静态偏置电压,保证器件内部的各个晶体管工作在放大状态。 四、实验结果 1. ZD.OUT波形: 2. TZXH波形:

3Dmax实验报告3解读

宁德师范学院计算机系 实验报告 (2015—2016学年第二学期) 课程名称 3d建模设计 实验名称实验三布尔命令 专业计算机科学与技术(专升本)年级 15级 学号 B2015102323 姓名林振贤指导教师钱庆平 实验日期

实验目的与要求: 1.熟悉掌握3ds max界面操作与视图控制方法; 2.熟练掌握物体的变动修改操作方法; 3.熟练掌握物体的各种创建方法和成组操作方法; 4.能够熟练灵活地运用几何体来构建复杂模型。 5.掌握多边形建模。 6.掌握挤出,二维线,布尔,放样,编辑网格等功能 实验设备(环境): Windows XP 、3d max 9.0 实验内容: 通过各种工具,制作厨房组合。 1.用二维线绘制厨房橱柜。 2.用布尔命令制作水槽口。 3.制作水龙头等。 4.给各部分添加UVW添加材质。 实验步骤、实验结果及分析: 知识点:利用二维图形挤出生成三维物体。 1、单击“自定义”-》“单位设置”,选择“毫米” 单击二维矩形按钮,在左视图创建一个700mmX500mm的矩形和150mmX90mm

的矩形,选择小的矩形,单击对齐按钮,点击大的矩形。 将小矩形对齐大矩形后,再次单击对齐按钮再次点击大矩形,对齐第2次。

单击确定, 2、单击二维矩形按钮,在左视图创建2个半径为15mm的圆,调整其位置。 (选择画好的两个圆,单击“对齐命令”,单击大矩形,在y轴上细节调整下) 3、单击大的矩形,添加“编辑样条线”修改器。单击“附加多个”,将所有的样条 线附加为一起。

4、点击“样条线”层级,选中所有的样条线,单击“修剪”命令,修剪多 余的样条线,如下所示: 5、回到“顶点”层级,选中所有的顶点,单击。 6、单击,在2个半圆的上下端各添加2个点,在y轴上细节调整,尽量间 距一样。

网络营销实验三实验报告

实验三、网络广告 一、实验目的 1. 访问、对比主流的网络媒体,了解常见网络广告的主要形式和特征; 2. 熟悉影响网络广告效果和决定网络广告价格的主要因素; 3. 掌握网络广告方案的策划和设计。 二、实验内容 1. 进入三家典型的网络媒体,了解这些媒体中网络广告的投放情况。体验主要频道、特征,以广告主的身份体验广告效果。 2. 对比三家典型网络媒体上各个栏目之间的价格,分析影响网络广告效果和决定不同网络媒体、不同栏目、不同广告形式价格的主要因素。 3. 选择一家公司,为该公司设计一份网络广告策划方案。 三、预习要求 教材第6、7章内容。 四、实验方法与步骤 一、进入“网易”、“搜狐”、“新浪”等国内知名门户站点,充分了解这些站点中(三家媒体*三个栏目*五种广告类型=45种广告,组合后包括基本广告类型) (1)新浪广告 新浪网采用了目前国际上最先进的第三方网络广告管理系统,具有交互性,主动性,实时性的特征。按客户自行设置的报告格式,精确有效地管理网络广告浏览量和发布状况,为您提供相应的第三方的广告发布情况及数据分析。广告管理系统软件运转的超稳定性,可靠的发布过程监测,保证网络广告的正常播放,保护了客户和浏览者的权益。 “新浪分类广告”是新浪网推出的一种全新的服务形式,主要满足企事业单位和个人在互联网上发布各类信息的需求,为广大网友提供丰富、实用、广泛、真实的信息资源。新浪的广告形式也是最多的。页面的左侧均为广告,除此之外在页面中间也出现浮动广告。每次登陆新浪的有关网页,都会自动出现背投广告和弹出广告,此外还有自动弹出

的下拉式全屏广告和新浪视窗。在新浪微博页面中,广告主要投放在顶端通栏和右侧推荐中。 新浪网除了一般形式的广告之外,自动弹出的广告比较多。新浪的访问量很大,无论新浪的用户是被动还是主动浏览这些弹出广告,这些广告对于广告商来说无疑是很好的,因为都可以达到很好的宣传效果。新浪微博的广告较少,却都在用户所能看到的范围内。首先顶部的通栏广告是在“发布微博”栏目的下面,用户一定会看到;微博用户也越来越多,微博广告可以达到非常好的宣传效果。 1)新闻栏目2)财经栏目横幅广 文字链接 图文广 浮动广告 页半边广告 媒体广告 通栏广告

(上课)软件工程实验一

实验指导书 课程名称软件工程导论 学院信息工程学院 班级 学号 姓名 2018年 2 月 24 日 实验名称分析系统业务流程和绘制系统业务流程图 实验目的: 1、掌握结构化分析方法 2、掌握业务流程分析方法和业务流程图的绘制 实验内容: 任务一绘制系统业务流程图 试绘制工资管理系统的系统流程图,根据系统流程图的符号说明仔细理解如图含义: 任务二分析系统业务流程和绘制系统业务流程图 案例一:总务办公管理系统

系统简介:某单位准备开发一个购买办公用品和设备的总务办公管理系统。办公用品的购买申请由各科室提出,由负责总务工作的办公室统一收集。其中,购买申请的金额低于500元(含500元)可以由总务办公室直接审批,而高于500元的购买申请由机构主管领导审批,批准的购买申请形成采购清单由采购员负责购买,同时应记录每次实际购买清单,进行入账。在提出购买申请时要包括下述数据:申请单位、物品名称、物品数量、预计价格、物品用途等。每次购买完成后应记录以下数据:物品名称、物品数量、价格、总金额、购买日期、经办人等。 案例二:火车票预订系统 系统简介:某高校后勤集团为了学生寒暑假返乡,办理代学生预订返乡火车票事务,订票必须提前三天办理,后勤订票处提前三天向火车站办理购票事务。订票处使用一台微机处理订票后购票事务,学生订票一次称为一个事务,由订票员将其输入在微机中,系统核实订单后,将订票信息记录放在订票库中。系统每天打印预订三天的购票单,并更新订票库。 请对以上系统进行业务流程分析后,绘制出该系统的系统流程图。 实验原理: 系统流程图是描绘物理系统的传统工具。是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等等)。表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程。 系统业务流程图的符号:

《通信电子线路》实验指导书XXXX版(简)

北方民族大学《通信电子线路》实验指导书 主编 校对 审核 北方民族大学电气信息工程学院 二○一三年九月

目录 实验一小信号谐振放大器的性能分析 (2) 实验二LC正弦波振荡器的综合分析 (8) 实验三振幅调制与解调电路研究与综合测试 (12) 实验四频率调制与解调电路研究与综合测试 (22) 实验五锁相环的工作过程及综合分析 (29)

实验一 小信号谐振放大器的性能分析 (综合性实验) 一、实验目的 1.掌握小信号谐振放大电路的组成和性能特点。 2.熟悉小信号谐振放大器的主要性能指标。 3.学会频响特性的测试。 二、实验仪器与器材 1. 高频电子技术实验箱中小信号谐振放大器实验模块电路(RK-050) 2. 示波器 3. 信号源 4. 扫频仪 三、小信号调谐放大器实验电路 图1-1为小信号调谐放大器实验电路(RK-050)。图中,201P 为信号输入铆孔,当做实验时,高频信号由此铆孔输入。201TP 为输入信号测试点。接收天线用于构成收发系统时接收发方发出的信号。变压器21T 和电容12C 、22C 组成输入选频回路,用来选出所需要的信号。晶体三极管21BG 用于放大信号,12R 、22R 和52R 为三极管21BG 的直流偏置电阻,用以保证晶体管工作于放大区域,且放大器工作于甲类状态。三极管21BG 集电极接有LC 调谐回路,用来谐振于某一工作频率上。本实验电路设计有单调谐与双调谐回路,由开关22K 控制。当22K 断开时,为电容耦合双调谐回路,12L 、22L 、42C 和52C 组成了初级回路,32L 、42L 和92C 组成了次级回路,两回路之间由电容62C 进行耦合,调整62C 可调整其耦合度。当开关22K 接通时,即电容62C 被短路,此时两个回路合并成单个回路,故该电路为单调谐回路。图中12D 、22D 为变容二极管,通过改变ADVIN 的直流电压,即可改变变容二极管的电容,达到对回路的调谐。三个二极管的并联,其目的是增大变容二极管的容量。图中开关21K 控制32R 是否接入集电极回路,21K 接通时(开关往下拨为接通),将电阻32R (2K )并入回路,使集电极负载电阻减小,回路Q 值降低,放大器增益减小。图中62R 、72R 、82R 和三极管22BG 组成放大器,用来对所选信号进一步放大。 202TP 为输出信号测试点,202P 为信号输出铆孔。

软件工程实验三

班级学号:132054234 姓名:吴易璋成绩: 实验三小组项目详细设计 (一)系统需求实例: 企业销售管理的描述如下: (1) 接受顾客的订单,检验订单。若库存有货,则进行供货处理,即修改库存,给仓库开备货单,并且将订单留底;若库存量不足,则将缺货订单登入缺货记录。 (2) 根据缺货记录进行缺货处理,将缺货通知单发给采购部分,以便采购。 (3) 根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理。 (4) 根据留底的订单进行销售统计,打印统计表给经理。 (二)实验目的: (1)根据所选定题目进行系统详细设计工作; (2)根据“检验订单”、“处理供货”、“处理缺货”、“处理进货”的伪码画出它们的盒图、PAD图 (3)熟练使用画图工具“visio”绘制图形。 (三)实验步骤: (1)“检验订单”伪码 PROCEDURE 检验订单 输入订单; IF 订单有效 THEN 进入“供货处理”; ELSE 重新输入订单; ENDIF RETURN END (2)“处理供货”伪码 PROCEDURE 处理供货 读入订单中货物数量; 读入库存记录; IF 货物数量<库存记录 THEN 修改库存记录; IF 库存记录≤库存临界值 THEN 生成缺货订单记录; ENDIF 生成备货单; ELSE 生成缺货订单记录; ENDIF RETURN END (3)“处理缺货”伪码 PROCEDURE 处理缺货 读入缺货订单记录; 根据缺货订单生成缺货通知单;

RETURN END (4)“处理进货”伪码 PROCEDURE 处理进货 输入进货单; 根据进货单修改库存; IF 缺货订单记录货物数量<库存记录 THEN 处理缺货订单可以供货; 修改缺货订单记录; ENDIF RETURN END (绘制的图形放在此处) (1)PAD图 盒图

实验三实验报告

实验三实验报告 1、简易计算器 (1)问题描述 由键盘输入一算术表达式,以中缀形式输入,试编写程序将中缀表达式转换成一棵二叉表达式树,通过对该的后序遍历求出计算表达式的值。 (2)基本要求 a.要求对输入的表达式能判断出是否合法。不合法要有错误提示信息。 b.将中缀表达式转换成二叉表达式树。 c.后序遍历求出表达式的值 (3)数据结构与算法分析 一棵表达式树,它的树叶是操作数,如常量或变量名字,而其他的结点为操作符。 a.建立表达式树。二叉树的存储可以用顺序存储也可用链式存储。当要创建二叉树时,先从表达式尾部向前搜索,找到第一个优先级最低的运算符,建立以这个运算符为数据元素的根结点。注意到表达式中此运算符的左边部分对应的二叉绔为根结点的左子树,右边部分对应的是二叉绔为根结点的右子树,根据地这一点,可用递归调用自己来完成对左右子树的构造。 b.求表达式的值。求值时同样可以采用递归的思想,对表达式进行后序遍历。先递归调用自己计算左子树所代表的表达式的值,再递归调用自己计算右子树代表的表达式的值,最后读取根结点中的运算符,以刚才得到的左右子树的结果作为操作数加以计算,得到最终结果。 (4)需求分析 程序运行后显示提示信息,输入任意四则运算表达式,倘若所输入的表达式不合法程序将报错。 输入四则运算表达式完毕,程序将输出运算结果。 测试用的表达式须是由+、-、*、/运算符,括号“(”、“)”与相应的运算数组成。运算数可以是无符号浮点型或整型,范围在0~65535。 (5)概要设计 二叉树的抽象数据类型定义 ADT BinaryTree{ 数据对象:表达式运算数{ num | 0< num < 65535 } 表达式运算符{ opr | + , - , * , / } 数据关系:由一个根结点和两棵互不相交的左右子树构成,且树中结点具有层次关系。根结点必须为运算符,叶子结点必须为运算数。 基本操作: InitBiTree(&T , &S) 初始条件:存在一四则运算前缀表达式S。 操作结果:根据前缀表达式S构造相应的二叉树T。 DestroyBiTree(&T) 初始条件:二叉树T已经存在。 操作结果:销毁T。 Value(&T) 初始条件:二叉树T已经存在。 操作结果:计算出T所表示的四则运算表达式的值并返回。

软件工程实验报告

1.1 实验一结构化需求分析 一.实验类型 图书馆管理系统 假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能: ●图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、 ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息); ●管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录; ●图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人 士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息; ●图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录; ●读者可以通过本系统查询馆藏图书; ●读者可以通过本系统借阅读书。但对于孤本图书或在馆数量为1的图书则不 准外借; ●管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年 不归还图书的读者冻结其图书证; ●读者可以通地本系统归还图书。如果图书超期,则自动计算罚款金额。二.实验目的 1.掌握数据流的分析技术 2.掌握软件需求分析的过程和方法。 3.熟悉项目开发计划和需求规格说明书的制定方法。 三.实验内容和要求 1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。 2.正确运用图表工具进行表示。 3.按规范正确编写软件文档。

四.实验步骤 1.理解所承担项目的业务流程和业务内容。 本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。并且规模小,很容易进行推广。 ●本项目的参与对象有图书管理员及读者。 ●对于读者,能通过该软件浏览馆藏的所有图书。读者在图书馆找到自己喜欢 的书后,能自行通过该软件操作完成借阅操作。若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。 并且读者能修改个人信息。 ●对于图书管理员,能管理自己和比自己低一级管理权限的管理员。一级管理 员能完成维护管理员的基本信息和二级管理员的一切操作。二级管理员则能维护自己的信息和添加读者、添加图书的功能。管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; 2.按照系统的功能及性能要求,系统的作业范围等,确定软件系统的开发环境(操作系统、开发工具、程序设计语言等)。 根据软件编程经验,本系统将采用面向对象的设计方法,使用Eclipse开发工具,java窗体应用程序,操作系统使用Win8。 3.绘制数据流图、功能分析图等。

高频实验报告

大连理工大学本科实验报告

2017年11月20日

实验项目列表

大连理工大学实验预习报告 学院(系): 电子信息与电气工程学部 专业: 电子信息工程 班级: 电子 1502 ______ 姓 名: 凌浩洋 ________________ 学号: ______ 201583130 ______ 组: ______ __^_ 实验时间: 2017.10.10 实验室: 创新园大厦C224 _________ 实验台: _________ 指导教师签字: ________________________________________ 成绩: ___________ 实验名称调频接收机模块设计实验 一总体要求: 1设计任务: (1) 根据实验室提供的电子元器件材料、工装焊接工具、测量调试仪器等,在考虑联 调和可联调的基础上,独立设计、搭建、调测高频小信号放大器、晶体振荡器(本地振 荡器)、晶体管混频器、中频信号放大器和正交鉴频器(包括低频放大和滤波)五个功 能模块,使之满足各自的指标要求。 (2) 将五个模块连接起来组成一个调频接收机,完成整机性能调测,达到预定的指标 要求。 (3) 调频接收机安装在测试架上,连接测试架上的辅助资源(基带处理单元、电源管 理单元),接受实验室自制发射台发射的各种调频信号,进一步检测整机和分模块性能< 调频接收机机框图及鉴频前的前端系统的增益分配如图 1所示 25dR 图1调频接收机组成框图 2设计要求 (1) 电源电压 VCC=12V VEE=-8V (2) 接收频率 1 6MHz 左右。 (3) 本振频率九肯14MHz 左右(为了与相邻试验台频率错开,以避免互相之间的干 扰,可考虑采用14MHZ 付近的多个频点中的一个频率值)。 16.455MHz 1,|ir H 2MHz 左右 鉴频 1 .VOLT

实验报告(三)

佛山科学技术学院 实验报告 课程名称教育软件工程 实验项目软件测试 专业班级 09教育技术学2班姓名陈佳荣学号 2009914228 指导教师李新晖成绩日期2011/11/28 一、实验要求 1、功能说明:在某网站申请免费信箱时,要求用户必须输入用户名、密码及确认密码,对每一项输入条件的要求如下:用户名要求4~16位之间,使用英文字母、数字、“-”、“_”,并且首字符必须为字母或数字;密码要求为6~16位之间,只能使用英文字母、数字以及“-”、“_”,并且区分大小写。 2、设计能够完成上述功能要求的程序(程序语言自定)。 3、采用黑盒法对上述程序进行确认测试和有效性测试,选择好测试用例,并确认测试的结果。 二、实验原理 本次实验的原理是采用黑盒法对一个在网站上申请免费邮箱的软件进行测试,检测软件存在的漏洞和错误,以帮助进一步完善软件的功能。 三、实验步骤 首先,设计一个软件,其功能包括在指定的要求中输入正确的账号和密码,具体要求如:用户名要求4~16位之间,使用英文字母、数字、“-”、“_”,并且首字符必须为字母或数字;密码要求为6~16位之间,只能使用英文字母、数字以及“-”、“_”,并且区分大小写。 软件的源代码: Private Sub Command1_Click() Dim name(16) As String Dim password(16) As String Dim n As String Dim j As Integer Dim r As Integer Dim m As Integer n = Text1.Text i = Val(Len(n)) If (i >= 4 And i <= 16) Then r = 1 a = Val(Asc(Mid$(n, 1, 1))) If ((a >= 48 And a <= 57) Or (a >= 65 And a <= 90) Or (a >= 97 And a <= 122)) Then For j = 0 To i - 1 a = Val(Asc(Mid$(n, j + 1, 1))) If (a = 45 Or a = 95 Or (a >= 48 And a <= 57) Or (a >= 65 And a <= 90) Or (a >= 97 And a <= 122)) Then

Java实验三实验报告

实验报告 课程名称面向对象课程设计 实验项目名称类的继承 班级与班级代码13计算机科学与技术1班实验室名称(或课室)SS1 205 专业计算机科学与技术 任课教师尹华 学号:12251102120 姓名:林淑英 实验日期:2014 年4 月28 日 广东财经大学教务处制

姓名林淑英实验报告成绩 评语: 指导教师(签名) 年月日说明:指导教师评分后,实验报告交院(系)办公室保存。

实验三类的继承、多态、接口、访问控制符与修饰符 实验目的:通过编程练习掌握类的继承,多态,接口,访问控制符与修饰符的使用方法。 实验原理:类的继承,接口。 实验设备:计算机,Eclipse。 实验题目: 1.设计一个Person 类,其成员变量有:姓名(name)、性别(gender)、年 龄(age);再设计一个Student类,它是类Person的子类,其成员变量有:学号(id)、班名(cname)、成绩(score),类Student中要有一个方法 display(),用来显示一个学生的信息。 编写一个测试程序,创建一个Student类的对象,要求name和id 是自己的姓名和学号,输出学生的各种信息,学生的基本信息在类Student的带参数的构造方法中设定。 2.定义一个类A,该类有一个方法f,方法f可以输出英文字母,再定义 一个类B是A的子类,子类B不能重写父类A的方法f,子类有一个方法g,可以输出中文字符串。 编写测试程序,创建B的对象,输出英文字母和中文字符串。 3.定义一个坐标类Pointer,成员变量包括x和y;成员方法有: (1)构造方法 (2)setX、setY、getX、getY、display方法 (3)类方法distance用来计算两点之间的距离 编写测试程序,创建Pointer的两个对象并计算两个点坐标的距离。

通信电子线路Multisim仿真实验报告

通信电子线路实验报告Multisim调制电路仿真

目录 一、综述 .......................... 错误!未定义书签。 二、实验内容 ...................... 错误!未定义书签。 1.常规调幅AM ................... 错误!未定义书签。 (1)基本理论.................... 错误!未定义书签。 (2)Multisim电路仿真图 ........ 错误!未定义书签。 (3)结论: ...................... 错误!未定义书签。 2.双边带调制DSB ................ 错误!未定义书签。 (1)基本理论.................... 错误!未定义书签。 (2)Multisim电路仿真图 ........ 错误!未定义书签。 3.单边带调制SSB ................ 错误!未定义书签。 (1)工作原理.................... 错误!未定义书签。 (2)Multisim电路仿真图 ........ 错误!未定义书签。 4.调频电路FM ................... 错误!未定义书签。 (1)工作原理.................... 错误!未定义书签。 (2)Multisim电路仿真图 ........ 错误!未定义书签。 5.调相电路PM ................... 错误!未定义书签。 (1)工作原理.................... 错误!未定义书签。 (2)Multisim电路仿真图............ 错误!未定义书签。 三、实验感想 ...................... 错误!未定义书签。

实验报告三

南京信息工程大学实验(实习)报告 实验名称request对象和session对象实验日期2018.05.03 得分指导教师方忠进系计算机系年级专业班次网络工程2 姓名曾志明学号20152346073 Request对象 一.实验目的 本实验的目的是让学生掌握怎样在JSP中使用内置对象request。 二.实验内容与要求 编写一个JSP页面input.jsp,该页面提供一个表单,用户可以通过表单输入两个数和四则运算符号提交给该页面。用户提交表单后,JSP页面input.jsp将计算任务交给另一个JSP页面result.jsp去完成。 (1)input.jsp的具体要求 input.jsp页面提供一个表单,要求表单中提供两个text输入框,供用户输入数字;提供一个下拉列表,该下拉列表有加、减、乘、除四个选项,供用户选择运算符号。用户在表单中输入的数字、选择运算符号提交给result.jsp页面。 (2)result.jsp的具体要求 要求result.jsp页面获取input.jsp提交的数据,并计算出相应的结果显示给用户。 三.实验代码与结果 input.jsp <%@ page contentType="text/html;charset=GB2312" %> < form action = "result.jsp" method = post name = form > 输人运算数、选择运算符号:
< option value=" +">加 < option value=”-”>减 < option valiue=” *”>乘 < option valiue=” /”>除 < br > < input type= "submit" value =”提交” name ="submit"> >

通信电子线路实物实验报告

东南大学电工电子实验中心 实验报告 课程名称:电子电路与综合实验 第一次实物实验 院(系):信息科学与工程学院专业:信息工程姓名:陈金炜学号:04013130 实验室:高频实验室实验组别: 同组人员:陈秦郭子衡邹俊昊实验时间:2015年11月21日评定成绩:审阅教师:

实验一常用仪器使用 一、实验目的 1. 通过实验掌握常用示波器、信号源和频谱仪等仪器的使用,并理解常用仪器的基本工作 原理; 2.通过实验掌握振幅调制、频率调制的基本概念。 二、实验仪器 示波器(带宽大于 100MHz) 1台 万用表 1台 双路直流稳压电源 1台 信号发生器 1台 频谱仪 1台 多功能实验箱 1 套 多功能智能测试仪1 台 三、实验内容 1、说明频谱仪的主要工作原理,示波器测量精度与示波器带宽、与被测信号频率之间关系。 答: (1)频谱仪结构框图为: 频谱仪的主要工作原理: ①对信号进行时域的采集,对其进行傅里叶变换,将其转换成频域信号。这种方法对于AD 要求很高,但还是难以分析高频信号。

②通过直接接收,称为超外差接收直接扫描调谐分析仪。即:信号通过混频器与本振混频后得到中频,采用固定中频的办法,并使本振在信号可能的频谱范围内变化。得到中频后进行滤波和检波,就可以获取信号中某一频率分量的大小。 (2)示波器的测量精度与示波器带宽、被测信号频率之间的关系: 示波器的带宽越宽,在通带内的衰减就越缓慢; 示波器带宽越宽,被测信号频率离示波器通带截止频率点就越远,则测得的数据精度约高。 2、画出示波器测量电源上电时间示意图,说明示波器可以捕获电源上电上升时间的工作原理。 答: 上电时间示意图: 工作原理: 捕获这个过程需要示波器采样周期小于过渡时间。示波器探头与电源相连,使示波器工作于“正常”触发方式,接通电源后,便有电信号进入示波器,由于示波器为“正常”触发方式,所以在屏幕上会显示出电势波形;并且当上电完成后,由于没有触发信号,示波器将不再显示此信号。这样,就可以利用游标读出电源上电的上升时间。 3、简要说明在FM 调制过程中,调制信号的幅度与频率信息是如何加到FM 波中的? 答: 载波的瞬时角频率为()()c f t k u t ωωΩ=+,(其中f k 为与电路有关的调频比例常数) 已调的瞬时相角为00 t ()()t t c f t dt t k u t dt θωωθΩ =++? ?()= 所以FM 已调波的表达式为:000 ()cos[()]t om c f u t U t k u t dt ωθΩ =++? 当()cos m u t U t ΩΩ=Ω时,00()cos[sin ]om c f u t U t M t ωθ=+Ω+ 其中f M 为调制指数其值与调制信号的幅度m U Ω成正比,与调制信号的角频率Ω反比,即 m f f U M k Ω=Ω 。这样,调制信号的幅度与频率信息是已加到 FM 波中。

软件工程实验三

昆明理工大学信息工程与自动化学院学生实验报告 (2012———2013 学年第 2 学期) 课程名称:软件工程开课实验室:444 2013年5 月17日 年级、专业、班学号姓名成绩实验项目名称设计建模实践指导教师丁家满教 师评语该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□ 该同学的实验能力: A.强□ B.中等□ C.差□ 该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般□ C.没有□ 教师签名: 年月日 一、实验目的 1、熟悉sybase powerdesigner绘制图形软件的环境,以及各 种模型的绘图功能; 2、掌握ClassDiagram_1模型下各种符号的形状和功能,以及 在ClassDiagram_1绘制用例图; 3、了解和掌握关联、扩展、包含、泛化、实现的基本符号形状 及使用范围,能够在类图中准确的表达; 4、能够准确的描述类的属性,以及操作方法 5、掌握生成报告的方法 二、实验内容 在sybase powerdesigner的ClassDiagram_1模型下绘制教务管理系统类图。 三、所用仪器、材料(设备名称、型号、规格等) PC机一台、Sybase PowerDesigner 15 四、实验原理和步骤 1、分析各个角色及其功能绘制用例图,从而绘制类图,分析步 骤如下: (1)谁使用了系统的主要功能; (2)谁要系统的支持来完成日常工作任务; (3)谁维护、管理,并保证系统正常运行; (4)系统需要应付或者处理那些硬件设备; (5)系统需要和哪些外部系统交互; (6)谁对系统运行的结果感兴趣。 2、根据以上分析,创建类模型步骤: (1)找出角色和用例图中的名词 (2)寻找需要保存的结果 (3)完善类的属性 (4)确定各个类之间的结构关系

通信电子线路实验报告三点式振荡

通信电了线路课程设计 课程名称通信电子线路课程设计_________________ 专业___________________ 通信工程 ______________________ 班级___________________________________________ 学号___________________________________________ 姓名___________________________________________

指导教师________________________________________ 、八 刖 现代通信的主要任务就是迅速而准确的传输信息。随着通信技术的日益发展,组成通信系统的电子线路不断更新,其应用十分广泛。实现通信的方式和手段很多,通信电子线路主要利用电磁波传递信息的无线通信系统。 在本课程设计中,着眼于无线电通信的基础电路一一LC正弦振荡器的分析和研究。常用正弦波振荡器主要由决定振荡频率的选频网络和维持振荡的正反馈放大器组成,这就是反馈振荡器。按照选频网络所采用元件的不同,正弦波振荡器可分为LC振荡器、RC振荡器和晶体振荡器等类型。其中LC振荡器和晶体振荡器用于产生高频正弦波。正反馈放大器既可以由晶体管、场效应管等分立器件组成,也可由集成电路组成。LC振荡器中除了有互感耦合反馈型振荡器之外,其最基本的就是三端式(又称三点式)的振荡器。而三点式的振荡器中又有电容三点式振荡器和电感三点式振荡器这两种基本类型。 反馈振荡器是一种常用的正弦波振荡器,主要由决定振荡频率的选频网络和维持振荡的正反馈放大器组成。按照选频网络所采用元件的不同,正弦波振荡器可分为LC振荡器、RC振荡器和晶体振荡器等类型。本文介绍了高频电感三点式振荡器电路的原理及设计,电感三点式易起振,调整频率方便,可以通过改变电容调整频率而不影响反馈系数。正弦波振荡器在各种电子设备中有着广泛的应用。根据所产生的波形不同,可将振荡器分成正弦波振荡器和非正弦波振荡器两大类。前者能产生正弦波,后者能产生矩形波、三角波、锯齿波等。 在此次的通信电子线路课程设计中,我选做的是电感三点式振荡设计,通过为时一周的上机实验,我学到了很多书本之外的知识,在老师的指导下达到实验设计的要求指

操作系统上实验报告3

操作系统实验三报告 实验题目: 进程管理及进程通信 实验环境: 虚拟机Linux操作系统 实验目的: 1.利用Linux提供的系统调用设计程序,加深对进程概念的理解。 2.体会系统进程调度的方法和效果。 3.了解进程之间的通信方式以及各种通信方式的使用。

实验内容: 例程1: 利用fork()创建子进程 #include<> #include<> #include<> main() { int i; if (fork()) i=wait(0); /*父进程执行的程序段*/ /* 等待子进程结束*/ printf("It is parent process.\n"); printf("The child process,ID number %d, is finished.\n",i); } else{ printf("It is child process.\n"); sleep(10); /*子进程执行的程序段*/ exit(1); /*向父进程发出结束信号*/ } } 运行结果: 思考:子进程是如何产生的又是如何结束的子进程被创建后它的运行环境是怎样建立的

答:子进程是通过函数fork()创建的,通过exit()函数自我结束的,子进程被创建后核心将为其分配一个进程表项和进程标识符,检查同时运行的进程数目,并且拷贝进程表项的数据,由子进程继承父进程的所有文件。 例程2: 循环调用fork()创建多个子进程 #include<> #include<> #include<> main() { int i,j; printf(“My pid is %d, my father’s p id is %d\n”,getpid() ,getppid()); for(i=0; i<3; i++) if(fork()==0) printf(“%d pid=%d ppid=%d\n”, i,getpid(),getppid()); else { j=wait(0); Printf(“ %d:The chile %d is finished.\n” ,getpid(),j); } } 运行结果:

相关文档