资源描述
第一次作业 程序化线图处理
一.题目
线图的程序化处理:
上机:将下图编程实现(大作业)
二.解题思路
本线图为分区域线图,对功率和转速需要进行分段讨论,采用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编程实现功能。
三. 程序代码
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.Text) 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 <= 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
MsgBox "您选择的类型为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 >= (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 Then
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 <= 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 / 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
MsgBox "您选择的类型为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 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
MsgBox "您选择的类型为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.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) 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型!"
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
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 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
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编程实现一些简单的数据查找功能,同时,因为图表中的分段很多,做题的时候也使我体会到了耐心和细心的重要性。
展开阅读全文