1、1解析算法的概念解析算法的概念解析:用数学公式描述客观事物间的数量关系。解析:用数学公式描述客观事物间的数量关系。解析算法:用解析的方法找出表示问题的前提条件解析算法:用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实与结果之间关系的数学表达式,并通过表达式的计算来实现问题的求解。现问题的求解。例如:计算以速度例如:计算以速度v作为匀速直线运动的一个物体,作为匀速直线运动的一个物体,在在t秒内经过的距离秒内经过的距离s,则可通过公式,则可通过公式svt得到。得到。3.1 解析算法及程序实现解析算法及程序实现第三章第三章 算法的程序实现算法的程序实现2解析算法的
2、程序实现解析算法的程序实现建立正确的数学模型建立正确的数学模型(得出正确的数学计算式得出正确的数学计算式)将数学表达式转换为将数学表达式转换为VB表达式表达式用用VB编制解析算法程序时,必须保证计算过程描述的编制解析算法程序时,必须保证计算过程描述的正确性。特别是把数学表达式转换成正确性。特别是把数学表达式转换成VB表达式时,必须注表达式时,必须注意这种转换的正确性,否则容易发生运算结果错误或运行意这种转换的正确性,否则容易发生运算结果错误或运行过程出错。过程出错。本课的重点是解析算法及其程序实现。通过本节课的学习,复本课的重点是解析算法及其程序实现。通过本节课的学习,复习并掌握习并掌握VB程
3、序设计语言的基本运算符、表达式、赋值语句等内程序设计语言的基本运算符、表达式、赋值语句等内容,特别是表达式的书写。考查方式为选择题与填空题。容,特别是表达式的书写。考查方式为选择题与填空题。1. 计算长方体体积的算法描述如下:计算长方体体积的算法描述如下:输入长方体的长输入长方体的长(z)、宽、宽(w)、高、高(h)计算长方形体积计算长方形体积vz*w*h输出结果输出结果结束结束上述算法属于上述算法属于()A枚举算法枚举算法B排序算法排序算法C解析算法解析算法D递归算法递归算法C C 2. 下列问题适合用解析算法求解的是下列问题适合用解析算法求解的是 ()A将十三张纸牌按从小到大进行排列将十三
4、张纸牌按从小到大进行排列B统计统计100内偶数的各位数字之和恰好为内偶数的各位数字之和恰好为10的个数的个数C计算一辆车行驶计算一辆车行驶100公里的油耗公里的油耗D寻找本年级身高最高的同学寻找本年级身高最高的同学C C 3. 有如下问题:有如下问题:已知圆锥的半径和高度,使用公式锥已知圆锥的半径和高度,使用公式锥 求出求出此圆锥体的体积。此圆锥体的体积。已知班级每位同学的期中成绩总分已知班级每位同学的期中成绩总分s,按照,按照s的值从大到小的值从大到小进行成绩排名。进行成绩排名。已知圆的周长已知圆的周长s,利用公式,利用公式s/(2*3.14)求出圆的半径求出圆的半径r。已知已知“水仙花数水
5、仙花数”的定义,找出的定义,找出110000范围内所有的水范围内所有的水仙花数。仙花数。用计算机解决上述问题时,适合用解析算法的是(用计算机解决上述问题时,适合用解析算法的是( )ABCDB B hr312A A 4出租车计价规则:出租车计价规则:3公里以内,公里以内,10元;超出元;超出3公里每公里公里每公里增加增加2元。假定公里数为元。假定公里数为x,金额为,金额为y。解决此问题的公式。解决此问题的公式和流程图如下图所示:和流程图如下图所示: 流程图加框处部分的算法流程图加框处部分的算法属于属于 ()A解析算法解析算法B排序算法排序算法C枚举算法枚举算法D递归算法递归算法5. 现要求编写现
6、要求编写VB程序实现如下功能:分别在文本框程序实现如下功能:分别在文本框Text1、Text2和和Text3中输入三条线段的长度,单击中输入三条线段的长度,单击“判断判断”按钮按钮Command1 后,在标签后,在标签Label1中显示判断结果。程序运行界面如下图所示:中显示判断结果。程序运行界面如下图所示:按此要求编写的程序如下:按此要求编写的程序如下:Private Sub Command1_Click() Dim a As Single, b As Single Dim c As Single, st As String a Val(Text1.Text) b Val(Text2.Tex
7、t) c Val(Text3.Text) If Not (abc And bc a And ca b) Then st “这三条线不能构成一个三角形这三条线不能构成一个三角形 ElseIf a*ab*bc*c Or a*ac*cb*b Or b*bc*ca*a Then st 可以构成一个直角三角形可以构成一个直角三角形 ElseIf_Then st 可以构成一个等边三角形可以构成一个等边三角形 Elsest “可以构成一个不等边斜三角形可以构成一个不等边斜三角形” End If Label1.Caption _ End Sub 划线处应填写的正确的语句是划线处应填写的正确的语句是 (1)划线
8、处划线处 _(2)划线处)划线处 _注:该示例程序在素材文件夹下注:该示例程序在素材文件夹下vb8文件夹中。文件夹中。ststa=b And a=c a=b And a=c s+(i-1)/s+(i-1)/i i 6. 下列下列VB程序段实现计算程序段实现计算s11/22/33/499/100的值。请将下面划线处的代码补充完整。的值。请将下面划线处的代码补充完整。Private Sub Command1_Click() Dim i As Integer Dim s As Double s 1 For i 2 To 100 s _ Next i text1.Text Str(s)End Sub程
9、序划线处应填入的内容是程序划线处应填入的内容是_。7. 用解析算法求物体重力的用解析算法求物体重力的VB程序代码如下:程序代码如下:Private Sub Command1_Click() Dim g As Single Dim m As Single m Val(Text1.Text) g m * 9.8 Label1.Caption Str(g)End Sub程序界面如下图所示:程序界面如下图所示:在文本框输入在文本框输入15,单击,单击“计算计算”按钮按钮Command1后,标签后,标签Label1中显示的内容是中显示的内容是_。注:该示例程序在素材文件夹下注:该示例程序在素材文件夹下v
10、b9件夹中。件夹中。1478. 根据臀围计算裤子尺寸的换算有以下公式:根据臀围计算裤子尺寸的换算有以下公式:尺厘米尺厘米*0.03;码厘米;码厘米*0.37。如臀围为如臀围为90厘米,那么在购买时需要选厘米,那么在购买时需要选2.7尺尺(90*0.03)也即也即34码码(90*0.3+7)的裤的裤子。下面子。下面VB程序可用于解决此实际问题,程序运行界面如下图所示。程序可用于解决此实际问题,程序运行界面如下图所示。运行程序,在文本框运行程序,在文本框Text1中输入臀围,单击中输入臀围,单击“计算计算”按钮按钮Command1,在标,在标签签Label2中显示裤子购买的参考尺寸,程序代码如下:
11、中显示裤子购买的参考尺寸,程序代码如下:Private Sub Command1_Click() Dim n As Single Dim c As Single Dim m As Integer n Int(Val(Text1.Text) c n * 0.03 m _ Label2.Caption “你需要购买你需要购买” Str(c) “尺尺(“ Str(m) ”)码的裤子码的裤子”End Sub程序划线处应填入的内容是程序划线处应填入的内容是_。注:该示例程序在素材文件下注:该示例程序在素材文件下vb10文件夹中。文件夹中。IntInt(n(n* *0.3+7) 0.3+7) 9. 某书店
12、出租图书的费用标准如下:借书一天内,收费某书店出租图书的费用标准如下:借书一天内,收费2元;借元;借书超过一天的,超过部分按每天书超过一天的,超过部分按每天0.8元收取。最后费用按四舍元收取。最后费用按四舍五入折算成整数。程序算法结构与运行界面如下图所示。五入折算成整数。程序算法结构与运行界面如下图所示。下面下面VB程序用于解决此问题程序用于解决此问题Private Sub Command1_Click() Dim n As Integer n Val(Text1.Text) If n 1 Then MsgBox “输入错误输入错误” ElseIf n 1 Then s 2 Else End
13、If Text2.Text Str(s) End SubDim s As Singles=2+n*0.8程序加框处代码有误,请修改以实现该程序的功能。程序加框处代码有误,请修改以实现该程序的功能。(1)加框处应改为加框处应改为_。(2)加框处应改为加框处应改为_。Dim s As Integers=2+(n-1)*0.810. 下列下列VB程序实现如下功能:程序运行时,在文本框程序实现如下功能:程序运行时,在文本框Text1和和Text2中分别输入中分别输入x和和n的值,单击命令按钮的值,单击命令按钮Command1后,调用函数后,调用函数f计算计算s的值,并在文本框的值,并在文本框Text3
14、中显示计算结果。其中中显示计算结果。其中。!nx! 3x!2xxsn32Private Sub Command1_Click ( ) Dim x As Single , n As Integer, s As Single x Val(Text1.Text) n Val(Text2.Text) s f(x , n) Text3.Text End IfPrivate Function f(x As Single, n As Integer ) As Single Dim sum As Single, i As Integer, t As Single sum 0 t 1 For i 1 To n
15、t t * x / i sum Next i f sum End Function请在划线处填入合适的代码以实现该程序的功能。请在划线处填入合适的代码以实现该程序的功能。(1)划线处划线处_。(2)划线处划线处_。注:该示例程序在素材文件下注:该示例程序在素材文件下vb11文件夹中文件夹中。sum+tsum+tStrStr(s)(s)11按下面公式计算按下面公式计算f的值:的值:现要求编写现要求编写VB程序程序(运行界面如下图所示运行界面如下图所示),实现如下功能:在,实现如下功能:在文本框文本框Text1中输入中输入x的值,单击的值,单击“计算计算”按钮按钮Command1,在,在标签标签L
16、abel3中显示中显示f的值。的值。按此要求编写的程序如下。按此要求编写的程序如下。Function f(x As Integer) As Single If x 1 And x 2 Then f Else f 2 * x End IfEnd FunctionPrivate Sub Command1_Click() Dim x As Single, y As Single x Val(Text1.Text) y f(x) End SubAbs(x+3)Abs(x+3)Label3.text=str(y)加框处代码有误,请修正。加框处代码有误,请修正。(1)加框处应改为加框处应改为_。(2)加框处应改为加框处应改为_。(3)加框处应改为加框处应改为_。注:该示例程序在素材文件夹下注:该示例程序在素材文件夹下vb12文件夹中。文件夹中。f(x As Single)f(x As Single)x x* *x xLabel3.Caption=Label3.Caption=StrStr(y)(y)