分别用牛顿迭代法、弦截法和二分法求根.doc

分别用牛顿迭代法、弦截法和二分法求根.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分别用牛顿迭代法、弦截法和二分法求根

华北理工大学 2016-2017第2学期 《软件设计基础-C++》 课程设计报告 设计名称:分别用牛顿迭代法、弦截法和二分法求根 姓 名:温祥学 号:201614030414 专业班级:无极非金属材料工程专业材4 学 院:材料科学与工程学院 设计时间:2017.06.04 设计地点:学校01机房 指导教师评语: 指导教师签字: 年 月 日 目 录 1.课程设计目的 2.课程设计任务与要求 3.课程设计说明书 4.课程设计成果 5.程序调试过程 6.设计问题的不足和改进方案 7.课程设计心得 8.参考文献 1.课程设计目的 《软件设计基础-C++》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C++的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C++这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。 2.课程设计任务与要求: 要求: 本次课程设计利用《软件设计基础-C++》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。 要求: 1、对系统进行功能需求分析 2、设计合理的数据结构和系统框架 3、编程简练,程序功能齐全,能正确运行 4、说明书、流程图要清楚 5、课题完成后必须按要求提交课程设计报告 任务:分别用牛顿迭代法、弦截法和二分法求根 (1)用C语言的思想来完成程序的设计(2)在基本要求达到后,进行创新设计, 3.课程设计说明书 ⑴概要设计 用户输入x0,计算机显示牛顿迭代法计算的值,用户分别输入x的范围,分别输出二分法和弦截法的计算值,并计算出各种方法的迭代次数,输出最小的迭代次数。 模块说明: 在我设计的程序中一共包括了七个模块,分别是:main模块、f函数模块、f1模块、nt模块、half模块、chord模块、cishu模块。这七个模块说明如下: 1)main模块 该函数无返回值。要实现的功能是询问x初值,输出牛顿迭代法的计算值,询问x的范围,输出二分法和弦截法的计算值。 代码参见main函数。 2)f模块 该函数返回x的给定公式函数值。 代码参见f函数。 3)f1模块 该函数返回给定公式的导数的函数值。 代码参见f1函数。 4) nt模块 主要使用for函数,判断是否满足精度要求,实现语句循环,使该函数返回牛顿迭代法的计算根。 代码参见nt函数。 5)half模块 使用for函数,判断是否满足精度要求,使用if函数判断是否异号,实现语句循环,使该函数返回二分法计算的根。 代码参见half函数。 6)chord模块 使用for函数,判断是否满足精度要求,使用if函数判断是否异号,实现语句循环,使该函数返回弦截法的计算值。 代码参见chord函数。 7)cishu模块 主要使用break,判断是否跳出循环,该函数返回迭代次数的函数值。 代码参见cishu函数。 模块结构图: 每一次运算的过程可以由这几部分完成:用户输入x初值,计算牛顿迭代法的值并输出,用户输入x的范围,计算二分法和弦截法的值并输出结果,总共五个步骤: 模块 函数名称 用户输入x初值 main 计算牛顿迭代法的值并输出 nt 用户输入x的范围 main 计算二分法 half 弦截法 chord 迭代次数 cishu 对于每一次运行,关注的数据有四个:x的初值,x的范围,x范围的函数值,x的迭代次数。 ⑵详细设计 总体流程图: 各功能模块流程图: 1)main函数 void main() { while(1) //使函数一直运行 { cout\n-----牛顿迭代法-----endl; cout请输入x0:; cina; nt(); cout\n-----二分法 弦截法求根-----endl; cout请输入根所在的范围:; cinbc; half(); chord(); cishu(); } } 2)f(double x)函数 double f(double x) //给定公式 { return (x*x*x-2*x*x+7*x+4); } 3)f1(double x)函数 double f1(do

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档