复数运算的演示程序_第1页
复数运算的演示程序_第2页
复数运算的演示程序_第3页
复数运算的演示程序_第4页
复数运算的演示程序_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、复数运算的演示程序【实验题目】实验1.抽象数据类型.【问题描述】用C或C+语言设计并实现一个可进行复数运算的演示程序。【基本要求】1. 由输入的实部和虚部生成一个复数2. 两个复数求和3. 两个复数求差4. 两个复数求积【实现提示】定义复数为由两个相互之间存在次序关系的实数构成的抽象数据类型,则可以利 用实数的操作来实现复数的操作。(下面的内容由学生填写,格式统一为,字体:楷体,行距:固定行距18,字号:小 四)一、【实验构思(Conceive)】(10%)(本部分应包括:描述实验实现的基本思路,包括所用到的离散数学、工程数学、程 序设计、算法等相关知识)复数由实部和虚部构成,可以通过一个含有

2、两个元素的结构体来实现复数的表示,并且通过接受用户的输入,可以实现复数的生成。对于复数的四则运算,可以编写四个 函数,通过函数的调用来实现相应的运算。bi) ( c + di)=( a c )+( b d) i加减法:(a +乘法:(a + bi)* ( c + di )=( ac - bd )+( ad + be)i除法:a +bi c +di(a +bi)(c -di)(ac +bd )(bc - ad )i2+)2c +d2亠j2 c +d二、【实验设计(Design)】(15%)(本部分应包括:抽象数据类型的功能规格说明、主程序模块、各子程序模块的伪码 说明,主程序模块与各子程序模块间

3、的调用关系)功能:能够显示和构造复数,并且能进行复数的加减乘除运算。 主程序模块: void main()float a,b,c,d; fushu f1,f2,plu,min,mul; printf( 请按实部虚部的顺序依次输入两个复数: ); scanf(%f%f%f%f,&a,&b,&c,&d);getfushu (f1,a,b); /* 调用 getfushu 函数,构造复数 f1*/ getfushu (f2,c,d); /* 调用 getfushu 函数,构造复数 f2*/ printf(n 您输入的第一个复数是 :); printfushu (f1);printf(n 您输入的第二

4、个复数是 :); printfushu (f2);调用 plusfushu 函数,使复数 f1 ,f2 相加*/plusfushu (plu,f1,f2); /* printf(n 相加结果为 :); printfushu (plu);调用 minuscomplex 函数,使复数 f1 ,f2 相减 */调用 multifushu 函数,使 f1 ,f2 相乘 */minusfushu (min,f1,f2); /* printf(n 相减结果为 :); printfushu (min); multifushu (mul,f1,f2); /* printf(n 相乘结果为 :); printf

5、ushu (mul); printf(n);构造复数 */实现复数的相加 */ 实现复数的相减 */ 实现复数的相乘 */ 子程序模块: void getfushu (fushu& f,float a,float b); /* void plusfushu (fushu& plu, fushu f1, fushu f2); /* void minusfushu (fushu& min, fushu f1, fushu f2); /* void multifushu (fushu& mul, fushu f1, fushu f2); /* void printfushu (fushu f); /

6、*显示复数 */三、【实现描述( Implement )】(25%)关键操作实现的伪码算给出关键算法的时间复(本部分应包括:抽象数据类型具体实现的函数原型说明、 法、 函数设计、函数间的调用关系,关键的程序流程图等,杂度分析。)void getfushu (fushu& f,float a,float b);通过接受两个数据来构造一个复数f ,其中a为复数的实部,b为复数的虚部。void plusfushu (fushu& plu, fushu f1, fushu f2);接收两个复数,并对其进行加法运算,将运算结果保存在 plu 里。void minusfushu (fushu& min,

7、fushu f1, fushu f2);对复数 f1 , f2 进行减法运算,并将运算结果保存在 min 里。void multifushu (fushu& mul, fushu f1, fushu f2);对复数 f1 , f2 进行乘法运算,并将运算结果保存在 mul 里。void printfushu (fushu f);将复数 f 显示出来。四、【测试结果( Testing )】(20%)(本部分应包括: 对实验的测试结果, 应具体列出每次测试所输入的数据以及输出的 数据,并对测试结果进行分析总结) 测试一:输入的两个复数分别为 3.1 和 4.22+8.9i ,其操作及显示结果如下

8、请按实部虚部的顺序依次输入两个复数: 3.1 0 4.22 8.9您输入的第一个复数是 :3.100000 您输入的第二个复数是 :4.220000+8.900000i 相加结果为 :7.320000+8.900000i 相减结果为 :-1.120000-8.900000i相乘结果为 :13.081999+27.589998i测试二:输入的两个复数分别为9.7i和-2.1-9.7i,其操作及显示结果如下 请按实部虚部的顺序依次输入两个复数: 0 9.7 -2.1 -9.7 您输入的第一个复数是 :+9.700000i 您输入的第二个复数是 :-2.100000-9.700000i 相加结果为

9、:-2.100000相减结果为 :2.100000+19.400000i相乘结果为 :94.089996-20.369999i四、【实验总结】 (10%)(本部分应包括: 自己在实验中完成的任务, 注意组内的任意一位同学都必须独立完 成至少一项接口的实现 ;对所完成实验的经验总结、心得) 实验总结、心得:经过这次实验,发现模块化编程能够使得程序变得简练,清晰,便 于读者阅读,利于自己改进。实验中,从复数的构造,到加减乘的运算,再到结果的 输出都是通过函数来实现的。 另一方面,在这次实验中发现自己对基本知识的掌握还 是不牢固,运行程序时出现了好多错误,后面又通过仔细的观察,才找出了错误的地 方。

10、这次实验,让我复习了 C的使用方法,并熟练掌握了结构体的定义和使用。这次 实验还让我对抽象数据类型的含义有了更深的了解。界面也相当简陋,进行一些不合理的 在用户提示上有所欠缺。五、【项目运作描述( Operate )】(10%) (本部分应包括:项目的成本效益分析,应用效果等的分析。 ) 该项目投入了较多的时间,进行了多次修改,效益方面还可以,能进行简单的复数四 则运算。应用效果上还不尽人如意,程序简单, 输入时,得不到理想的回应,缺乏人性化设计,六、【代码】 (10%)本部分应包括:完整的代码及充分的注释。注意纸质的实验报告无需包括此部分。格式统一为,字体 : Georgia , 行距: 固

11、定行距 12,字号 : 小五) #include#includetypedef structfloat real;float imag;fushu;void getfushu(fushu& f,float a,float b);void plusfushu(fushu& plu,fushu f1, fushu f2); void minusfushu(fushu& min,fushu f1, fushu f2); void multifushu(fushu& mul,fushu f1, fushu f2); void printfushu(fushu f);void getfushu(fush

12、u& f,float a,float b) f.real=a;f.imag=b;void plusfushu(fushu& plu,fushu f1,fushu f2) plu.real=f1.real+f2.real;plu.imag=f1.imag+f2.imag;void minusfushu(fushu& min,fushu f1,fushu f2) min.real=f1.real-f2.real;min.imag=f1.imag-f2.imag;void multifushu(fushu& mul,fushu f1,fushu f2) mul.real=(f1.real*f2.re

13、al)-(f1.imag*f2.imag);mul.imag=(f1.real*f2.imag)+(f1.imag*f2.real);void printfushu(fushu f) if (f.real!=0) printf(%lf,f.real); if (f.imag0)printf(+);printf(%lfi,f.imag);else if(f.imag0)printf(%lfi,f.imag);void main()float a,b,c,d;fushu f1,f2,plu,min,mul;);printf( 请按实部虚部的顺序依次输入两个复数:scanf(%f%f%f%f,&a,

14、&b,&c,&d);getfushu(f1,a,b);getfushu(f2,c,d);printf(n 您输入的第一个复数是 :); printfushu(f1);printf(n 您输入的第二个复数是 :); printfushu(f2);plusfushu(plu,f1,f2); printf(n 相加结果为 :); printfushu(plu);minusfushu(min,f1,f2); printf(n相减结果为:);P rintfushu(min);multifushu(mul,f1,f2); printf(n相乘结果为:);P nntfushu(mul);printf(n);

15、其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。二.培训的及要求培训目的安全生产目标责任书为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部 签订如下安全生产目标:一、目标值:1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。2、现金安全保管,不发生盗窃事故。3、每月足额提取安全生产费用,保障安全生产投入资金的到位。4、安全培训合格率为 100%。二、本单位安全工作上必须做到以下内容:1、对本单位的安全生产负直接领导责任,必

16、须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责,确保安全责任制在本单位全面落实,并全力支持安全工作。2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。5、在公司及政府的安全检查中杜绝各类违章现象。6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。7、以身作则

17、,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。8、虚心接受员工提出的问题,杜绝不接受或盲目指挥;10、必须按规定对单位员工进行培训和新员工上岗教育;11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。安全奖惩:1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。2、每月接受主管领导指派人员对安全生产责任状的落其中专业理论知识内容包括:保安理论知识、消防业务知识鼻职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。二.培训的及要求培

18、训目的安全生产目标责任书为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部 签订如下安全生产目标:一、目标值:1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。2、现金安全保管,不发生盗窃事故。3、每月足额提取安全生产费用,保障安全生产投入资金的到位。4、安全培训合格率为 100%。二、本单位安全工作上必须做到以下内容:1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责,确保安全责任制在本单位全面落实,并全力支持安全工作。2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。5、在公司及政府的安全检查中杜绝各类违章现象。6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。7、以身

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论