第二章算法实例解析算法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

算法实例解析算法什么是解析算法(analysisalgorithm)是指用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。以此为基础,设计出合适的算法,从而编制出正确的程序,利用计算机的高速计算能力,便能快速地获得问题的解。[例1]计算并联电阻的总阻值21111RRRTR1R2计算公式:TR1开始结束输出R输入R1,R2T←1/R1+1/R2R←1/T例3:计算n个并联电阻r的总阻值,输入0表示输入结束。r1r2rnnrrrrrs1...11121计算公式:开始yn结束输入rrs=0n输出“无连接”ynrrrrrs1...11121rsrs+1/rr≠0rs0输出1/rs输入r开始yn结束输入rrs=0n输出“无连接”ynrrrrrs1...11121rsrs+1/rr=0rs0输出1/rs1.计算长方体体积的算法描述如下:①输入长方体的长(z)、宽(w)、高(h)②计算长方形体积v=z*w*h③输出结果④结束上述算法属于()A.枚举算法B.排序算法C.解析算法D.递归算法C2.下列问题适合用解析算法求解的是()A.将十三张纸牌按从小到大进行排列B.统计100内偶数的各位数字之和恰好为10的个数C.计算一辆车行驶100公里的油耗D.寻找本年级身高最高的同学C3.有如下问题:①已知圆锥的半径r和高度h,使用公式V锥=求出此圆锥体的体积。②已知班级每位同学的期中成绩总分s,按照s的值从大到小进行成绩排名。③已知圆的周长s,利用公式r=s/(2*3.14)求出圆的半径r。④已知“水仙花数”的定义,找出1~10000范围内所有的水仙花数。用计算机解决上述问题时,适合用解析算法的是()A.①②B.①③C.③④D.②④Bhr312A4.出租车计价规则:3公里以内,10元;超出3公里每公里增加2元。假定公里数为x,金额为y。解决此问题的公式和流程图如下图所示:流程图加框处部分的算法属于()A.解析算法B.排序算法C.枚举算法D.递归算法例2:输入一元二次方程ax2+bx+c=0的系数a、b、c(a0),计算一元二次方程的根。设:d=b2-4ac当d0时:h1=adb2h2=adb2当d=0时:x1=x2当d0时:无实根=-b/2a用流程图来描述开始结束yynn输出“无实根”输入a,b,cVB中求平方根函数sqr(x)d←b*b-4*a*cd0d=0输出-b/(2*a)输出,adb2adb2(-b+sqr(d))/(2*a)(-b-sqr(d))/(2*a)5.现要求编写VB程序实现如下功能:分别在文本框Text1、Text2和Text3中输入三条线段的长度,单击“判断”按钮Command1后,在标签Label1中显示判断结果。程序运行界面如下图所示:按此要求编写的程序如右:PrivateSubCommand1_Click()DimaAsSingle,bAsSingleDimcAsSingle,stAsStringa=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)IfNot(a+bcAndb+caAndc+ab)Thenst=“这三条线不能构成一个三角形ElseIfa*a+b*b=c*cOra*a+c*c=b*bOrb*b+c*c=a*aThenst=可以构成一个直角三角形ElseIf_①______________________Thenst=可以构成一个等边三角形Elsest=“可以构成一个不等边斜三角形”EndIfLabel1.Caption=_②_________EndSub划线处应填写的正确的语句是(1)划线处①______________________(2)划线处②______________________sta=bAnda=cs+(i-1)/i6.下列VB程序段实现计算s=1+1/2+2/3+3/4+…+99/100的值。请将下面划线处的代码补充完整。PrivateSubCommand1_Click()DimiAsIntegerDimsAsDoubles=1Fori=2To100s=________Nextitext1.Text=Str(s)EndSub程序划线处应填入的内容是______________________。7.用解析算法求物体重力的VB程序代码如下:PrivateSubCommand1_Click()DimgAsSingleDimmAsSinglem=Val(Text1.Text)g=m*9.8Label1.Caption=Str(g)EndSub程序界面如下图所示:在文本框输入15,单击“计算”按钮Command1后,标签Label1中显示的内容是______。注:该示例程序在素材文件夹下vb9件夹中。1478.根据臀围计算裤子尺寸的换算有以下公式:①尺=厘米*0.03;②码=厘米*0.3+7。如臀围为90厘米,那么在购买时需要选2.7尺(90*0.03)也即34码(90*0.3+7)的裤子。下面VB程序可用于解决此实际问题,程序运行界面如下图所示。运行程序,在文本框Text1中输入臀围,单击“计算”按钮Command1,在标签Label2中显示裤子购买的参考尺寸,程序代码如下:PrivateSubCommand1_Click()DimnAsSingleDimcAsSingleDimmAsIntegern=Int(Val(Text1.Text))c=n*0.03m=_________________________Label2.Caption=“你需要购买”+Str(c)+“尺(“+Str(m)+”)码的裤子”EndSub程序划线处应填入的内容是__________________________。注:该示例程序在素材文件下vb10文件夹中。Int(n*0.3+7)9.某书店出租图书的费用标准如下:借书一天内,收费2元;借书超过一天的,超过部分按每天0.8元收取。最后费用按四舍五入折算成整数。程序算法结构与运行界面如下图所示。下面VB程序用于解决此问题PrivateSubCommand1_Click()DimnAsInteger'①n=Val(Text1.Text)Ifn1ThenMsgBox“输入错误”ElseIfn=1Thens=2Else'②EndIfText2.Text=Str(s)EndSubDimsAsSingles=2+n*0.810.下列VB程序实现如下功能:程序运行时,在文本框Text1和Text2中分别输入x和n的值,单击命令按钮Command1后,调用函数f计算s的值,并在文本框Text3中显示计算结果。其中。!nx!3x!2xxsn32PrivateSubCommand1_Click()DimxAsSingle,nAsInteger,sAsSinglex=Val(Text1.Text)n=Val(Text2.Text)s=f(x,n)Text3.Text=①EndIfPrivateFunctionf(xAsSingle,nAsInteger)AsSingleDimsumAsSingle,iAsInteger,tAsSinglesum=0t=1Fori=1Tont=t*x/isum=②Nextif=sumEndFunction请在划线处填入合适的代码以实现该程序的功能。(1)划线处①________________________________。(2)划线处②________________________________。注:该示例程序在素材文件下vb11文件夹中。sum+tStr(s)11.按下面公式计算f的值:现要求编写VB程序(运行界面如下图所示),实现如下功能:在文本框Text1中输入x的值,单击“计算”按钮Command1,在标签Label3中显示f的值。按此要求编写的程序如下。Functionf(xAsInteger)AsSingle'①Ifx=1Thenf=x+2ElseIfx1Andx2Thenf='②Elsef=2*xEndIfEndFunctionPrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)y=f(x)'③EndSubAbs(x+3)Label3.text=str(y)加框处代码有误,请修正。(1)加框①处应改为_________________。(2)加框②处应改为_________________。(3)加框③处应改为_________________________________。注:该示例程序在素材文件夹下vb12文件夹中。f(xAsSingle)x*xLabel3.Caption=Str(y)小结解析算法的关键是什么?找出表示问题的前提条件与结果之间关系的数学表达式。解析算法有没有特定的算法结构?没有作业P30:1-3学生活动手册:实践一

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功