Algoritmizatsia_i_programmirovanie / лабораторная 3
.docМинистерство общего и профессионального образования Российской Федерации
Филиал федерального государственного бюджетного образовательного учреждения высшего профессионального образования
Уфимский государственный технический университет
Программирование и основы алгоритмизации
реализация программы Сортировки и поиска
Отчет по лабораторной работе № 3
ОНД – 220301.65 - 2.03.04 ЛР
Исполнитель:
студентка гр. АТ-10-21 Л.Р.Ишмуратова
Руководитель:
доцент, к.ф.-м.н П.В.Кузьминых
Салават 2012
Задание
Составление программы сортировки при помощи метода Шелла(модиф.) и прямого поиска.
Исходная форма с элементами контроля
Измененные свойства:
Form Form1
Caption = "Сортировка и поиск"
ClientHeight = 6570
ClientLeft = 60
ClientTop = 450
ClientWidth = 10605
LinkTopic = "Form1"
ScaleHeight = 6570
ScaleWidth = 10605
StartUpPosition = 3 'Windows Default
CommandButton Command4
Caption = "Выход"
Height = 495
Left = 8760
TabIndex = 8
Top = 5760
Width = 1695
TextBox Text1
Height = 375
Left = 8400
TabIndex = 6
Top = 2760
Width = 615
PictureBox Picture3
Height = 975
Left = 5880
ScaleHeight = 915
ScaleWidth = 2355
TabIndex = 5
Top = 840
Width = 2415
PictureBox Picture2
Height = 5415
Left = 2640
ScaleHeight = 5355
ScaleWidth = 2595
TabIndex = 4
Top = 840
Width = 2655
CommandButton Command3
Caption = "Поиск прямой"
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
Height = 615
Left = 5880
TabIndex = 3
Top = 120
Width = 2415
CommandButton Command2
Caption = "Сортировка по Шеллу(модифицированный)"
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
Height = 615
Left = 2640
TabIndex = 2
Top = 120
Width = 2655
PictureBox Picture1
Height = 5415
Left = 120
ScaleHeight = 5355
ScaleWidth = 1875
TabIndex = 1
Top = 840
Width = 1935
CommandButton Command1
Caption = "Чтение"
Name = "MS Sans Serif"
Size = 8.25
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
Height = 615
Left = 120
TabIndex = 0
Top = 120
Width = 1935
Label Label1
Caption = "Искомое значение"
Name = "MS Sans Serif"
Size = 9.75
Charset = 204
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
Height = 375
Left = 5880
TabIndex = 7
Top = 2760
Width = 2175
Текст программы:
Dim x(20) As Integer, N As Integer
Private Sub Command1_Click()
N = 0: Picture1.Cls
Open "c:\A.txt" For Input As #1
While Not EOF(1)
N = N + 1
Input #1, x(N): Picture1.Print x(N)
Wend
Close #1
End Sub
Private Sub Command2_Click()
d = (N \ 2)
s = d
q = 0
While q < s
For i = 1 To N - d
If x(i) > x(i + d) Then
m = x(i)
x(i) = x(i + d)
x(i + d) = m
End If
Next i
If d = 1 Then
q = q + 1
d = (N \ 2)
Else
d = (d \ 2)
If d <> 1 Then
If d Mod 2 = 1 Then
d = (d \ 2) + 1
End If
End If
End If
Wend
For i = 1 To N
Picture2.Print x(i)
Next i
End Sub
Private Sub Command3_Click()
k = Val(Text1.Text)
Picture3.Cls
a = 0
For i = 1 To N
If x(i) = k Then
Picture3.Print "Значение"; x(i); "найдено"
Picture3.Print "Номер позиции ="; i
a = 1
End If
Next i
If a = 0 Then Picture3.Print " Значение не найдено "
End Sub
Private Sub Command4_Click()
Unload Me
End Sub
Полученные результаты: