Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shporgalka_informatika ANT I.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.54 Mб
Скачать

18 Вопрос алгоритм упорядочивания элементов одномерного массива

Алгоритм упорядочения массива методом “Пузырька”

Действия по упорядочению некоторых данных по ключу называются процессом сортировки. Очевидно, что с отсортированными данными работать легче и быстрее, чем с произвольно расположенными. Все применения ЭВМ основаны на их способности к быстрой и точной обработке больших объемов информации, а это возможно только тогда, когда информация однородна и отсортирована. Существует довольно много различных методов сортировки, отличающихся друг от друга степенью эффективности, под которой понимается количество сравнений и количество обменов, произведенных в процессе сортировки, время выполнения и объем занимаемой ОП. Рассмотрим сортировку методом “Пузырька”, которая легко описывается в форме четких алгоритмов и приводит к простой программной реализации.

Одномерный массив A из n элементов упорядочим по возрастанию. При пузырьковой сортировке элементы массива попарно сравниваются и более “легкие” элементы как бы всплывают на поверхность. При реализации алгоритма возникает проблема в определении количества шагов сортировки. Для решения этой задачи воспользуемся известным методом “расстановки флажков”, благодаря которому однозначно будет определен момент завершения сортировки и выхода из цикла (блок 5).

В качестве “флажка” возьмем числовую переменную F и присвоим ей произвольное начальное значение отличное от нуля (блок 4). Схема алгоритма на рис. 5. По парное сравнивание элементов и их обмен местами происходит в блоках 9-12, здесь же изменяется значение флажка (блок 13). В случае, когда все элементы массива будут упорядочены, значение F останется равным нулю (блок 6). Блоки 3 и 15 являются укрупненными, т.к. алгоритмы ввода и вывода элементов массива подробно не описаны на схеме (Рис. 5).

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

19 Вопрос алгоритм вычисления суммы элементов двумерного массива

Сумма элементов двумерного массива

Алгоритм решения задачи: 

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

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

В программе ниже находится сумма всех элементов массива (переменная sum), а также сумма элементов, составляющих столбцы таблицы (двумерного массива). Для хранения сумм столбцов чисел используется одномерный массив (s).

Программа на языке Паскаль: 

const

m = 5;

n = 4;

 

var

a: array[1..m,1..n] of byte;

s: array[1..n] of byte;

i,j, sum: byte;

 

begin

randomize;

 

for i := 1 to m do begin

for j := 1 to n do begin

a[i,j] := random(10);

write (a[i,j]:3)

end;

writeln

end;

 

writeln ('------------');

 

for j := 1 to n do begin

for i := 1 to m do begin

s[j] := s[j] + a[i,j];

sum := sum + a[i,j]

end;

write (s[j]:3)

end;

 

write (' | sum = ', sum);

 

readln

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]