«Массивы»
Вид материала | Документы |
СодержаниеVar), например: Var Имя_Массива [индекс] |
- Лекции раздел I массивы, 23.1kb.
- Лекция 11. Массивы языка C# Общий взгляд на массивы. Сравнение с массивами C++. Почему, 195.36kb.
- Двумерные массивы, 69.42kb.
- Адреса и указатели. Операции получения адреса и косвенной адресации. Отождествление, 82.09kb.
- Адреса и указатели. Операции получения адреса и косвенной адресации. Отождествление, 124.21kb.
- Краткий курс лекций "Основы программирования на языке Паскаль", 291.49kb.
- Двумерные массивы, 90.55kb.
- Тема: Массивы, 422.12kb.
- Методические рекомендаци по решению задач на массивы Массивы. Некоторые теоретические, 194.32kb.
- Программа на языке Паскаль выглядит так: Program pr1, 37.38kb.
Тема: «Массивы»
Массив – это совокупность элементов, имеющих одинаковое имя и отличающихся номером (индексом) их расположения в последовательности.
Примеры массивов:
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.
Итак, программа обработки массива – это цикл, в котором параметром является индекс (номер элемента). Если индексов несколько, то для обработки массивов используются циклы, вложенные друг в друга. Количество таких циклов зависит от числа индексов.