Пузырьковая сортировка (простой обмен) — КиберПедия 

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Пузырьковая сортировка (простой обмен)

2019-12-27 137
Пузырьковая сортировка (простой обмен) 0.00 из 5.00 0 оценок
Заказать работу

1. i=1;

2. Сравнить попарно и, при нарушении упорядоченности, поменять местами элементы Ai и Ai+1, Ai+1 и Ai+2,... An-1 и An

3. i=i+1

4. Если i<=N, то повторить с п.2.

Простые вставки ( добавление нового элемента в массив, не нарушая его упорядоченности )

1. Задать значение X;

2. i=1;

3. Найти место для Х, когда выполняется  Ai<=X<= Ai+1;

4. Выполнить сдвиг элементов Ai+1 Ai+2 … An вправо;

5. Поставить значение Х на нужное место (Ai+1 =X).

Постановка задачи: Разработать приложение, реализующее пузырьковую сортировку элементов одномерного массива. Предусмотреть визуализацию алгоритма сортировки через использование массива объектов. Объекты массива имеют различную высоту, каждая из которых соответствует значению элемента массива данных.

Порядок выполнения

1. Создать новый проект и установить на форме компоненты и изменить значения свойств в соответствии с таблицей:

Button1

Caption Изменить
Top 220
Left 15

Button1

Caption Сортировать
Top 220
Left 150
Timer1 Interval 0

Label1

Top 25
Left 30
Color clBlue
Width 15
Height 100
Name Palka
Visible False

2. Объявить массив данных и массив объектов:

mas: Array[1..15] of Integer;

zabor: Array[1..15] of TLabel;

a,b, i: Integer;

3. Для формы выбрать событие Create и ввести код:

For i:=1 to 15 Do   Begin

zabor[i]:= TLabel.Create(palka);

zabor[i].Parent:= Form1;

zabor[i].Left:=i*30;

zabor[i].Top:=palka.Top;

zabor[i].Visible:=true;

zabor[i].Width:=palka.Width;

zabor[i].Height:=palka.Height;

zabor[i].Color:=palka.Color;

end;

b:=0; //количество упорядоченных элементов

a:=1;//номер элемента, с которого начинается сравнение пар

4. Для кнопки Изменить ввести код:

Randomize;

For i:=1 To 15 Do

Begin

zabor[i].Height:=random(200)+10;

mas[i]:=zabor[i].Height;

end;

5. Для кнопки Сортировать ввести код

timer1.Interval:=1000;

6. Для таймера ввести код:

Var

c: integer;

Begin

For i:=a to 14 do

If mas[i]>mas[i+1] then

Begin

c:=mas[i];

mas[i]:=mas[i+1];

mas[i+1]:=c;

zabor[i].Height:=mas[i];

zabor[i+1].Height:=mas[i+1];

a:=i+1;

exit;

end;

a:=1;

b:=b+1;

if b>14 then timer1.Interval:=0;

End;

7. Проверить работу приложения.

8. Модернизировать приложение:

  • вывести сообщение об окончании сортировки;
  • создать еще один массив меток для вывода значений элементов массива;
  • добавить две радиокнопки и внести изменения в программу для выбора режима сортировки: по возрастанию и по убыванию.

9. Результат показать преподавателю.

 

Задания для самостоятельного выполнения

Задание №1

Модернизировать разработанное приложение: первую половину массива сортировать по возрастанию, а вторую половину массива по убыванию.

Задание №2

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

Задание №3

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

Задание №4

Разработать приложение, реализующее сортировку элементов массива объектов по цвету. Используйте функцию RGB(n1,n2,n3) для свойства Color, где n1, n2, n3 случайные числа от 0 до 255.

Кнопка Изменить должна переопределять цвет элементов массива объекта.

Задание №5

Разработать приложение, реализующее сортировку элементов массива объектов по алфавиту значений свойства Caption. Кнопка Изменить должна переопределять значение свойства Caption (случайный символ: буква русского алфавита).

 

Контрольные вопросы

1. Зачем нужна сортировка?

2. Какие виды сортировки бывают?

3. Какое основное требование предъявляется к сортировке?


ПРАКТИЧЕСКАЯ РАБОТА № 8

 

Тема Использование звука и видео в приложениях.

Цель работы Получить навыки использования медиаплеера при проектировании приложений.

Пояснения к работе

Компонент MediaPlayer (рис.1), значок которого находится на вкладке System, позволяет воспроизводить видеоролики, звук и сопровождаемую звуком анимацию.

Рис. 1

В результате добавления к форме компонента MediaPlayer на форме появляется группа кнопок (рис. 2), подобных тем, которые можно видеть на обычном аудио- или видеоплеере. Назначение этих кнопок пояснено в таблице 1.

Рис. 2. Компонент MediaPlayer

Таблица 1 Кнопки компонента MediaPlayer

Кнопка Обозначение Действие
Воспроизведение btPlay Воспроизведение звука или видео
Пауза btPause Приостановка воспроизведения
Стоп btStop Остановка воспроизведения
Следующий btNext Переход к следующему кадру
Предыдущий btPrev Переход к предыдущему кадру
Шаг btStep Переход к следующему звуковому фрагменту, например, к следующей песне на CD
Назад btBack Переход к предыдущему звуковому фрагменту, например, к предыдущей песне на CD
Запись btRecord Запись
Открыть/Закрыть btEject Открытие или закрытие CD-дисковода компьютера
     

 

Таблица 2. Свойства компонента MediaPiayer

Свойство Описание
Name     DeviceType     FileName   AutoOpen     Display   VisibleButtons Имя компонента. Используется для доступа к свойствам компонента и управлением работой плеера Тип устройства. Определяет конкретное устройство, которое представляет собой компонент MediaPiayer. Тип устройства задается именованной константой: dtAutoSelect — тип устройства определяется автоматически; dtVaweAudio — проигрыватель звука; dtAVivideo — видеопроигрыватель; dtCDAudio — CD-проигрыватель Имя файла, в котором находится воспроизводимый звуковой фрагмент или видеоролик Признак автоматического открытия сразу после запуска программы, файла видеоролика или звукового фрагмента Определяет компонент, на поверхности которого воспроизводится видеоролик (обычно в качестве экрана для отображения видео используют компонент Panel) Составное свойство. Определяет видимые кнопки компонента. Позволяет сделать невидимыми некоторые кнопки

 

Помимо воспроизведения звука, компонент MediaPiayer позволяет просматривать видеоролики и мультипликации, представленные как AVI-файлы (AVI — это сокращение от Audio Video Interleave, что переводится как чередование звука и видео, т. е. AVI-файл содержит как звуковую, так и видеоинформацию).


Постановка задачи

Разработать приложение, позволяющее воспроизводить звуковые файлы различных форматов, приложение должно выводить информацию о длине звукового файла, времени воспроизведения и времени, которое осталось до конца звучания файла.


Поделиться с друзьями:

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.015 с.