Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по методике и информатикеВсё в одном.doc
Скачиваний:
11
Добавлен:
25.09.2019
Размер:
1.09 Mб
Скачать
  1. Организация работы с массивами в языках программирования. Сортировка данных.

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

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

Каждому элементу массива соответствует номер, или индекс.

Для описания массива предназначено словосочетание array of (массив из).

Если в описании массива задан один индекс, массив называется одномерным, если два индекса – двумерным, если n индексов – n-мерным. Одномерные массивы обычно используются для представления векторов, а двумерные – для представления матриц.

Описание одномерного массива из целых чисел:

A: array[1..10] of integer;

Описание двумерного массива:

X: array[1..2, 1..4] of byte;

1-ый индекс – число строк, 2-ой – число столбцов.

Чтобы обратиться к элементу массива, нужно указать имя массива ив квадратных скобках номер (индекс) необходимого элемента. Например: X[1,1] – обращение к элементу, находящемуся в первой строке и первом столбце массива X.

Действия над массивами

С массивами можно работать как с единым целым. Только нужно чтобы, они имели одинаковые типы компонентов и одинаковые размерности.

A, B: array[1..100] of integer;

Сравнение массивов:

A=B (Истина, если значение каждого элемента массива А равно соответствующему значению элемента массива В)

A<>B (Истина, если хотя бы одно значение элемента массива А не равно значению соответствующего элемента массива В)

Присваивание:

А:=В (Все значения элементов массива В присваиваются соответствующим элементам массива А. Значения элементов массива В остаются неизменны)

Действия над элементами массива

1. Инициализация массива – ввод элементов в массив.

Наиболее эффективно эта операция выполняется с помощью оператора for.

Когда значения вводятся с клавиатуры:

For i:=1 to 100 do

Readln (A[i]);

Генерируется случайное число от 0 до 100:

For i:=1 to 10 do

A[i]:=Random(100);

2. Вывод массива.

Аналогично, только вместо операторов Read и Readln используются операторы Write и Writeln.

Вывод одномерного массива:

For i:=1 to 100 do

Write (A[i], ‘ ‘);

Вывод двумерного массива:

For i:=1 to 2 do

Begin

For j:=1 to 4 do

Write (A[i,j], ‘ ‘);

Writeln;

end;

3. Копированием массивов называется присваивание всех элементов одного массива всем соответствующим элементам другого массива.

С помощью оператора присваивания:

A:=D

С помощью оператора for:

for i:=1 to 4 do A[i]:=D[i];

4. Поиск элементов по заданному условию.

Осуществляется в цикле с помощью ветвления.

Пример: Найти количество нулевых элементов в массове.

n:=0;

for i:=1 to 100 do

if A[i]=0 then n:=n+1;

5. Обмен значений элементов (например, 3-го и 5-го):

c:=A[3];

A[3]:=A[5];

A[5]:=c

6. Сортировка массивов.

Сортировкой называется распределение элементов множества по группам в соответствии с определёнными правилами.

1) Линейная

10

2

4

7

1

2

10

4

7

1

1

10

4

7

2

1

4

10

7

2

1

2

10

7

4

1

2

7

10

4

1

2

4

10

7

1

2

4

7

10

Идея линейной сортировки по возрастанию (неубыванию) заключается в том, чтобы, последовательно просматривая весь массив, отыскать наименьшее число и поместить его на первую позицию, обменяв его с элементом, который ранее занимал первую позицию. Затем просматриваются все остальные элементы массива и выполняется аналогичная операция по отбору из рассматриваемой части минимального элемента и обмену местами этого элемента и первого в рассматриваемой части и т. д.

for i:=1 to n-1 do

for j:=i+1 to n do

if A[i]>A[j]

then

begin

C:=A[i];

A[i]:=A[j];

A[j]:=C;

end;

2) «Пузырьковый» метод сортировки основан на том, что более «лёгкие» элементы массива постоянно «всплывают». Особенностью данного метода является сравнение не каждого элемента со всеми, а сравнение в парах соседних элементов. Алгоритм пузырьковой сортировки по убыванию состоит в последовательных просмотрах снизу вверх (от начала к концу) массива М. Если соседние элементы таковы, что выполняется условие, согласно которому элемент справа больше элемента слева, то выполняется обмен значениями этих элементов.

Сортировка по невозрастанию (убыванию):

for i:=2 to n do

begin

for j:=n downto I do

begin