Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Массив – это упорядоченная последовательность из фиксированного числа однотипных элементов, которая обозначается одним именем.
Упорядоченность элементов заключается в том, что все эти элементы располагаются в последовательных ячейках оперативной памяти.
В программировании различают следующие типы массивов:
1) Одномерные массивы (линейные таблицы);
2) Двумерные массивы (прямоугольные таблицы);
3) Многомерные массивы (трехмерные и т.д. таблицы).
Для того, чтобы обратиться к нужному элементу массива необходимо указать имя массива и его индекс. Индекс – это порядковый номер элемента в массиве.
Т.е. обращение происходит по правилу:
идентификатор_массива[индекс]
Общее количество элементов в массиве называется размерностью массива.
Прежде чем в программе использовать массив или его элементы этот массив нужно, как и любую переменную, описать. Для описания массива в Паскале использую два метода:
1. с описанием пользовательского типа:
Type
идентификатор_типа=array[размерность] of базовый_тип_элементов;
Var
идентификатор_массива:идентификатор_типа;
2. без описания пользовательского типа:
Var
идентификатор_массива:array[размерность] of базовый_тип_элементов;
Здесь размерность указывается следующим образом:
[1..10]
[10..100]
[5..10] одномерные массивы
[1..5]
[1..10,1..10] – двумерные массивы
6.1. Стандартные алгоритмы обработки массивов:
1. Ввод-вывод элементов:
Program _1;
Uses Crt;
Const n=10;
Type
massiv= array [1..n] of integer;
Var
a:massiv; i: byte;
Begin
ClrScr;
Writeln (‘Введите элементы массива:’);
For i:=1 to n do
Begin
write (‘a[‘,i,’]=’);
Readln (a[i]);
end;
For i:=1 to n do
Write (a[i],’ ‘);
Readkey;
End.
2. Нахождение суммы, произведения, среднего арифметического элементов массива:
Program Summa;
Uses Crt;
Type
massiv= array [1..10] of integer;
Var
a:massiv; i: byte; S:integer;
Begin
ClrScr;
Writeln (‘Введите элементы массива:’);
For i:=1 to 10 do
Begin
write (‘a[‘,i,’]=’);
Readln (a[i]);
end;
For i:=1 to 10 do
S:=s+a[i];
Writeln (‘S=’,S);
Readkey;
End.
Program Proizvedenie;
Uses Crt;
Var
a: array [1..10] of integer;
i: byte; P:integer;
Begin
ClrScr;
Writeln (‘Введите элементы массива:’);
For i:=1 to 10 do
Begin
write (‘a[‘,i,’]=’);
Readln (a[i]);
end;
P:=1;
For i:=1 to 10 do
P:=P*a[i];
Writeln (‘P=’,P);
Readkey;
End.
Program SrArifmet;
Uses Crt;
Var
a: array [1..1000] of integer;
S,n,i:integer;Sr:real;
Begin
ClrScr;
Writeln (‘Введите размерность массива:’); Readln (n);
Writeln (‘Введите элементы массива:’);
For i:=1 to n do
Begin
write (‘a[‘,i,’]=’);
Readln (a[i]);
end;
For i:=1 to n do
s:=s+a[i];
Sr:=s/n;
Writeln (‘Sr=’,Sr);
Readkey;
End.
3. Нахождение максимального и минимального элемента массива.
Program Maximum;
Uses Crt;
Var
a: array [1..1000] of integer;
max,n,i:integer;
Begin
ClrScr;
Writeln (‘Введите размерность массива:’); Readln (n);
Writeln (‘Введите элементы массива:’);
For i:=1 to n do
Begin
write (‘a[‘,i,’]=’);
Readln (a[i]);
end;
max:=a[1];
For i:=1 to n do
if a[i]>max
then
max:=a[i];
Writeln (‘max=’,max);
Readkey;
End.
Минимальный находится аналогично.
4. Нахождение суммы элементов двумерного массива:
Program Summa;
Uses Crt;
Type
massiv= array [1..10,1..10] of integer;
Var
a:massiv; i,j: byte; S:integer;
Begin
ClrScr;
Writeln (‘Введите элементы массива:’);
For i:=1 to 10 do
For j:=1 to 10 do
Begin
write (‘a[‘,i,’,’,j,’]=’);
Readln (a[i,j]);
end;
For i:=1 to 10 do
For j:=1 to 10 do
S:=s+a[i,j];
Writeln (‘S=’,S);
Readkey;
End.
Рассмотрим еще пример: дан массив. Найти сколько в нем пар соседних одинаковых чисел.
Program massiv;
Const m=100;
Begin
Var mas: array [1..m] of integer;
Write (‘Ввести длину массива N=’);
Readln (N);
K:=0;
For i:=1 to n do
Begin
Write (‘Ввести элементы массива ‘);
Readln (mas[i]);
End;
For i:=1 to n-1 do
if mas[i]=mas[i+1]
then k:=k+1;
Writeln (‘ Количество пар=’,k);
End.
Дата публикования: 2015-10-09; Прочитано: 389 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!