Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обзорки Информатика.doc
Скачиваний:
17
Добавлен:
27.10.2018
Размер:
2.87 Mб
Скачать

3 Этап Составление программ

Самостоятельное составление программ и решение задач.

20. Методика введение понятия о методах сортировки табличной информации

1 Этап Подготовительный

Существуют различные методы сортировки. Будем рассматривать каждый из методов на примере задачи сортировки по возрастанию массива из N целых чисел.

Сортировка обменом (методом "пузырька")

Идея метода заключается в том, что последовательно сравниваются пары соседних элементов массива. Если они располагаются не в том порядке, то совершаем перестановку, меняя местами пару соседних элементов. После одного такого прохода на последнем месте номер N окажется максимальный элемент ("всплыл" первый "пузырек"). Следующий проход должен рассматривать элементы до предпоследнего и так далее. Всего требуется N-1 проход. Вычислительная сложность сортировки обменом O(N*N).

Сортировка выбором

Идея метода заключается в том, что находится максимальный элемент массива и меняется местами с последним элементом (с номером N). Затем, максимум ищется среди элементов с первого до предпоследнего и ставится на N-1 место, и так далее. Необходимо найти N-1 максимум. Можно искать не максимум, а минимум и ставить его на первое, второе и так далее место. Также применяют модификацию этого метода с одновременным поиском максимума и минимума. В этом случае количество шагов внешнего цикла N div 2.

Вычислительная сложность сортировки выбором - величина порядка N*N, что обычно записывают как O(N*N). Это объясняется тем, что количество сравнений при поиске первого максимума равно N-1. Затем N-2, N-3, и так далее до 1, итого: N*(N-1)/2.

2 Этап Работа с готовыми программами

Обработка массивов

1.Сортировка методом «пузырька»

Private Sub SortPuz(ByVal p As Long, ByVal M() As Integer)

Dim i As Long, j As Long, temp As Integer

For i = 0 To p - 1

For j = 0 To p - i

If M(j) > M(j + 1) Then

temp = M(j)

M(j) = M(j + 1)

M(j + 1) = temp

End If

Next j

Next i

End Sub

2.Сортировка выбором

Private Sub SortVibor(ByVal p As Long, ByVal M() As Integer)

Dim i As Long, Max As Long, temp As Integer

For i = 0 To p - 1

Max = IndMax(p - i + 1, M)

temp = M(Max)

M(Max) = M(p - i + 1)

M(p - i + 1) = temp

Next i

End Sub

Private Function IndMax(ByVal p As Long, ByVal M() As Integer) As Long

Dim i As Long

IndMax = 0

For i = 1 To p

If M(i) > M(IndMax) Then IndMax = i

Next i

End Function

3 Этап Составление программ

Самостоятельное составление программ и решение задач.

21.Методика введения понятия “Файлы”

1 Этап Подготовительный

1.Файл – это поименованная область памяти на диске. Для работы с файлами в VB .Net используется пространство имён System.IO.

2.Visual Basic поддерживает 2 типа файлов: ASCII-файлы и двоичные файлы, и 2 способа доступа к файлам: последовательный и произвольный. Наиболее часто используются ASCII-файлы с последовательным доступом к файлу.

3.Открытие файла для чтения:

Dim path As String = "mushroomer.txt" ' имя файла

Dim fileinfo = New FileInfo(Path) ' объявляем новый экземпляр файла

Dim streamreader As StreamReader = fileinfo.OpenText() ' Открываем файл для чтения

4.Чтение данных из файла:

Do

N = N + 1 'Увеличение счетчика на 1

sText = streamreader.ReadLine()

……………………

Loop Until sText = "" 'Проверка на пустую строку

5.Запись данных в файл:

Dim Pathw = "mushroomer1.txt" ' имя файла

Dim fileinfow = New FileInfo(Pathw) ' объявляем новый экземпляр файла

Dim streamwriter As StreamWriter = fileinfow.AppendText() ' Открываем файл для записи

For i = 1 To N - 1

streamwriter.WriteLine(X(i) & " " & Y(i)) ' Добавляем строку в файл

Next

5.Закрытие файла:

streamreader.Close()

streamwriter.Close()