VERSION 5.00 Begin VB.Form Form3 BackColor = &H80000003& Caption = "График зависимости времени методов сортировки от количества элементов массива." ClientHeight = 7635 ClientLeft = 3135 ClientTop = 2730 ClientWidth = 7395 LinkTopic = "Form2" ScaleHeight = 7635 ScaleWidth = 7395 Begin VB.PictureBox Picture2 BackColor = &H80000013& Height = 255 Left = 840 ScaleHeight = 195 ScaleWidth = 6075 TabIndex = 3 Top = 6720 Width = 6135 End Begin VB.PictureBox Picture1 BackColor = &H80000013& Height = 5175 Left = 840 ScaleHeight = 5115 ScaleWidth = 6075 TabIndex = 0 Top = 960 Width = 6135 End Begin VB.Label Label5 BackColor = &H80000003& Caption = "n - количество элементов массива" Height = 255 Left = 3360 TabIndex = 6 Top = 480 Width = 2775 End Begin VB.Label Label4 BackColor = &H80000003& Caption = "t - время сортировки массива" Height = 255 Left = 3360 TabIndex = 5 Top = 120 Width = 2655 End Begin VB.Label Label3 BackColor = &H80000003& Caption = "Состояние построения:" Height = 255 Left = 840 TabIndex = 4 Top = 6360 Width = 1815 End Begin VB.Label Label2 BackColor = &H80000003& Caption = "Метод простых вставок" Height = 255 Left = 1200 TabIndex = 2 Top = 480 Width = 1815 End Begin VB.Label Label1 BackColor = &H80000003& Caption = "Метод пузырька" Height = 255 Left = 1200 TabIndex = 1 Top = 120 Width = 1335 End Begin VB.Shape Shape2 BackColor = &H80000004& FillColor = &H000000FF& FillStyle = 0 'Solid Height = 135 Left = 960 Top = 480 Width = 135 End Begin VB.Shape Shape1 FillColor = &H00FF0000& FillStyle = 0 'Solid Height = 135 Left = 960 Top = 120 Width = 135 End Begin VB.Menu mnuF Caption = "Файл" Begin VB.Menu mnuM Caption = "Строить график" End End End Attribute VB_Name = "Form3" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Dim am(5000) As Integer Dim b(5000) As Integer Dim c(5000) As Integer Dim I, J, k, n, aTmp As Integer Private Sub mnuM_Click() Dim nach, nach_kon, k As Double Picture2.BackColor = vbBlue Picture2.ForeColor = vbWhite Picture2.Print " Построение графика " Randomize For I = 500 To 5000 am(I) = Rnd * 9 Next Kill (CurDir + "\Rezultat.txt") File = CurDir + "\Rezultat.txt" Open File For Append As #1 Print #1, "Число элементов массива "; " Метод пузырька "; " Метод простых вставок" Print #1, "" Close #1 Picture1.Scale (-2, 7)-(7, -2) Picture1.Line (0, 7)-(0, -2) Picture1.Line (-2, 0)-(7, 0) Picture1.DrawWidth = 3 Picture1.CurrentX = -0.5 Picture1.CurrentY = -0.5 Picture1.Print 0 Picture1.CurrentX = -0.7 Picture1.CurrentY = 7 Picture1.Print "t,c" Picture1.CurrentX = 6.5 Picture1.CurrentY = -0.5 Picture1.Print "n" For k = 1 To 5 Picture1.PSet (k, 0) Picture1.PSet (0, k) If k <= 5 Then Picture1.CurrentX = k - 0.5 Picture1.CurrentY = -0.5 Picture1.Print k * 1000 Picture1.CurrentX = -0.8 Picture1.CurrentY = k Picture1.Print k Else Picture1.CurrentX = k - 0.5 Picture1.CurrentY = -0.5 Picture1.Print k * 1000 End If Next Picture1.DrawWidth = 1 For I = 1 To 5000 b(I) = am(I) c(I) = am(I) Next For n = 500 To 5000 Step 50 ' Простые вставки nach = Timer I = 1 Do J = 0 Do If b(I) >= b(J) Then k = I Tmp = b(I) Do b(k) = b(k - 1) k = k - 1 Loop Until Not k > J b(J) = Tmp J = I Else J = J + 1 End If Loop Until Not J < I I = I + 1 Loop Until Not I <= n Vrem_Vstavok = Timer - nach Picture1.DrawWidth = 2 Picture1.PSet (n / 1000, Vrem_Vstavok), vbRed kon_nach = Timer '''Пузырек For I = 0 To n For J = I + 1 To n If am(I) < am(J) Then a = am(I) am(I) = am(J) am(J) = a End If Next Next Vrem_Pyzirek = Timer - kon_nach n = n - 1 Picture1.PSet (n / 1000, Vrem_Pyzirek), vbBlue File = CurDir + "\Rezultat.txt" Open File For Append As #1 If n >= 1000 Then p = " " Else p = " " Print #1, n; Print #1, p; Print #1, Format(Vrem_Vstavok, "0.0000000"); If n >= 1000 Then p = p + " " Print #1, p; Print #1, Format(Vrem_Pyzirek, "0.0000000") Print #1, "" Close #1 Next n Picture2.Cls Picture2.BackColor = vbRed Picture2.ForeColor = vbWhite Picture2.Print " Построение графика завершено" End Sub