1. Создать новый проект и установить на форме компоненты и изменить значения свойств в соответствии с таблицей:
Button1
| Caption
| Изменить
|
Top
|
|
Left
|
|
Button1
| Caption
| Сортировать
|
Top
|
|
Left
|
|
Timer1
| Interval
|
|
Label1
| Top
|
|
Left
|
|
Color
| clBlue
|
Width
|
|
Height
|
|
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. Результат показать преподавателю.