Задание 6 Параграф 2.4 ГДЗ Босова 9 класс 2017 (Информатика)
Рассмотрим вариант решения задания из учебника Босова 9 класс, Бином: 6. Видоизмените программу сортировки массива выбором так, чтобы в ней использовалась процедура выбора наибольшего элемента массива. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 9 bosova9 2-4/6 938
Чтобы сортировка выбором выполнялась по убыванию, в процедуре поиска нужно выбирать не наибольший, а наименьший элемент массива. Тогда на каждом шаге в начало неотсортированной части массива будет ставиться минимальный элемент, и массив получится упорядоченным по убыванию.
program sortmass_vibor;
const
n = 10;
type
aa = array[1..n] of integer;
var
i, j, imin, x: integer;
a, b: aa;procedure min(b: aa; g: integer; var imin: integer);
var
j: integer;
begin
imin := g;
for j := g + 1 to n do
if b[j] < b[imin] then imin := j;
end;begin
randomize;
for i := 1 to n do
a[i] := random(100);
writeln(‘Исходный массив’);
for i := 1 to n do
write(a[i], ‘ ‘);
for i := 1 to n — 1 do
begin
min(a, i, imin);
x := a[i];
a[i] := a[imin];
a[imin] := x
end;
writeln;
writeln(‘Отсортированный по убыванию массив’);
for i := 1 to n do
write(a[i], ‘ ‘);
end.
Если же в процедуре нужно именно выбирать наибольший элемент, то сортировка будет выполняться по возрастанию: достаточно заменить условие сравнения на $$b[j] > b[jmax]$$.
Ответ: для сортировки по убыванию в процедуре выбора нужно искать минимальный элемент; если использовать процедуру выбора наибольшего элемента, массив будет сортироваться по возрастанию.