«

»

Pascal. Одномерные массивы

Одномерный массив – это именованная последовательность, состоящая из пронумерованных элементов одного типа. Элементы могут быть любого имеющегося в Pascal (за исключение файлового) типа данных. Номер, также называемый индексом, имеет каждый элемент массива. Индекс должен быть порядкового типа. Одномерный массив можно объявить как в качестве переменной:

var <имя переменной>: array[m..n] of <тип элементов>;

так и типа:

type <имя типа> = array[m..n] of <тип элементов>;

Здесь m – номер первого элемента, а n – последнего. Например, если диапазон задан так: [1..10], то это означает, что определен одномерный массив размерностью в 10 элементов, с индексами от 1 до 10.

Для обращения к элементу массива нужно указать его имя и номер: mas[i], тут mas – имя, i – номер. В программе ниже мы объявим массив и произведем простые операции над его элементами.

 

1
2
3
4
5
6
7
8
9
10
11
12
program array_primer;
uses crt;
var mas, A: array[1..10] of real;
begin
clrscr;
mas[1]:=32;
mas[5]:=13;
mas[9]:=43;
A[1]:=(mas[9]-mas[1])*mas[5];
write(A[1]:5:2);
readkey;
end.

 

В каком-то смысле с массивами можно работать, как и с обычными переменными, но представьте, например ситуацию, когда необходимо заполнить массив, состоящий из десятков или тысяч элементов. Это будет удобней сделать посредством цикла. Следующая конструкция заполняет массив числами и выводит их на экран.

for i:=1 to n do
begin
mas[i]:=i;
write(mas[i]:3);
end;

Если необходимо, чтобы массив состоял из значений, введенных с клавиатуры, то просто замените присвоение на оператор read. Также бывают ситуации, когда требуется заполнить массив случайными числами. Программа ниже поочередно присваивает каждому элементу случайную величину.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
program array_random;
uses crt;
var i: integer;
mas: array[1..100] of integer;
begin
clrscr;
randomize;
for i:=1 to 100 do
begin
mas[i]:=random(10);
write(mas[i]:2);
end;
readkey;
end.

 

Широко распространены задачи связанные с разного рода алгоритмами применимыми к массивам. Среди них особенно популярны методы поиска и сортировки элементов. Но каждый из таких алгоритмов требует индивидуального изучения, поэтому ознакомиться с ними вы можете в других статьях:

Алгоритмы сортировки:

Алгоритмы поиска:

К числу менее сложных и в тоже время востребованных относятся методы определения количества положительных и отрицательных, минимального и максимального элементов. Рассмотрим их.

Поиск максимального элемента в массиве:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program array_max;
uses crt;
type massiv=array[1..10] of word;
var i, max: integer;
A: massiv;
begin
clrscr;
for i:=1 to 10 do
begin
write('Элемент №',i:2,'=');
read(A[i]); {ввод с клавиатуры}
end;
max:=A[1]; {пусть первый элемент будет максимальным}
for i:=1 to 10 do
if max<A[i] then max:=A[i];
writeln;
write('Максимальный элемент = ', max);
readkey;
end.

 

Для того чтобы сделать программу для поиска минимального элемента нужно всего лишь поменять знак < в 15 строке на >.

Определение количества положительных элементов:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program array_pol;
uses crt;
var i, k: integer;
mas: array[1..10] of integer;
begin
clrscr;
randomize; {генератор случайных чисел}
for i:=1 to 10 do
begin
mas[i]:=random(40)-20; {от -20 до 20}
writeln('Элемент №',i:2,'=', mas[i]:3);
end;
k:=0; {обнуление счетчика}
for i:=1 to 10 do
if mas[i]>=0 then k:=k+1;
writeln;
write(k:3, ' положительных элементов');
readkey;
end.

 

Также как и в предыдущей программе, для нахождения отрицательных чисел необходимо просто поменять знак.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вы можете использовать эти теги HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Проверка на человечность *