Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка курс прог ЯВУдлястудентов.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
514.56 Кб
Скачать

4.Обработка одномерных массивов данных

4.1.Подготовка к работе

По указанной литературе и методическим указаниям к данной работе изучить порядок работы. Ответить на контрольные вопросы.

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

  1. Что такое массив?

  2. Как определить местоположение элемента в массиве?

  3. Что такое индекс? Каким требованиям он должен удовлетворять?

  4. Особенности расположения элементов массива в памяти ЭВМ. Особенности расположения в памяти элементов многомерных массивов.

  5. Общие и отличительные черты одномерных, двумерных и n-мерных массивов.

  6. В каких операциях могут участвовать массивы и какие к ним предъявляются требования?

  7. Каким образом в Паскале задаётся обращение к элементу массива?

  8. Что называется инициализацией массива, и зачем она применяется?

  9. Что называется сортировкой массива? Какие методы сортировки вы знаете.

  10. Что вы понимаете под поиском элемента в массиве?

  11. Что называется главной (побочной) диагональю матрицы? Что такое транспонирование матрицы?

4.3.Задание для индивидуальной работы

Нечетные варианты задания выполнять модифицированным методом простого выбора, а четные - методом парных перестановок (метод пузырька).

Вариант 1-2.

Дана последовательность а1, а2, ... ,а20. Расположить положительные элементы последовательности, стоящие на нечетных местах по возрастанию.

Вариант 3-4.

Дана последовательность а1, а2, ... ,а15. Расположить ненулевые элементы последовательности по убыванию.

Вариант 5-6.

Дана последовательность а1, а2, ... ,а20. Элементы, стоящие на нечетных местах, расположить в порядке возрастания, а на - четных в порядке убывания.

Вариант 7-8.

Дана последовательность а1, а2, ... ,а15. Требуется упорядочить ее по возрастанию абсолютных значений элементов

Вариант 9-10.

Дана последовательность а1, а2, ... ,а20. Требуется расположить отрицательные элементы последовательности в порядке убывания.

Вариант 11-12.

Дана последовательность а1, а2, ... ,а20. Расположить положительные элементы последовательности по убыванию.

Вариант 13-14.

Дана последовательность а1, а2, ... ,а15. Расположить отрицательные элементы по возрастанию.

Вариант 15-16.

Дана последовательность а1, а2, ... ,а15. Расположить элементы на четных местах по убыванию.

Вариант 17-18.

Дана последовательность а1, а2, ... ,а15. Расположить четные элементы последовательности по возрастанию.

Вариант 19-20.

Дана последовательность а1, а2, ... ,а20. Расположить нечетные элементы последовательности по убыванию.

Вариант 21-22.

Дана последовательность а1, а2, ... ,а15. Расположить четные положительные элементы по возрастанию.

Вариант 23-24.

Дана последовательность а1, а2, ... ,а20. Расположить нечетные отрицательные элементы по убыванию.

Вариант 25.

Дана последовательность а1, а2, ... ,а20. Расположить отрицательные элементы последовательности, стоящие на четных местах по убыванию.

4.4.Пример выполнения задания

Имеется массив A, содержащий n элементов. Разместить элементы массивы в порядке возрастания их значений.

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

Рис. 3.1. Схема алгоритма сортировки методом пузырька.

Текст программы имеет следующий вид:

{Цель: сортировка элементов одномерного массива в порядке }

{ возрастания их значений }

{Метод: сортировка методом пузырька. }

{Переменные:a-исходный массив }

{ n-количество элементов }

{ i,k-параметры циклов }

{ x-вспомогательная переменная }

Program Sort;

Const

Nmax=100;

var

a: array [1..Nmax] of real;

i, k, n: integer;

x: real;

Begin

writeln('Задайте количество элементов массива');

Read(n);

WriteLn('введите ', n, 'чисел');

for i:=1 to n do

Read(a[i]);

Writeln;

{печать массива}

Writeln('исходный массив:');

for i:=1 to n do

Write(a[i]:7:2);

Writeln;

{ сортировка массива}

for i:=1 to n-1 do

begin

for k:=i downto 1 do

if a[k]>a[k+1]

then

begin

x:=a[k];

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

a[k+1]:=x;

end;

end;

{вывод результата}

Writeln('отсортированный массив');

for i:=1 to n do

Write(a[i]:7:2);

Writeln;

End.