Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание на практику П2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
88 Кб
Скачать
☆

Процедура GetTime.

В Паскале есть стандартная процедура модуля Dos – GetTime (выполнить её в Pascal ABC не получится – т.к. в нём нет модуля Dos).

Она узнаёт, сколько времени в момент её выполнения.

Вот её объявление:

procedure GetTime(var Hour, Minute, Second, Hund: word);

Её параметрами должны быть обязательно переменные. После её выполнения в этих переменных будет содержаться время того момента, когда выполнится эта процедура:

Hour - Час (значение от 0 до 23)

Minute - Минута (значение от 0 до 59)

Second - Секунда (значение от 0 до 59)

Hund - Сотая часть секунды (значение от 0 до 99)

Используя эту процедуру, мы можем занести в переменные время до выполнения нужного нам действия, и в другие переменные время после выполнения нужного нам действия.

После этого можно посчитать разницу во времени, и эта разница будет длительностью выполнения замеряемого действия.

Участок кода:

GetTime(hour,min,sec,hund); //определяем время начала программы

writeln(hour,':',min,':',sec,':',hund);

t1:=sec*100+min*6000+hund;

…………………………………

{Программа сортировки}

…………………………………

GetTime(hour,min,sec,hund); //время окончания

writeln(hour,':',min,':',sec,':',hund);

t2:=sec*100+min*6000+hund;;

t:=t2-t1; //прошло времени

Методы сортировки Сортировка "пузырьком"

Расположим массив сверху вниз, от нулевого элемента - к последнему.

Идея метода: шаг сортировки состоит в проходе снизу вверх по массиву.

По пути просматриваются пары соседних элементов.

Если элементы некоторой пары находятся в неправильном порядке,

то меняем их местами.

После нулевого прохода по массиву "вверху" оказывается самый "легкий"

элемент - отсюда аналогия с пузырьком. Следующий проход делается до

второго сверху элемента, таким образом второй по величине элемент

поднимается на правильную позицию...

Делаем проходы по все уменьшающейся нижней части массива до тех пор,

пока в ней не останется только один элемент. На этом сортировка

заканчивается, так как последовательность упорядочена по возрастанию.

Метод простых вставок

Сортировка простыми вставками в чем-то похожа на вышеизложенные

методы.

Аналогичным образом делаются проходы по части массива, и аналогичным

же образом в его начале "вырастает" отсортированная

последовательность...

Однако в сортировке пузырьком или выбором можно было четко заявить,

что на i-м шаге элементы a[0]...a[i] стоят на правильных местах и никуда

более не переместятся. Здесь же подобное утверждение будет более

слабым: последовательность a[0]...a[i] упорядочена.

При этом по ходу алгоритма в нее будут вставляться (см. название метода)

все новые элементы.

Будем разбирать алгоритм, рассматривая его действия на i-м шаге.

Как говорилось выше, последовательность к этому моменту разделена

на две части: готовую a[0]...a[i] и неупорядоченную a[i+1]...a[n].

На следующем, (i+1)-м каждом шаге алгоритма берем a[i+1] и вставляем

на нужное место в готовую часть массива.

Поиск подходящего места для очередного элемента входной

последовательности осуществляется путем последовательных сравнений с

элементом, стоящим перед ним.

В зависимости от результата сравнения элемент либо остается на текущем

месте(вставка завершена), либо они меняются местами и процесс

повторяется.

Таким образом, в процессе вставки мы "просеиваем" элемент x к

началу массива, останавливаясь в случае, когда

  1. Hайден элемент, меньший x или

  2. Достигнуто начало последовательности.