Тема: «Массивы» Массив – это совокупность элементов, имеющих одинаковое имя и отличающихся номером (индексом) их расположения в последовательности. Примеры массивов: 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. Итак, программа обработки массива – это цикл, в котором параметром является индекс (номер элемента). Если индексов несколько, то для обработки массивов используются циклы, вложенные друг в друга. Количество таких циклов зависит от числа индексов.