1、第一次作业 程序化线图处理 一.题目 线图的程序化处理: 上机:将下图编程实现(大作业) 二.解题思路 本线图为分区域线图,对功率和转速需要进行分段讨论,采用Visual Basci软件可实现匹配类型的功能,使用用if语句实现各个区域分段,而各个区域的分界线为直线和斜线,它们都可以通过解线性方程而获得,以各个分界线列方程用And语句即可实现题目所要求的功能。 可将功率的范围分为0.8~1,1~2.6, 2.6~4, 4~6,6~12, 12~23,23~37……220~800等多个区域,然后分别列出各个区域相关的方程组,即可有Visual Basic编程实现
2、功能。 三. 程序代码 Private Sub Form_Load() Picture = LoadPicture(App.Path + "\1.jpg") End Sub Private Sub Command1_Click() Dim x As Double Dim y As Double If Not IsNumeric(Text1.Text) Then MsgBox "请在输入功率时输入数字", , "警告" Text1.Text = "" Text1.SetFocus End If If Not IsNumeric(Text2.Tex
3、t) Then MsgBox "请输入转速时输入数字", , "警告" Text2.Text = "" Text2.SetFocus End If x = Text1.Text y = Text2.Text If x < 0.8 Or y < 100 Then MsgBox "数据输入有误,请重新输入!" ElseIf x >= 0.8 And x <= 1 And y <= 1350 * (x - 4 / 9) Then MsgBox "您选择的类型为A型!" ElseIf x >= 0.8 And x <
4、 1 And y > 1350 * (x - 4 / 9) And y <= 7000 Then MsgBox "您选择的类型为O型!" ElseIf x >= 1 And x <= 2.6 And y <= 200 * (x - 0.5) Then MsgBox "您选择的类型为B型!" ElseIf x >= 1 And x <= 2.6 And y >= 200 * (x - 0.5) And y <= 1350 * (x - 4 / 9) Then Msg
5、Box "您选择的类型为A型!" ElseIf x >= 1 And x <= 2.6 And y >= 1350 * (x - 4 / 9) And y <= 7000 Then MsgBox "您选择的类型为O型!" ElseIf x >= 2.6 And x <= 4 And y <= (1000 / 18) * (x - 0.8) Then MsgBox "您选择的类型为C型!" ElseIf x >= 2.6 And x <= 4 And y >=
6、1000 / 18) * (x - 0.8) And y <= 200 * (x - 0.5) Then MsgBox "您选择的类型为B型!" ElseIf x >= 2.6 And x <= 4 And y >= 200 * (x - 0.5) And y <= 1350 * (x - 4 / 9) Then MsgBox "您选择的类型为A型!" ElseIf x >= 2.6 And x <= 4 And y >= 1350 * (x - 4 / 9) And y <= 7000 Th
7、en MsgBox "您选择的类型为O型!" ElseIf x >= 4 And x <= 7.6 And y >= 4800 And y <= 7000 Then MsgBox "您选择的类型为O型!" ElseIf x >= 4 And x <= 6 And y >= 100 And y <= (1000 / 18) * (x - 0.8) Then MsgBox "您选择的类型为C型!" ElseIf x >= 4 And x <=
8、 6 And y >= (1000 / 18) * (x - 0.8) And y <= 200 * (x - 0.5) Then MsgBox "您选择的类型为B型!" ElseIf x >= 4 And x <= 6 And y >= 200 * (x - 0.5) And y <= 4800 Then MsgBox "您选择的类型为A型!" ElseIf x >= 6 And x <= 12 And y >= 100 And y <= (250 / 7) * (x - 16 /
9、 5) Then MsgBox "您选择的类型为D型!" ElseIf x >= 6 And x <= 12 And y <= (500 / 9) * (x - 0.8) And y >= (250 / 7) * (x - 16 / 5) Then MsgBox "您选择的类型为C型!" ElseIf x >= 6 And x <= 12 And y >= (500 / 9) * (x - 0.8) And y <= 200 * (x - 0.5) Then M
10、sgBox "您选择的类型为B型!" ElseIf x >= 6 And x <= 12 And y >= 200 * (x - 0.5) And y <= 4800 Then MsgBox "您选择的类型为A型!" ElseIf x >= 12 And x <= 22 And y >= 3500 And y <= 4800 Then MsgBox "您选择的类型为A型!" ElseIf x >= 12 And x <= 18 And y >= 100
11、And y <= (250 / 7) * (x - 16 / 5) Then MsgBox "您选择的类型为D型!" ElseIf x >= 12 And x <= 18 And y >= (250 / 7) * (x - 16 / 5) And y <= (500 / 9) * (x - 0.8) Then MsgBox "您选择的类型为C型!" ElseIf x >= 12 And x <= 23 And y >= (500 / 9) * (x - 0.8) Then M
12、sgBox "您选择的类型为B型!" ElseIf x >= 23 And x <= 45 And y >= 2800 And y <= 3500 Then MsgBox "您选择的类型为B型!" ElseIf x >= 18 And x <= 23 And y >= 100 And y <= 12.5 * (x - 10) Then MsgBox "您选择的类型为E型!" ElseIf x >= 18 And x <= 23 And y >= 12
13、5 * (x - 10) And y <= (250 / 7) * (x - 16 / 5) Then MsgBox "您选择的类型为D型!" ElseIf x >= 18 And x <= 23 And y >= (250 / 7) * (x - 16 / 5) And y <= (500 / 9) * (x - 0.8) Then MsgBox "您选择的类型为C型!" ElseIf x >= 23 And x <= 37 And y >= (250 / 7) * (x - 16 / 5)
14、 And y <= 2450 Then MsgBox "您选择的类型为C型!" ElseIf x >= 23 And x <= 37 And y <= (250 / 7) * (x - 16 / 5) And y >= 12.5 * (x - 10) Then MsgBox "您选择的类型为D型!" ElseIf x >= 23 And x <= 46 And y >= 100 And y <= 12.5 * (x - 10) Then MsgBox "您选择的类型为E型!"
15、 ElseIf x >= 37 And x <= 46 And y >= 12.5 * (x - 10) And y <= 1500 Then MsgBox "您选择的类型为D型!" ElseIf x >= 37 And x <= 70 And y >= 1500 And y <= 2450 Then MsgBox "您选择的类型为C型!" ElseIf x >= 46 And x <= 85 And y >= 12.5 * (x - 10) And y <= 1500 Then
16、 MsgBox "您选择的类型为D型!" ElseIf x >= 46 And x <= 85 And y >= 100 And y <= (25 / 6) * (x - 22) Then MsgBox "您选择的类型为F型!" ElseIf x >= 46 And x <= 85 And y <= 12.5 * (x - 10) And y >= (25 / 6) * (x - 22) Then MsgBox "您选择的类型为E型!" ElseIf x >= 85 And
17、 x <= 210 And y >= 100 And y <= (25 / 6) * (x - 22) Then MsgBox "您选择的类型为F型!" ElseIf x >= 85 And x <= 210 And y >= (25 / 6) * (x - 22) And y <= 1100 Then MsgBox "您选择的类型为E型!" ElseIf x >= 85 And x <= 220 And y >= 1100 And y <= 1500 Then
18、 MsgBox "您选择的类型为D型!" ElseIf x >= 220 And x <= 380 And y >= 700 And y <= 1100 Then MsgBox "您选择的类型为E型!" ElseIf x >= 220 And x <= 800 And y >= 100 And y <= 700 Then MsgBox "您选择的类型为F型!" Else: MsgBox "您选择的点不在所规定的范围之内,请重新输入!" End If End Sub 四. 运行结果截图 五.小结 通过此次作业我学会了如使用Visual Basic编程实现一些简单的数据查找功能,同时,因为图表中的分段很多,做题的时候也使我体会到了耐心和细心的重要性。






