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

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

1. Как можно описать следующий массив?

3,14

0,2

-9,1

2,17

1,7

-0,25

-2,5

77

0

  1. a: array[1..3,1..3] of real.

  2. a: array[1..50,1..50] of real.

  3. a: array[1..3,1..] of integer.

  4. a: array[1..3,1..3] of byte.

2. В какой ячейке находится элемент d[2,6] ?

  1. Во втором столбце и шестой строке.

  2. Во второй строке и шестом столбце.

  3. В строке с номером 2,6.

  4. В столбце с номером 2,6.

3. Каким образом выведется массив на экран монитора?

for i:=1 to n do

begin

for j:=1 to m do

write (a[i, j]:3);

writeln;

end;

  1. По столбцам.

  2. По строкам.

  3. По строкам и столбцам.

  4. Ничего не выведется.

4. Сколько элементов находится в массиве х(4;7):

  1. 4.

  2. 7.

  3. 11.

  4. 28.

  5. Пустой массив.

Лабораторная работа № 10

Сортировка массивов

Цель работы – овладение практическими навыками сорти­ровки массивов различными способами.

Теоретические сведения

Сортировка элементов массива

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

Выделяют несколько методов сортировки:

  • линейная сортировка (сортировка отбором);

  • метод пузырька;

  • метод быстрой сортировки с разделением.

Метод линейной сортировки

Идея линейной сортировки по не возрастанию (убыванию) заключается в том, чтобы последовательно просматривая весь массив, отыскать наибольшее число и поместить его на первую позицию, обменяв его с элементом, который ранее занимал первую позицию. Затем просматриваются все остальные элементы массива, и выполняется аналогичная операция по отбору из рассматриваемой части массива максимального элемента и обмену местами этого элемента и первого в рассматриваемой части и т.д.

Фрагмент программы:

for i:=1 to n-1 do {Изменять размер неотсортированной части массива}

for j:=i+1 to n do {Сравниваем поочередно i-й элемент неотсортированной части массива

со всеми от i+1 – го элемента до конца}

begin

if a[i] < a[j ] then {Если в неотсортированной части массива нашли элемент,

больший, чем i-й , то обменять их местами}

begin

k:=a[i];

a[i]:= a[j];

a[j]:= k;

end;

end;

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

Один из самых популярных методов сортировки – «пузырьковый» метод основан на том, что в процессе исполнения алгоритма более «легкие» элементы массива постепенно «всплывают». Особенностью данного метода является сравнение не каждого элемента со всеми, а сравнение в парах соседних элементов. Алгоритм пузырьковой сортировки по убыванию состоит в последовательных просмотрах снизу вверх (от начала к концу) массива. Если соседние элементы таковы, что выполняется условие, согласно которому элемент справа больше элемента слева, то выполняется обмен значениями этих элементов.

Фрагмент программы:

for i:=2 to n do {Сортировка «пузырьковым» методом по невозрастанию}

for j:=n downto i do

begin

if a[j] < a[j+1 ] then {Если элемент справа больше элемента слева, т

о «вытеснить» его влево – пузырек «всплывет»}

begin

k:=a[j];

a[j]:= a[ j+1];

a[j+1]:= k;

end;

end;