Для решения этой задачи используется одномерный массив.
Одномерный массив - это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер.
Например, введем 30 целых чисел от 25 до54 и объединим их общим именем А
№ А
...
...
Имя А - это общее имя для всех элементов. Элементы массива - это целые числа, их 30.
Опишем в разделе типов свой тип - одномерный массив, состоящий из 30 целых чисел.
Type myarray = Array [1..30] Of Integer.
Напомним, что раздел типов, начинается со служебного слова TYPE, после этого идет имя нового типа и его описание. Между именем типа и его описанием ставится знак "равно" (в разделе переменных между именем переменной и её описанием ставится двоеточие). Тогда:
myarray - это имя нового типа;
Array - служебное слово (в переводе с английского означает "массив", "набор");
[1..30] - в квадратных скобках указывается номер первого элемента, затем, после двух точек, номер последнего элемента массива, пусть в этом примере первый элемент имеет номер 1, а последний - номер 30;
Of - служебное слово (в переводе с английского -"из" );
Integer - тип всех элементов массива.
Таким образом, одномерный массив описывается следующим образом:
Array[n1..n2] Of <тип элементов>;
где n1 - номер первого элемента, n2 - номер последнего элемента, в качестве типа элементов может использоваться любой тип данных, кроме файлового. Так как каждый элемент имеет свой номер, то к каждому элементу можно обращаться непосредственно. Для того, чтобы обратиться к i-у элемент этого массива, необходимо записать:
A[i] - сначала имя массива, а в квадратных скобках указывается номер элемента, к которому обращаемся, - i. Например, обращаемся к первому элементу массива А - А1[1], а к пятому - А[5].
Пример: Составить программу нахождения суммы элементов массива.
Решение
Опишем две процедуры (формирование и вывода массива)и функцию нахождения суммы элементов, которые будем использовать в основной части. Заметим, что заполнение и вывод массива можно осуществить только поэлементно, то есть можно сначала присвоить значение первому элементу, затем второму и так далее, то же самое и с выводом на экран - выводим первый, второй, третий и так до последнего. Будем вводить значение элементов массива с клавиатуры.
Program Example-37; Const n = 30; {n - это количество элементов массива } Type myarray = Array [1...n] Of Integer; Var A : myarray; s : Integer; {s - значение этой переменной будет равно сумме всех элементов массива}
Procedure Init1(Var m : myarrfy); Var i : Integer; {i - это переменная для работы с элементами массива} Begin Writen ('введите',n,'чисел'); For i:=1 To n Do {ввод массива с клавиатуры} Readln(m[i]); {чтение i-го элемента} End;
Procedure Print(m: myarray); Var i : Integer; Begin For i:=1 To n Do {вывод массива} Write(m[i]:3); {вывод i-го элемента} Writeln; End;
Function Sum(m: myarray): Integer; Var i, sum : Integer; Begin sum:=0 {начальное значение суммы} For i:=1 To n Do {её нахождение} sum:=sum+m[i]; {к уже найденной сумме первых (i-1) элементов прибавляем i-ый элемент} End;
Begin Init1(A); {обращение к процедуре формирования} Print (A); {вывод массива} s:=Sum (A); {нахождение суммы элементов} Writeln ('их сумма равна ',s);{вывод результата на экран} Readln; End.