«Массивы»

Вид материалаДокументы

Содержание


Var), например: Var
Имя_Массива [индекс]
Подобный материал:

Тема: «Массивы»



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

Примеры массивов:

1) последовательность чисел (оценок)

х1, x2, x3, ..., xn – 1 индекс

2) матрица чисел




Примером представления данных в виде матрицы может служить запись коэффициентов системы линейных уравнений.

Для описания массива используется служебное слово Array (Массив). Кроме того, необходимо задать:

1) имя массива;

2) диапазон изменения каждого индекса..

Количество индексов называется размерностью массива. По количеству индексов различают:

– одномерные массивы (последовательность чисел, символов);

– двумерные массивы (матрицы);

– трехмерные и т.д. массивы.

Как и скалярные переменные, массивы описываются в разделе описания переменных (т.е. после служебного слова Var), например:

Var

Имя_Массива : Array[Диапазоны_индексов] Of Тип_Элементов_Массива;

где Диапазоны_индексов – список границ изменения каждого индекса.


Пример.

Const

N=100;

M=5;

Var

X:Array[1..N] Of Real; {массив вещественных чисел}

A:Array[1..M,1..M] Of Integer; {мaтрица целых чисел}

Следует различать описание массива и значение его элемента при обработке (внутри программы, после первого Begin). Элемент массива в программе записывают в виде

Имя_Массива [индекс] или

Имя_Массива [список индексов]


Пример.

X[2] => x2

A[i,j] => Aij

Ваll [k,i+2] => Ballk,i+2


Индекс – это число, переменная или выражение перечисляемого целого или символьного типа.


Рассмотрим пример программы обработки массива.


Задача. Ввести в ЭВМ оценки студентов одной группы по одному предмету. Подсчитать средний балл и количество оценок выше средней.


Алгоритм

1. Ввести оценки.

2.1. Положить сумму баллов = 0.

2.2. Для номера оценки (i) от 1 до Количества_студентов_в_группе выполнить

Подсчитать сумму баллов.

3. Вычислить средний балл.

4. Положить количество оценок выше средней, равной 0.

5. Для номера (i) от 1 до Количества_студентов_в_группе выполнить

Подсчитать количество оценок выше средней.

6. Закончить.


Уточняем алгоритм.

1.1. Ввести количество оценок n.

1.2. Для номера оценки (i) от 1 до n выполнить.

1.2.1. Ввести баллi

2.1. Положить сумму баллов = 0.

2.2. Для номера оценки (i) от 1 до n выполнить

2.2.1. Сумма_баллов = сумма_баллов + баллi

3. Вычислить средний балл = сумма_баллов / n.

4. Положить количество оценок выше средней = 0.

5. Для номера от 1 до n выполнить

5.1. Если баллi > среднего, то

количество = количество +1.


Программа для этого алгоритма будет иметь вид

Program Ball;

Const

M=25;

Var

B:Array[1..M] OF Integer;

S:Real; {сумма и средний балл}

N,I,K:Integer; {K - счетчик}

Begin

Writeln('Введите количество оценок'); { п.1.1 }

Read (N);

Writeln('Введите оценки'); { п.1.2 }

For I:= 1 To N Do

Read(B[I]);

S:=0; { п.п. 2.1 - 2.2 }

For I:= 1 To N Do

S := S+B[I];

S := S/N; { п.3 - средний балл }

Writeln('Средний балл - ',S);

K: = 0; { п.4 }

For I:= 1 To N Do { п.5 }

If B[I]>S Then

K:=K+1;

Writeln('Количество оценок выше средней = ',K);

End.

Итак, программа обработки массива – это цикл, в котором параметром является индекс (номер элемента). Если индексов несколько, то для обработки массивов используются циклы, вложенные друг в друга. Количество таких циклов зависит от числа индексов.