VB解析算法及程序实现
3.1解析算法及程序实现 1.计算长方体体积的算法描述如下:(h) (z)、宽(w)、高①输入长方体的长 v = z * w * h ②计算长方形体积③输出结果④结束()上述算法属于
A. 枚举算法
B. 排序算法
C. 解析算法
D. 递归算法
2.下列问题适合用解析算法求解的是()
A.将十三张纸牌按从小到大进行排列
B.统计100内偶数的各位数字之和恰好为10的个数
C.计算一辆车行驶100公里的油耗
D.寻找本年级身高最高的同学
3.有如下问题:
12求出此圆锥体的体积。
V=πr ①已知圆锥的半径和高度h,使用公式hr3②已知班级每位同学的其中成绩总分s,按照s的值从大到小进行成绩排名。
③已知圆的周长s,利用公式r=s/(2*3.14)求出圆的半径。
④已知“水仙花数”的定义,找出1~10000范围内所有的水仙花数。
用计算机解决上述问题时,适合用解析算法的是()
A.①②
B.①③
C.③④
D.②④
4.出租车计价规则:3公里以内,10元;超出3公里每公里增加2元。
假定公里数为x,金额为y.解决此问题的公式和流程图如下图所示:
流程图加框处部分的算法属于:()
A.解析算法
B.排序算法
C.枚举算法
D.递归算法
程序实现如下功能:分别现要求编写VB5.中输入Text3、和Text1、Text2在文本框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.Text)
c=Val(Text3.Text)
If Not (a + b > c And b + c > a And c + a > b) Then
st = “这三条线不能构成一个三角形” ElseIf a * a + b * b = c * c Or a * a + c * c = b * b Or b * b + c * c = a * a Then
“可以构成一个直角三角形” st =
Then
① ElseIf
“可以构成一个等边三角形” st =
Else
st = “可以构成一个不等边的斜三角形”
End If
Label1.Caption = ②
End Sub
划线处应填写正确的语句是:
(1)划线处①
(2)划线处②
6.下列VB程序段实现计算s=1+1/2+2/3+3/4+…+99/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
程序划线处应填入的内容是
VB程序代码如下:7.用解析算法求物体重力的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
程序界面如上图所示:中显示的后,标签Label1在文本框输入15,单击“计算”按钮Command1 内容是
8.根据臀围计算裤子尺寸的换算有以下公式:
①尺=厘米*0.03
②码=厘米*0.3+7
如臀围为90厘米,那么在购买时需要选2.7尺(90*0.03)也即34码(90*0.3+7)的裤子,下面VB程序可用于解决此实际问题,程序运行界面如下图所示:
运行程序,在文本框Text1中输入臀围,单击计算“计算”按钮Command1,在标签Label2中显示裤子购买的参考尺寸,程序代码如下:
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
程序划线处应填入的内容是
元;借书超过一天的,9.某书店出租图书的费用标准如下:借书一天内,收费2程序算法结构与最后费用按四舍五入这算成整数。
0.8元收取。
超过部分按每天运行界面如下图所示。
程序用于解决此问题:下面VBPrivate Sub Command1_Click()
Dim n As Integer
Dim s As Single ①'
n=Val(Text1.Text)
If n<1 Then
MsgBox “输入错误”
ElseIf n=1 Then
s=2
Else
s=2+n*0.8 '②
End If
Text2.Text=Str(s)
End Sub
程序加框处代码有误,请修改以实现该程序的功能。
(1)加框①处应改为
(2)加框②处应改为
中分别输和Text2VB下列程序实现如下功能:程序运行时,在文本框Text110.的值,并在文本计算的值,单击命令按钮Command1后,调用函数fs入x和
n n23xxx??s?x???框Text3中显示计算结果。
其中。
!3n!!2Private Sub
Command1_Click()
Dim x As Single ,n As Single ,s As Single
x=Val(Text1.Text)
n=Val(Text2.Text)
s=f(x ,n)
Text3.Text= ①
End Sub
Function f(x As Single ,n As Single)As Single
Dim sum As Single ,i As Integer ,t As Single
sum=0
t=1
For i=1 To n
t=t*x/i
sum= ②
Next i
③
End Function
请在划线处填入合适的代码以实现该程序的功能。
(1)划线处①
(2)划线处②
(3)划线处③
11.按下面公式计算f的值:
x?2x??1??2?1??)xx?2f(x??2x x?2?现要求编写VB程序(运行界面如
图所示),实现如下功能:在文本框Text1中输入x的值,单击“计算”Command1,在标签Label3中显示f的值。
按此要求编写的程序如下。
.Function f(x As Integer) As
Single '①
If x<=-1 Then
f=x+2
ElseIf x>-1 And x<2 Then
f= Abs(x+3) '②
Else
f=2*x
End If
End Function
Private Sub Command1_Click()
Dim x As Single ,y As Single
x=Val(Text1.Text)
y=f(x)
Label3.Text=Str(y) '③
End Sub
加框处代码有误,请修正。
(1)加框①处应改为
(2)加框②处应改为
(3)加框③处应改为。
VB第11课时:解析算法、枚举算法
For x = 0 To 99 y = 25006 + x * 10 If y Mod 37 = 0 Or y Mod 67 = 0 Then List1.AddItem Str(y) End If Next j
距离S。
则可通过公式 S= v t得到。 例4:求1+2+3+…+n的和, S= (1+n)*n /2
例5:已知三角形的三边,求三角形的面积: 在Text1,Text2,Text3分别输入相应的数, 表示三角形的三边a,b,c(注三边能构成三角形) 则半周长p=(a+b+c)/2, 计算三角形面积公式为s=sqr(p*(p-a)*(p-b)*(p-c)), 单击命令按钮Command1“计算”,在文本框Text4中显示面积S的值。
在text1text2text3分别输入相应的数表示三角形的三边abc注三边能构成三角形计算三角形面积公式为ssqrppapbpc单击命令按钮command1计算在文本框text4中显示面积s的值
例0: For i=1 to 12 If i mod 3 = 0 Then Next i 则语句S=S+i 执行次数是( ) A、1 B、3 C、4 D、13 S=S+i
特点:优点,只要时间足够,正确的枚举能得出正确和全面的解。 算法简单,基础。 缺点, 效率差。
例1:找出1—1000中所有能被3整除的数,并列出来。 For i=1 to 1000 If i mod 3 = 0 Then List1.Additem i End if Next i 学习新的一个VB控件类: ListBox :列表框 List1:对象名
vb-解析算法
循环
问题的前提条件
数学表达式
要求的解
流程图
编写程序
开始
输入身高h和体重w的值
计算体质指数 Y BMI<20? N
Y ②? N
①
输出”正常” 输出”偏胖”
结束
Private Sub Command1_Click() Dim h As Single, w As Single, BMI As Single h = Val(Text1.Text) w = Val(Text2.Text) BMI = ③ Text3.Text = Str(BMI) If BMI < 20 Then Label5.Caption = "偏瘦" ElseIf BMI <= 25 Then Label5.Caption = "④" Else Label5.Caption = "偏胖" End If End Sub
过重:25-30
冬冬身高165cm,体重84kg,
肥胖:30-35
请你帮冬冬算一算~
非常肥胖, 高于35
专家指出最理想的体重指数是22。
解析算法基本思想 找出表示问题的前提条件与结果之间关系
的数学表达式,并通过表达式的计算来实 现问题求解。用VB编制解析算法程序时, 必须注意计算过程描述的正确性。
作业任务
1、实现德清打的问题程序设计
2、提高任务:实现折纸问题程序设计
课堂小结
解析算法的解题思路: 1)明确问题的前提条件
输入 ①
2)明确要求的解
输出 ③
3)寻找前提条件与结果之间的数学表达式 处理 ②
解析算法的算法结构有哪些?
根据具体问题具体分析,解析算 顺序 法没有固定的算法结构。
高三VB一轮同步课堂解析算法与枚举算法
☞信息技术算法同步课堂☜-1-VB 解析算法与枚举算法姓名:__________班级:___________学号:___________ 枚举算法 解析算法 基本思想 在一定的范围内,对所有可能的解进行一一列举,并通过条件判断求解问题的所有解。
如:要求100以内所有的偶数,就可以采用枚举算法。
找出问题的前提条件与所求结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。
如:计算1+2+3+…+100的和,可通过求和公式s=n(n+1)/2得到。
辨别方法 (1)确定枚举对象、枚举范围和判断条件。
(2)一一列举所有可能的解,验证是否是问题的解。
【For 语句、If 语句】(1)建立正确的数学模型(得出正确的数学表达式)。
(2)保证计算过程描述的正确性。
例1【猜银行卡密码】六位的银行密码中,后三位密码缺失,该密码是12和17的倍数。
大家想想办法,帮她找出满足条件的密码并统计满足条件的密码个数。
根据对题意的理解和VB 程序设计界面,补写代码。
Private Sub Command1_Click()Dim i As Long, c As Integerc= 0For i=________To ________ Step 1If ____________________ Thenc =c + 1List1.AddItem i952Next iText1.Text = _________________End Sub例2、【经典“百鸡问题”】已知公鸡每只5元,母鸡每只3元,小鸡一元钱3只。
用100元钱买100只鸡,问公鸡、母鸡、小鸡都要有,一共有多少种买鸡方案。
程序中定义的变量x,y,z 分别代表公鸡、母鸡、和小鸡的数量,count代表组合方案的数量。
单击“计算”按钮,在list1中显示出每种组合方案的组合方式,并在相应label1显示组合方案的数量。
将程序补充完整。
Private Sub Command1_Click()Dim x, y, z As SingleDim count As Integercount = 0For x = 1 To __________ '公鸡的范围For y = _____________ '母鸡的范围Z = ______________________ '小鸡的数量If ____________________________________________ ThenList1.AddItem "公鸡数:" +Str(x) + "母鸡数:" + Str(y) + "小鸡数:" + Str(z)count = count + 1End IfNext xLabel1.Caption="方案的数量为:" + _________ '输出运行次数End Sub【习题】1.小李忘记了密码箱上设置的三位数密码,于是他从“000”开始尝试,一直到成功打开密码箱为止。
VB解析算法及程序实现
3.1解析算法及程序实现1. 计算长方体体积的算法描述如下:①输入长方体的长⑵、宽(w)、高(h)②计算长方形体积v = z * w *h③输出结果④结束上述算法届丁 ()A. 枚举算法B. 排序算法C. 解析算法D. 递归算法2. 下列问题适合用解析算法求解的是( )A. 将十三张纸牌按从小到大进行排列B. 统计100内偶数的各位数字之和恰好为10的个数C. 计算一辆车行驶100公里的油耗D. 寻找本年级身高最高的同学3. 有如下问题:①已知圆锥的半径r和高度h,使用公式V=1兀r2h求出此圆锥体的体积。
3②已知班级每位同学的其中成绩总分s,按照s的值从大到小进行成绩排名。
③已知圆的周长s,利用公式r=s/(2*3.14)求出圆的半径。
④已知“水仙花数”的定义,找出1〜10000范围内所有的水仙花数。
用计算机解决上述问题时,适合用解析算法的是( )A.①②B. ①③C. ③④D. ②④4. 出租车计价规则:3公里以内,10元;超出3公里每公里增加2元。
假定公里数为x,金额为y.解决此问题的公式和流程图如下图所示:J[10+2*(x-3X(x>3)_________I -- --- --- 1 ---- --- ---之/ 输曲I ~『了、[结虽]流程图加框处部分的算法届丁:( )A.解析算法B. 排序算法C. 枚举算法D. 递归算法5. 现要求编写VB 程序实现如下功能:分别 在文本框 Textl 、Text2、和Text3中输入 三条线段的长度,单击“判断”按钮Comman 后,在标签Labell 中显示判断结果。
程序 运行界面如图:按此要求编写的程序如下: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.Text) c=Val(Text3.Text)If Not (a + b > c And b + c > a And c + a > b) Then st ="这三条线不能构成一个三角形"ElseIf a * a + b * b = c * c Or a * a + c * c = b * b Or b * b + c * c = a * a Then st =ElseIf st =Else st =End IfLabel1.Caption =End Sub划线处应填写正确的语句是:(1) 划线处① __________(2) 划线处② 6. 下列VB 程序段实现计算s=1+1/2+2/3+3/4+…+99/100的值。
VB解析算法及程序实现
3.1解析算法及程序实现1.计算长方体体积的算法描述如下:①输入长方体的长(z)、宽(w)、高(h)②计算长方形体积 v = z * w * h③输出结果④结束上述算法属于( )A. 枚举算法B. 排序算法C. 解析算法D. 递归算法2.下列问题适合用解析算法求解的是( )A.将十三张纸牌按从小到大进行排列B.统计100内偶数的各位数字之和恰好为10的个数C.计算一辆车行驶100公里的油耗D.寻找本年级身高最高的同学3.有如下问题:①已知圆锥的半径r 和高度h ,使用公式V= 31πh r 2求出此圆锥体的体积。
②已知班级每位同学的其中成绩总分s ,按照s 的值从大到小进行成绩排名。
③已知圆的周长s ,利用公式r=s/(2*3.14)求出圆的半径。
④已知“水仙花数”的定义,找出1~10000范围内所有的水仙花数。
用计算机解决上述问题时,适合用解析算法的是( )A. ①②B. ①③C. ③④D. ②④4.出租车计价规则:3公里以内,10元;超出3公里每公里增加2元。
假定公里数为x,金额为y.解决此问题的公式和流程图如下图所示:流程图加框处部分的算法属于:()A.解析算法B.排序算法C.枚举算法D.递归算法5.现要求编写VB程序实现如下功能:分别在文本框Text1、Text2、和Text3中输入三条线段的长度,单击“判断”按钮Command1后,在标签Label1中显示判断结果。
程序运行界面如图:按此要求编写的程序如下:Private Sub Command1_Click()Dim a As Single ,b As SingleDim c As Single ,st As Stringa=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)If Not (a + b > c And b + c > a And c + a > b) Thenst = “这三条线不能构成一个三角形”ElseIf a * a + b * b = c * c Or a * a + c * c = b * b Or b * b + c * c = a * a Thenst = “可以构成一个直角三角形”ElseIf ①Thenst = “可以构成一个等边三角形”Elsest = “可以构成一个不等边的斜三角形”End IfLabel1.Caption = ②End Sub划线处应填写正确的语句是:(1)划线处①(2)划线处②6.下列VB程序段实现计算s=1+1/2+2/3+3/4+…+99/100的值。
(完整版)vb常用算法介绍
一、累加算法如果在设计过程中遇到求1+2+3+……+100等连加问题时,就可以用累加算法来解决。
累加算法的一般做法是设一个变量 s,作为累加器使用,初值为0,设一个变量用来保存加数。
一般在累加算法中的加数都是有规律可循,可结合循环程序来实现. 一个循环程序的设计,如果以下三方面确定下来:变量的赋初值、循环体的内容、循环结束条件,那么根据循环语句的格式,就很容易写出相应的循环程序。
例:求1+2+3++100的累加和,并打印输出分析:设累加器S,初值为0,加数用变量I表示当I=1时,累加器S= S+I = 0+1=1当I=2时,累加器S= S+I =1+2= 3当I=3时,累加器S=S+I =3+3 =6当I=4时,累加器S=S+I =6+4 =10……当I=100时,累加器S=S+100=1+2+3+……+99+100=5050不难看出,I的值从1变化到100的过程中,累加器均执行同一个操作:S=S+I,S=S+I的操作执行了100次,所以该程序段可写成:Dim I As Integer, S As IntegerS = 0 ‘给累加器s赋初值For S = 1 To 100S= S + I ‘I既作为循环变量,又作为加数Next IPrint "1+2+……100=”; S考虑一下:语句Print ”1+2+……100=”; S可以放在循环体中吗?延伸一下:上述算法对数值型数据,执行的是累加操作,如果对字符串型数据,完成的是字符串的连接.例:从键盘上输入一串字符,要求将其加密后显示在文本框Text1中,加密的方法是将每一个字符转变为它的后一位字符,如:A转变为B,1转变为2。
分析:因为涉及对每一个字符做相应处理再连接成一个新串,所以可以用类似累加的算法。
定义一个变量str1用来接收输入的原始字符串,变量str2用来接收加密后的字符串,初值为空串。
可用Len()函数得出字符串的长度,用循环控制,从左向右逐个取字符,截取字符的功能可用函数Mid()完成,由于要做加密操作,可利用Asc()函数获得字符的Ascii码,用Chr()函数获得Ascii码对应的字符。
VB算法
VB算法
一、解析法
解析法就是在分析具体问题的基础上,抽取出一个数学模型,这个数学模型能够用若干解析表达式表示出来,解决了这些表达式,问题也就得以解决。
例如:如果程火车以100千米/小时的速度从北京去上海(全程约1400千米),那么所需时间是1400/100=14小时。
数学、物理等学科中的许多问题都是用解析法解决的。
二、穷举法
穷举法也叫枚举法、列举法。
它将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否满足给定的条件,穷举完所有对象,问题将最终得以解决。
常见问题:水仙花数问题鸡兔同笼问题百钱白鸡问题
三、递归算法
“从前有座山······”的故事反映了一个特征------自己调用自己。
如果一个函数在定义时,直接或间接地调用了自己,这种算法称为递归法
常见问题:兔子繁殖问题汉诺塔游戏四、冒泡算法
冒泡算法也叫“起泡法排序”,它通过与相邻元素进行比较和交换,逐步将一个无序序列排列成为一个有序序列。
例:将序列“4,1,2,5,3“的序列进行升序排序。
vb程序设计含详解
合用标准文案1、编写程序,将26 个字母逆序输出。
教材 p87 【例 4-15】2、编写程序,在窗体上随机输出一个10--99 之间的两位整数。
Private Sub Form_Click()clRandomizePrint Int(Rnd() * 90) + 10End Sub3、在窗体的单击事件中编写程序,从键盘输入 3 个数,按从小到大的序次输出到窗体上。
Private Sub Form_Click()clsa = Val(InputBox("a="))b = Val(InputBox("b="))c = Val(InputBox("c="))If a > b Thent = a: a = b: b = tEnd IfIf a > c Thent = a: a = c: c = tEnd IfIf b > c Thent = b: b = c: c = tEnd IfPrint " 按从小到大排序后的结果 :"; a; " 、"; b; " 、"; c End Sub4、编写程序,要求随着不断单击命令按钮Command1,窗体的标题依次显示为:今天是星期一→今天是星期二→今天是星期三→今天是星期四→今天是星期五→今天是星期六→今天是星期日。
Private Sub Command1_Click()优秀文档Static i As Integeri = i + 1Select Case iCase 1Form1.Caption = "今天是星期一"Case 2Form1.Caption = "今天是星期二"Case 3Form1.Caption = "今天是星期三"Case 4Form1.Caption = "今天是星期四"Case 5Form1.Caption = "今天是星期五"Case 6Form1.Caption = "今天是星期六"Case 7Form1.Caption = "今天是星期日"i = 0End SelectEnd Sub5、编写程序,将字符串"" 山高人为峰 "" 按逆序 "" 峰为人顶峰 "" 输出。
算法选择题
第二部分算法与程序设计会考要求知识点目录表第一单元算法与算法表示 (2)1、使用计算机解决问题的一般过程(识记) (2)2、算法及算法的表示方法(领会) (2)3、顺序、选择和循环三种基本模式(应用) (5)第二单元VB程序设计初步 (13)1、类、对象、属性、方法、事件和事件处理的概念(领会) (13)2、VB应用程序的界面设计(应用) (14)3、VB应用程序的运行和保存(应用) (16)4、基本数据类型、常量、变量、数组(应用) (16)5、常用的标准函数(应用) (19)6、算术类、关系类、逻辑类表达式及基本运算(应用) (21)7、赋值语句、选择语句、循环语句、注释语句(应用) (27)8、过程、事件处理过程、自定义函数(应用) (37)第三单元常用算法及程序实现 (40)1、枚举算法及程序实现(应用) (40)2、解析算法及程序实现(应用) (41)3、排序算法及程序实现(应用) (44)4、查找算法及程序实现(应用) (48)第一单元算法与算法表示1、使用计算机解决问题的一般过程(识记)2、算法及算法的表示方法(领会)2007年真题:1.关于算法,下列叙述正确的是(A)算法可以用自然语言、流程图和伪代码来描述(B)算法只能用流程图来描述(C)算法不能用伪代码来描述(D)算法不可以用自然语言来描述2. “如果下雨在体育馆上体育课,不下雨则在操场上体育课”。
用流程图来描述这一问题时,判断“是否下雨”的流程图符号是(A)矩形(B)菱形(C)平行四边形(D)圆圈2008年真题:1.卫星沿某星球圆轨道运行,轨道半径是r千米,周期是t秒,根据这些数据估算该星球的质量m的步骤有:①输出星球质量m②pi=3.14159③计算星球质量m=4*pi^2*r^3/(g*t^2)④输入轨道半径r和周期t⑤g=6.67*10^-11其正确的顺序是(A)⑤①②③④(B)①②③④⑤(C)④⑤②③①(D)③④②①⑤2.某化工厂通过从海水中提取镁的方法生产金属镁,已知海水中镁的含量为1.1g·L-1,若该工厂每天生产x千克镁,则每天至少需要多少升海水。
VB-解析算法及程序实现
3、设计程序计算计程车日间资费
乘客A:车程为16公里,低速时间为4分钟 乘客B:车程为8.5公里,低速时间为6.5分钟
《上海小型出租车日间资费标准》 小型出租车起租价为12元,起租里程3公里,超起租里程单价每 公里2.4元。超10公里(不含10公里),超过部分按超起租里程 单价加价50%。 计价器车资金额以元为单位显示,元以下尾数小于等于0.50元舍 去,大于等于0.51元进“1元”。 出租车采用计时,计程并用的计价方式。当车速低于时速12公里 或停车等候时,每5分钟计收1公里超起租价。(假设在3公里以 内没有低速情况) 请同学们根据上海小型出租车计费标准,编写程序,计算两次出 租车资费: 乘客A 元 乘客B 元
Private Sub Form_Click() Dim d, t, pay As Integer d = Val(InputBox("输入车程(公里)")) t = Val(InputBox("输入低速时间(分钟)")) If d <= 3 Then pay = 12 Else If d <= 10 Then pay = 12 + (d - 3) * 2.4 + t / 5 * 2.4 Else
y=500+(x-500)*0.9
Elseif x<=1500 then
‘超出500不足1000部分打9折
y= 500+500*0.9+(x-1000)*0.8 ‘1000到1500部分打8折 Elseif x<=3000 then y= 500+500*0.9+500*0.8+(x-1500)*0.7 Else y=500+500*0.9+500*0.8+1500*0.7+(x-3000)*0.6 End if Text2.text=str(y) end sub ‘超出3000部分打6折 ‘1500到3000部分打7折
