ДАЮ 80 БАЛОВ!!!!! Задания 5 и 6
Информатика 9 класс​

Приложения:

Ответы

Ответ дал: championovanexus
1

Задание 5

Код:

var a, b, c: integer;

procedure swap(var x, y: integer);

var m: integer;

begin

 m := x;

 x := y;

 y := m;

end;

begin

 writeln('Enter the values of a, b, and c: ');

 readln(a, b, c);

 if a > b then swap(a, b);

 if a > c then swap(a, c);

 if b > c then swap(b, c);

 writeln('The values in ascending order: ');

 writeln(a, ' ', b, ' ', c);

end.


Объяснение:

Эта программа начинается с чтения значений a, b и c от пользователя. Затем она использует серию if-заявлений с процедурой swap для сортировки значений в порядке возрастания. Наконец, она печатает отсортированные значения.

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

Задание 6

Код:

program sortArrayBySelection;

const

N = 5;

var

arr: array[1..N] of integer;

i, j, maxIndex, temp: integer;

procedure findMax(var maxIndex: integer);

var

i: integer;

begin

maxIndex := 1;

for i := 2 to N do

if arr[i] > arr[maxIndex] then

maxIndex := i;

end;

begin

writeln('Enter ', N, ' values:');

for i := 1 to N do

read(arr[i]);

for i := N downto 2 do

begin

findMax(maxIndex);

if i <> maxIndex then

begin

temp := arr[i];

arr[i] := arr[maxIndex];

arr[maxIndex] := temp;

end;

end;

writeln('Sorted array:');

for i := 1 to N do

write(arr[i], ' ');

writeln;

end.

Примечание: Эта программа сортирует массив в порядке убывания. Если вы хотите отсортировать его по возрастанию, вам следует изменить оператор сравнения в процедуре "findMax" с ">" на "<".


Объяснение:

Данная программа сортирует массив с использованием метода сортировки выбором.

В начале программы объявлена константа N, которая определяет размер массива, и массив arr с типом integer. Также объявлены переменные i, j, maxIndex и temp, которые будут использоваться в дальнейшем.

Затем определяется процедура findMax, которая находит индекс наибольшего элемента массива. В цикле for, который идет от 2 до N, сравнивается значение текущего элемента с значением элемента, находящегося по индексу maxIndex. Если текущий элемент больше, то обновляется значение maxIndex.

В основном блоке программы идет цикл for, который идет от N до 2. Внутри цикла вызывается процедура findMax, чтобы найти индекс наибольшего элемента массива. Если индекс наибольшего элемента не равен i

Надеюсь я помог!!!



itsnelya08: спасибо
Вас заинтересует