Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №5 ТКС-12б (преобразование...doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
715.78 Кб
Скачать

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

Преобразование одномерных массивов”

Цель работы: Освоение методов удаления и вставки, сортировки и преобразования одномерных массивов, разработки на их основе алгоритмов, построения и отладки программ.

1. Теоретическая часть

1.1 Основные алгоритмы преобразования одномерных массивов.

1.1.1 Алгоритм удаления элемента из массива

Блок-схема алгоритма удаления элемента с номером M из массива A, в котором N элементов выглядит следующим образом:

Соответствующий фрагмент текста программы на языке Pasal:

for i:=M to N–1 do A[i]:=A[i+1];

N:= N–1;

1.1.2 Алгоритм удаления из массива серии элементов с заданными номерами

Блок-схема алгоритма удаления серии элементов с номерами от M1 до M2 из массива A, в котором N элементов, выглядит следующим образом:

Соответствующий фрагмент текста программы на языке Pasal:

k:=M2-M1+1;

for i:=M1 to N–k do A[i]:=A[i+k];

N:= N–k;

1.1.3 Алгоритм удаления из массива элементов с заданным значением

Блок-схема алгоритма удаления всех элементов, равных заданному значению X, из массива A, в котором N элементов, выглядит следующим образом:

Соответствующий фрагмент текста программы на языке Pasal:

i:=1;

while i<=N do

begin

if A[i]=X

then begin

for j:=i to N-1 do A[j]:=A[j+1];

N:=N-1;

end

else i:=i+1;

end;

1.1.4 Алгоритм копирования элементов массива в новый массив

Блок-схема алгоритма копирования элементов, удовлетворяющих заданному условию (в данном случае – элементов, значение которых больше, чем X), из массива A, в котором N элементов, в массив B выглядит следующим образом:

В результате массив B будет содержать K элементов.

Соответствующий фрагмент текста программы на языке Pasal:

K:=0;

for i:=1 to N do

begin

if A[i]>X

then begin

K:=K+1;

B[K]:=A[i];

end;

end;

1.1.5 Алгоритм вставки нового элемента в массив

Блок-схема алгоритма вставки элемента с номером M, равного X, в массив A, который содержит N элементов, выглядит следующим образом:

Соответствующий фрагмент текста программы на языке Pasal:

N:=N+1;

for i:=N downto M+1 do A[i]:=A[i-1];

A[M]:=X;

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

Блок-схема алгоритма упорядочения по возрастанию элементов массива A, состоящего из N элементов, методом «пузырька» выглядит следующим образом: и

Соответствующий фрагмент текста программы на языке Pasal:

for i:=1 to N-1 doёёёёёёёёёёё

begin

for j:=1 to N-i do

begin

if A[j] > A[j+1]

then begin

P:=A[j];

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

A[j+1]:=P;

end;

end;

end;

Алгоритм упорядочения элементов массива по убыванию отличается только знаком в условии сравнения соседних элементов, в этом случае необходимо проверять Aj < Aj+1.

1.1.7 Алгоритм вставки элемента в упорядоченный массив

Блок-схема алгоритма вставки элемента, равного X, в упорядоченный массив A, который содержит N элементов, без нарушения упорядоченности массива выглядит следующим образом:

Соответствующий фрагмент текста программы на языке Pasal:

if X>=A[N] then A[N+1]:=X

else begin

K:=1;

while X>A[K] do K:=K+1;

for i:=N downto K do A[i+1]:=A[i];

A[K]:=X;

end;

N:=N+1;