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

advertisement
Тема: «Массивы»
Массив – это совокупность элементов, имеющих одинаковое имя и отличающихся
номером (индексом) их расположения в последовательности.
Примеры массивов:
1) последовательность чисел (оценок)
х1, x2, x3, ..., xn – 1 индекс
2) матрица чисел
a11 a12 ... a1n
a12 a22 ... a2n
– 2 индекса
A=
.................
am1 am2 ... am,n
Примером представления данных в виде матрицы может служить запись коэффициентов
системы линейных уравнений.
Для описания массива используется служебное слово 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.
Итак, программа обработки массива – это цикл, в котором параметром является индекс
(номер элемента). Если индексов несколько, то для обработки массивов используются циклы,
вложенные друг в друга. Количество таких циклов зависит от числа индексов.
Download