当前位置:文档之家› 插值法VB源程序

插值法VB源程序

插值法VB源程序
插值法VB源程序

第四章 插值方法VB

一、线性插值应用实例VB1

已知:169的平方根为13,196的平方根为14,编程求175的平方根。 Private Sub Command1_click()

Dim x(1 To 2),y(1 To 2) As Single

x(1)=169:y(1)=13

x(2)=196:y(2)=14

x0=175

y0=F(x,y,x0)

a=Format$(y0,"###.##")

Text1.Text="y0=" & Str$(a)

End Sub

Private Function F(x,y,x0)

F=y(1)+(y(2)-y(1))/(x(2)-x(1))*(x0-x(1))

End Function

线性插值应用实例VB2

已知水的温度与密度和关系如下:

试编程计算温度为6、13、16、19、23、26 o C 时的密度。

Private Sub Command1_click()

N = 6

X = Array(0, 5, 10, 15, 20, 25, 30)

Y = Array(0, 0.999965, 0.9997, 0.999099, 0.998203, 0.997044, 0.995646) xc = Array(0, 6, 13, 16, 19, 23, 26)

List1.AddItem " x0" & " y0"

For I = 1 To 6

X0 = xc(I)

Y0 = f(N, X, Y , X0)

List1.AddItem Str$(X0) & Str$(Y0)

Next I

End Sub

Private Function f(N, X, Y , X0)

For I = 1 To N

If X0 <= X(I) Then

W = I

0.990.990.990.990.9970.9999密度30.0 25.0 20.0 15.0 10.0 5.0 温度

Exit For

End If

Next I

W = W - 1

If W <= 1 Then

W = 1: End If

If W >= N Then

W = N - 1: End If

f = Y(W) + (Y(W + 1) - Y(W)) / (X(W + 1) - X(W)) * (X0 - X(W))

End Function

二、拉格朗日三点插值实例

例:实验测得25O C 乙醇溶液的平均摩尔体积v 与乙醇的摩尔分数xi 的关系数据如下表。试编程求摩尔数xi 为0.3时的乙醇溶液的平均体积v 。

VB 清单

Dim X, v

Private Sub Command1_click()

N = 11

X = Array(0, 0.0891, 0.1153, 0.1435, 0.1739, 0.2068, 0.2424, 0.2811, 0.3234, 0.3697, 0.4207, 0.4771)

v = Array(0, 21.22, 22.16, 23.18, 24.32, 25.57, 26.95, 28.47, 30.15, 32.01, 34.07, 36.37)

M = 3

X0 = Val(Text1.Text)

If X0 < X(1) Or X0 > X(N) Then

Print "error"

Else

End If

0.2420.2060.1730.1430.1150.089xi 26.95 25.57 24.32 23.18 22.16 21.22 v 0.4770.4200.3690.3230.281xi

36.37 34.07 32.01 30.15 28.47 v

Call pt(N, M, X0, A, B)

v0 = F(X0, A, B)

List1.AddItem "a=" & A

List1.AddItem "b=" & B

List1.AddItem "X0=" & X0

List1.AddItem "v0=" & Format$(v0, "###.####") End Sub

Private Sub pt(N, M, X0, A, B)

For I = 1 To N

If X0 <= X(I) Then

If Abs(X0 - X(I - 1)) <= Abs(X0 - X(I)) Then

A = I - Int((M + 1) / 2)

Exit For

End If

Else

A = I - Int(M / 2)

End If

Next I

If A <= 0 Then

A = 1: End If

B = A + M - 1

If B >= N Then

B = N: End If

A =

B - M + 1

End Sub

Private Function F(X0, A, B)

For I = A To B

W = 1

For J = A To B

If J <> I Then

W = W * (X0 - X(J)) / (X(I) - X(J)): End If

Next J

s = s + W * v(I)

Next I

F = s

End Function

三、拉格朗日全点插值VB

试对上例编程对比利用三个、五个、七个、九个和全部节点时,摩尔分数xi为0.30时乙醇溶液的平均摩尔体积v。

Dim X, v

Private Sub Command1_click()

N = 11

X = Array(0, 0.0891, 0.1153, 0.1435, 0.1739, 0.2068, 0.2424, 0.2811, 0.3234, 0.3697, 0.4207, 0.4771)

v = Array(0, 21.22, 22.16, 23.18, 24.32, 25.57, 26.95, 28.47, 30.15, 32.01, 34.07, 36.37)

X0 = Val(Text1.Text)

If X0 < X(1) Or X0 > X(N) Then

Print "error"

End

Else

End If

List1.AddItem "x0=" & X0

For M = 3 To N Step 2

Call pt(N, M, X0, A, B)

v0 = F(X0, A, B)

List1.AddItem "M=" & M & " A=" & A & " B=" & B & " v0" & Format$(v0, "###.####") Next M

End Sub

Private Sub pt(N, M, X0, A, B)

For I = 1 To N

If X0 <= X(I) Then

If Abs(X0 - X(I - 1)) <= Abs(X0 - X(I)) Then

A = I - Int((M + 1) / 2)

Exit For

End If

Else

A = I - Int(M / 2)

End If

Next I

If A <= 0 Then

A = 1: End If

B = A + M - 1

If B >= N Then

B = N: End If

A =

B - M + 1

End Sub

Private Function F(X0, A, B)

For I = A To B

W = 1

For J = A To B

If J <> I Then

W = W * (X0 - X(J)) / (X(I) - X(J)): End If Next J

s = s + W * v(I)

Next I

F = s

End Function

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

VB程序的三种基本结构复习课教学案例

《VB程序的三种基本控制结构》 复习课教案 平桂高级中学陀君一、案例背景信息 模块:算法与程序设计 年级:高一年级 所用教材版本:粤教版《算法与程序设计》 学时数:1课时(40分钟) 二、教学设计: 1、教学目标: 知识与技能:能根据流程图正确区分VB程序的三种基本结构,并记住相关语句格式,能编写出简单明了的程序关键代码; 过程与方法:充分认识VB程序中三种基本结构的实用性,体会生活中算法的存在和精彩。 情感态度与价值观:培养学生在学习过程中积极思考、自我探究的能力和学以致用的意识。 2、教学重点:顺序、选择(分支)和循环三种基本结构的区分及其对应的VB 语句的使用。 教学难点:for循环结构,各类语句关键代码的编写。 三、教学实录 1.复习引入 师:我们之前学过VB的基本结构,通常程序有三种最基本的结构,是哪三种结构? 大部分学生在底下小声回答,师让某生回答,说:顺序模式、分支模式、循环模式。

师:分支模式也可称为? 部分学生:选择模式。 师:非常好,接下来看下这三种结构的流程图,然后分别指出这三个流程图是什么结构。(出示三种流程图结构) 2.正题 (1)顺序结构P38: 执行第一条语句后,必然从第二条语句继续,顺序执行所有的语句,直到执行完最后一条语句为止。 例1:例1、 a=1 b=2 c=a+b a=c-a b=c-a

最后,变量b的值是( 1 ) (2)选择结构(分支结构):P42 根据条件判断其是否成立,如果成立执行成立的分支;否则执行另一分支。其一般形式为: If 条件Then 语句序列1 Else 语句序列2 End If 单行形式为: If 条件Then 语句组1 Else 语句组2 例2、a =10 If a>=10 Then a=a+1 Else a=a-1 End If 该程序段运行后,变量a的值是( D ) A. 8 B. 9 C. 10 D. 11 【师读题,学生思考。请同学回答,让同学们思考a=5结果是多少】 (3)循环结构:P51 根据条件判断其是否成立,如果条件成立则重复执行循环体(循环结构中某语句序列),直到条件不成立,退出循环结构为止。 循环结构的常用形式为: for 循环变量= 初值to 终值[step 步长] [循环体] next [循环变量]

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 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 程序划线处应填入的内容是 ______________________________ “可以构成一个直角三角形” ① Then “可以构成一个等边三角形” “可以构成一个不等边的斜三角形”

VB程序的基本结构——循环结构之For-Next语句

课题:程序的基本结构——循环结构之For-Next语句第课时课型:新授备课教师授课时间 教学目标 知识与技能 1、了解循环的概念,理解循环结构的基本思想 2、掌握For-Next语句的基本结构的写法循环变量,初值,终值和步长。 3、理解For-Next语句的执行过程 过程与方法 1.通过分析问题,能准确找出循环变量、确定循环结束条件。 2.能利用For-Next语句解决简单的问题。 情感态度与价值观 1.通过编写循环结构的程序,体会循环结构的执行过程。 2.通过利用循环思想解决问题,体会循环思想的重要性。 教学重点1、理解循环结构的基本思想 2、理解For-Next语句的执行过程 教学难点根据需要采用循环结构解决实际问题,并提炼出for语句的基本结构学生理解For-Next语句的执行过程 教学 准备 几个以For-Next语句组成的不同功能的程序 教学过程设计教学 内容师生教学活动设计 备注栏 (学生笔记栏) 一、设疑导入 同学们,请先看这个图形(在窗体左边输出显示 竖行排列的1,2,3,4,5),如果用以前学过的程 序设计语言怎样来编写它的程序呢? 生(稍做思考,然后回答):使用Print语句 P rint“1” Print“2” Print“3” Print“4” Print“5” 师:同学们做得很好,,如果想要显示1-10,或是1-100的数字呢?怎么做,难道就这样顺序写下去吗?这样编写是不是太繁琐了。如果能让计算机去完成这部分重复的内容,而我们只要告诉计算机重复操作的次数就可以了,这个愿望能否实现呢? 通过我们今天学习的FOR—NEXT循环语句,就可以很容易的实现这个想法。

VB程序设计——选择结构.

VB程序设计——选择结构 南京市九龙中学李李 ■教材分析 选择控制结构是程序的三个基本结构中的一个重要结构,计算机的逻辑判断能力就是通过选择结构来完成的。条件语句中的“条件”是用关系表达式、逻辑表达式来描述的。程序中能否实现正确的“选择”决定于关系表达式或逻辑表达式的正确描述。关系表达式与逻辑表达式是本节中教学的重点与难点。 用选择结构编写简单的程序解决具体问题是在学生已经掌握了程序设计数据的表示与处理的基础上,理解了顺序结构的前提后提出的。通过本课的学习,可以促进学生对问题解决方法和思想的理解与掌握,从而提升学生的问题解决能力,让学生在按照一定的流程解决问题的过程中,去体会和理解程序设计的思想。 ■学情分析 学生在前面的课上对vb程序设计已经有了一定的基础,学生的分析、综合能力及独立思考能力、分析解决问题的能力都有了一定的水平,在教师的有效引导下,有能力进行自我探究,如果用一种学生比较感兴趣的,能够贴近学生日常生活的例子来分析选择结构的话,那么学生会比较感兴趣。 ■教学目标 1.知识与技能 1.了解选择结构的基本概念。 2.了解关系表达式与逻辑表达式的概念。 3.能利用VB中的条件语句实现简单的选择结构。 2.过程与方法 经历实践、分析、归纳,掌握IF语句的格式和功能。 3.情感态度与价值观 运用半成品加工策略,完善程序,发展学生思维的逻辑性及严谨的学习态度。 4.行为与创新 培养学生利用计算机的反馈作用进行探究学习的能力。 ■课时安排 安排1课时。 ■教学重点与难点 1.教学重点 让学生学会使用VB语言的If分支语句,掌握分支判断程序结构,来解决实际问题,

并且培养学生的探索、创新能力。 2.教学难点 对解决问题的方法和步骤的理解,并能根据实际问题写出程序代码。■教学方法与手段 讲述与讨论、实验与验证。 ■课前准备 教学课件、实例程序 ■教学过程

相关主题
文本预览
相关文档 最新文档