首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 认证考试-> 软件水平考试
计算机等级考试二级vb常用算法:累加_软件水平考试
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 

  1、算法说明

  累加形式:V=V+e

  连乘形式:V=V*e

  其中:V是变量,e是递增表达式。累加和连乘一般通过循环结构来实现。

  注意:需在执行循环体前对变量V赋初值。一般的,累加时置初值0;连乘时置初值为1.

  举例

  求N!的结果。

以下是引用片段:
  Private Sub Command1_Click()
  Dim n%, i%, s&
  n = Val(InputBox("输入n"))
  s = 1
  For i = 1 To n
  s = s * i
  Next i
  Print s
  End Sub

  错误的写法:

以下是引用片段:
  Private Sub Command1_Click()
  Dim n%, i%, s&
  n = Val(InputBox("输入n"))
  For i = 1 To n
  s = 1 ‘赋初值语句位置不对!
  s = s * i
  Next i
  Print s ‘输出s的值为n,而不是n!
  End Sub

  应用举例

  根据下列公式,求自然对数e的的近似值。

  

  要求:误差小于0.00001

以下是引用片段:
  Private Sub Command1_Click()
  Dim i%, n&, t!, e!
  e = 2
  i = 1
  t = 1
  Do While t > 0.00001
  i = i + 1
  t = t / i
  e = e + t
  Loop
  Print "计算了"; i; "项目和是:"; e
  Print Exp(1) ‘与上句输出值进行对比以证明算法的正确性
  End Sub

  解题技巧

  1) 由于这类题目往往是根据精度要求来求值,因此我们不能预知具体循环次数,所以这类题目一般用Do循环,很少用For循环。设定循环变量和通项变量,注意各变量的初值;

  2) 分解通项表达式中各因子,并分别将各因子用循环变量表示;

  3) 如果步骤2中有的因子比较复杂,难以直接用变量表示,此时可以考虑使用Function过程;

  4) 根据步骤1、2、3,写出通项表达式;

  5) 根据精度要求(往往是通项小于10负多少次方这样一个关系表达式),写出一条满足精度要求后跳出循环的语句。通常是用:if 通项表达式>10^(-N) then exit do ,注意这句话一般需放在累加或者连乘式之前。

  实例说明

  以2002年春上机试卷06编程题为例

  根据X值计算:

  

  n=1,2,……

  要求:n项绝对值小于等于10-6为止。

  1、由于循环次数不确定,因此确定用Do循环结构并定义循环变量用n表示(初值1);用户输入的值用x表示;通项用dblCos表示;累加值用sum表示,初值为0;

  2、分解通项式的组成

  

  可以分解为三部分:

   可以表示为:(-1)^(n+1)

   可以表示为:x^(2*(n-1))

   比较复杂,难以直接表示

  3、由于步骤2中复杂, 此时考虑使用过程。

  于是定义过程,输入值是n,返回值是

  于是有:

以下是引用片段:
  private Function comp(n as long)as long
  dim I as long
  dim result as long
  result=1 ‘此处注意,由于是连乘,初值为1
  for I=1 to 2*(n-1)
  result=result*I
  next I
  comp=result
  End Function

  注意:由于是参数按地址传递,因此对于本题,实参的值不能在过程中被改变!(也是改错题常考的地方!!)

  4、根据步骤1、2、3,写出通项dblCos的表达式:

  dblCos=(-1)^(n+1)* x^(2*(n-1))/comp(n)

  5、根据精度要求知:

  If abs(dblCos)<=10^(-6) then exit do

  最后程序为:

以下是引用片段:
  Private Sub Command1_Click()
  Dim n As Long, dblCos As Double, x As Double
  x = Val(Text1.Text)
  n = 1
  Do
  dblCos = (-1) ^ (n + 1) * x ^ (2 * (n - 1)) / comp(n)
  If Abs(dblCos) <= 10 ^ (-6) Then Exit Do
  Sum = Sum + dblCos
  n = n + 1
  Loop
  Print Sum
  End Sub
  Private Function comp(n As Long) As Long
  Dim I As Long
  Dim result As Long
  result = 1 此处注意,由于是连乘,初值为1
  For I = 1 To 2 * (n - 1)
  result = result * I
  Next I
  comp = result
  End Function

  注意:如果调试运行时死循环,可以按Ctrl+Break中断死循环,不需要重新启动机器。(或者Ctrl+Scroll Lock)

  2、实战练习

  1) 补充代码

  本程序的功能是求下面数列前n项之和。

  S(x,n)=x/2+2!*x^3/2*4+3!*x^5/2*4*6+……+n!*x^2n-1/2*4*6……2n

以下是引用片段:
  Option Explicit
  Private Sub Command1_Click()
  Dim x As Single,s As Single
  Dim n As Integer,i As Integer
  x=InputBox("输入X:","求数列和",1)
  n=InputBox("输入N:","求数列和",1)
  For i=1 To n
  s=s+fun(x,i)
  Next i
  Label1.Caption= _(1)_
  Text1=s
  End Sub
  Private Function fun(x As Single,n As Integer)As Single
  __(2)__
  p=1
  For i=1 To n
  __(3)___
  Next i
  fun=x^(2*n-1)*p
  End Function

  2) 编程题

  按下列公式编写求积分余弦函数值的程序。当通项绝对值小于10-5时停止计算。

  


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·省市联动菜单的源代码实现(access数据库版)-ASP教程,数据库相关
·【HTML】打开页面时按照指定的URL直接跳转到另一新页面-ASP教程,脚本编码
·多功能DataGrid打印类(WinForm C#)-.NET教程,C#语言
·我也来谈WEB打印。-ASP教程,打印相关
·C#中的泛型 (From dotNet SDK 2.0 Beta1)-.NET教程,C#语言
·J2EE WEB层的曙光 -- JSF-JSP教程,J2EE/EJB/服务器
·C#:获得文件版本信息及只读文件的删除-.NET教程,C#语言
·[ASP.NET]按键跳转以及按Enter以不同参数提交,及其他感应事件-.NET教程,Asp.Net开发
·谈基于.net平台windows开发中的模式窗体-.NET教程,.NET Framework
·ASP.NET 2.0 中实现 Treeview 与数据库的绑定(含代码)-.NET教程,Asp.Net开发
最新文章
·中文版windows xp系统升级sp3新鲜体验_windows xp
·十个提高windows vista系统性能的秘密_windows vista
·用搏客blog月收入200美圆_网赚技巧
·google 禁止使用在线广告宣传adsense推介_网赚技巧
·做广告联盟的站长必读规则_网赚技巧
·刘润:用c2c模式运作捐献公益组织_站长访谈
·seo资料站长丘仕达访谈:整站优化心得_站长访谈
·易被忽视的优化网站设计的五种方法_站长心得
·photoshop非主流照片:可爱红脸蛋美女_photoshop教程
·如何让网民爱上你的网站?(1)_站长心得
相关主题
  • 计算机等级考试:决胜四级词汇三_全国等级考试
  • 计算机等级考试:决胜四级词汇二_全国等级考试
  • 计算机等级考试:决胜四级词汇一_全国等级考试
  • 计算机等级考试三级数据库知识考试题_全国等级考试
  • 计算机等级二级c++语言程序设计考纲分析_全国等级考试
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭