ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:53.19KB ,
资源ID:21193865      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21193865.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(牛顿迭代法解方根Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

牛顿迭代法解方根Word格式.docx

1、第3章 详细设计 63.1 实现概要设计中定义的所有数据类型 63.2 对主程序和主要模块的实现写出伪码算法 63.3 详细定义、说明主要函数和过程的输入输出参数和功能 93.4 程序的流程图 9第4章 调试分析 114.1 调试过程中遇到的问题及解决办法 114.2 改进设想 114.3 经验和体会 11第5章 用户使用说明 12第6章 测试结果 13参考文献 15附 录(程序清单) 16第1章 需求分析1.1 输入的形式和输入值的范围输入数据类型为整型,将一批整型数据输入到一维数组中。输入值的范围是110之间的整数,采取逐个输入的形式进行输入。1.2 输出的形式输出数据类型为整型,采用双重

2、for循环将按要求排列后所得到的二维数组输出。1.3 程序实现的功能 可以对给定的一个含有110十个整数的一维数组,从中选择某9个填到一个3*3方格中,并且要求满足方格中所有相邻的两个整数之和是素数。能够将满足条件的二维数组输出。 第2章 概要设计2.1 主要数据结构和数据类型的定义描述2.1.1主要数据结构 数组是本程序用到的数据结构。2.1.2主要数据类型的定义描述本程序用到的数组类型是一维数组和二维数组,用到的基本数据类型是整型。定义了四个整型的循环变量i,j,p,m进行循环控制,定义变量sum用于累加。2.2主要算法思想和算法描述2.2.1主要算法思想利用循环将110十个整数中的某9个

3、整数按规律逐个填入到3*3方格中,直至将方格填满,并使其满足所有相邻的两个整数之和为素数。2.2.2主要算法描述定义判断素数的子函数isprime,在主函数中利用循环将二维数组bij初始化,即将bij赋值为0,然后将a0赋予b11,将该位置的0覆盖,然后以a0为中心,按要求选填剩余9个数中的4个,首先利用循环语句将与a0相加是素数的整数选出,并置于另一个已经定义的一维数组d10中,然后再利用循环将一维数组d10中的整数赋予二维数组中的奇数位。之后利用循环从剩余的5个整数中选出可以满足条件的4个整数,然后按要求填入到剩余方格中将初始值0覆盖。最后将满足要求的二维数组输出。2.2.3程序模块之间的

4、层次和调用关系 程序模块之间的层次和调用关系如图2.1所示。图2.1程序模块之间的层次和调用关系第3章 详细设计3.1 实现概要设计中定义的所有数据类型概要设计中定义的所有数据类型有:整型数组:a10, d10, b33 整型变量:i ,j ,m ,p, sum3.2 对主程序和主要模块的实现写出伪码算法函数isprime ( 定义未知整型变量m ) 定义循环变量i; if(m=1或者m为偶数) 返回 0; if(m=2) 返回 1; for(i=3;i*im;m+) if(m%i=0) 否则 返回 1; 主函数main()定义整型变量 i,j,m,p,h; for(i=0;i3;i+) fo

5、r(j=0;jj+) 将二维数组bij初始化 bij=0; for(m=0;m 输入110十个整数am; b11=a0; 调用函数isprime; if(isprime(a0+am) 将与a0相加是素数的整数赋予dp;p=am;am=0;p+; if(i+j)%2!=0) 将dp中的整数赋予bij; bij=dp; 排除不满足条件的整数; if(am%2=0) am=0; while(am!=0&bij=0)bij=am;m+; h=b20; b20=b22; b22=h;for(i=0;j+) 输出结果 ;结束程序3.3详细定义、说明主要函数和过程的输入输出参数和功能 主函数中利用for循环

6、语句实现了数组值的输入,并按要求选填110十个整数的9个。自定义函数的功能是判断一个整数是否为素数。3.4程序的流程图主函数流程图如图2.2所示图2.2主函数判断素数子函数流程图如图2.3所示。图2.3判断素数子函数流程图第4章 调试分析4.1 调试过程中遇到的问题及解决办法调试过程中遇到了一些问题:1.在不该加分号的地方加分号,例如:在if条件句的后面加了分号。2.该用复合语句是忘记写花括号。3.定义空间不够,出现数组越界操作。4.在定义子函数时,在主函数内部定义函数。5.变量未定义就使用。6.函数调用时实参个数多于形参个数。解决方法:通过编译后的错误提示找出错误并改正。4.2 改进设想编译

7、的时检查到语法错误,进行修改。利用单步跟踪,找出出现逻辑错误的部分,进行修改。4.3经验和体会1.在调用函数时,一定要保证实参个数和形参个数相同。2 2.在给数组申请空间时,尽量多申请些,防止出现越界现象。 3.在使用复合语句时一定不要忘记使用。 4.在if条件句的后面不能加了分号,以防止其成为空语句 。 5.在使用变量是要保证前面已经定义。第5章 用户使用说明1、 运行VC+程序。2.、在运行界面下按要求输入110十个整数,存入到一个一维数组中,每输入一个数据后按空格再输入下一个数据。3、当10个数据都输入结束后按回车键,数据输入结束。4、运行界面上会显示出运行结果。 5、按任意键,程序结束

8、。第6章 测试结果Please input the data :110输入待填入3*3方格的数据:1,2,3,4,5,6,7,8,9,10将110十个整数填入方格的中间过程:1 二维数组b33初始化,赋值为0. 即bij=0; 即b33=0,0,0,0,0,0,0,0,0;2. 利用循环赋值:a10=1,2,3,4,5,6,7,8,9,10;3. b11=a0; a0=0;标示a0已经被填入方格;4 b11=1;5. b33= 0,0,0,1,0,0,0,0,06. 利用循环将与a0相加是素数的整数am赋值于d10,d10=2,4,6,10;am=0;7. a10=0,0,3,0,5,0,7,

9、8,9,08. 利用循环找 i 与 j相加是奇数的方格位置即:b01,b10,b12,b21;9. 利用循环将d10中的整数赋予 b01,b10,b12,b21;10. b33=0,2,0,4,1,6,0,10,0; 11. 利用循环在剩余的5个数中找出与b01,b10,b12,b21;相加均不为素数的整数,赋值为0;表示该数不可选填,即a7=0;12. a10=0,0,3,0,5,0,7,0,9,0 13. 在条件am!=0的情况下,利用循环将满足b00位置的整数选填,并使am=0;14 a10=0,0,0,0,5,0,7,0,9,0 15 b33=3,2,0,4,1,6,0,10,0;16

10、 在条件am!=0的情况下,将利用循环将满足b02位置的整数选填,并使am=0;17 a10=0,0,0,0,0,0,7,0,9,018 b33=3,2,5,4,1,6,0,10,0;19 在条件am!=0的情况下,将利用循环将满足b20位置的整数选填,并使am=0;20 a10=0,0,0,0,0,0,7,0,9,0 21 b33=3,2,5,4,1,6,7,10,0;22 在条件am!=0的情况下,将剩余的唯一整数填入b22的位置23 b22=9,24 b33=0,2,0,4,1,6,7,10,9;25 不合理26 定义中间变量h,将b22和b22位置的整数调换27 h=b22; b22=

11、b20 ; b20=h 28 b33=3,2,5,4,1,6,9,10,7;29 利用循环(i=0;30 换行31 利用循环(j=0;32 输出结果:33 3 2 5 34 4 1 635 9 10 7 36 Press any key to continue参考文献1 谭浩强主编,卜家岐,范燮昌编著. C语言程序设计M. 北京:高等教育出版社,20062 张磊. C语言程序设计M. 京:高等教育出版社,20053 张长海. C语言程序设计M.北京:高等教育出版社 20064 谭浩强. C语言程序设计(第三版)M.北京:清华大学出版社 2006 附 录(程序清单)# includeint is

12、prime(int m) /判断是否为素数 int i; if(m=1|m%2=0) return 0; if(m=2) return 1; for(i=3;=m;i+=2) if(m%i=0) return 0; void main() int i,j,m,p=0,k=0; int sum=0; int d10,a10,b33; for(i=0; for(j=0; bij=0; /数组初始化 printf(please input the data n); /提示输入数据10; scanf(%d,&am);/存放数据 b11=a0; for(m=1; if(isprime(a0+am) /判

13、断与a0相加是否为素数 dp=am;/存放与其相加为素数的数 am=0; p+; sum+;/计算与a0相加为素数的个数 /if(isprime) p=0; while(psum) for(j=0; if(i+j)%2! bij=dp; p+; am=0; for(m=1; if(am! for(i=0;j+) if(i+j)%2=0)&(i*j!=1) bij=am; if(!isprime(b00+b01) &(!isprime(b00+b10); isprime(b02+b01) & (!isprime(b02+b12); if(!isprime(b20+b21) &isprime(b2

14、0+b10); isprime(b22+b21) &isprime(b22+b12); m+; %3d,bij); printf(n 课程设计总结:这次课程设计总共用了两周的时间,通过这次课程设计我感到自己学到了很多知识。不仅巩固了自己在课堂上学的东西,而且收获很多在过去半年中没学过知识,自己对于C语言了解也加深了。在这次课程设计中,对自定义函数的运用有了很深的了解,对for循环的运用也变得顺畅,我的程序题目是字数最少的,但自我感觉却是最难做的!在这两周中我进了很多次图书馆,看了很多与专业相关的书籍,它们帮助我很多很多。我的程序题目很难,按照最初的设计思想,最佳的方法应该是运用回溯法,考虑到大

15、一学生专业科目知识的欠缺,老师给我的题目降低了难度。虽然降低了难度,相比来说,仍然挺难。 正是因为这个题目有难度,我才能有机会更好的锻炼自己。由于自己知识的欠缺,在这两周内我不仅翻阅了大量的书籍,还向大二 大三的学长学姐请教了相关知识。从学长学姐那里,我学到了在过去半年中没有学到的知识。从这次课程设计中我领略到:题目越难,收获才会越多。 这次程序我加强自己的动手能力,改掉了自己眼高手低的毛病,收获很多。通过这次课程设计,自己的实际编程能力有了进一步的锻炼,也有了一定程度的提高。而且加强了自己如何进行编译,修改错误和单步跟踪检查等的能力。更加强了自己编程的能力。指导教师评语:指导教师(签字): 年 月 日课程设计成绩

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1