Массив – конечная группа переменных одного типа, которой присвоено общее имя.
Так, совокупность целых чисел
можно считать массивом и обозначить одним именем, например A . Каждый элемент массива обозначается именем массива с индексом. В нашем случае имеется пять элементов, тогда, например, первый элемент и четвертый записываются следующим образом
первый — A[1], четвертый — A[4].
Имя массива является единым для всех элементов. К каждому элементу массива можно обратиться с помощью индекса. Индекс – величина, характеризующая положение элемента относительно начала массива. Индекс записывается в квадратных скобках, например, A[1] , 1 – это индекс, указывающий на первый элемент массива с именем A .
Если в программе используется массив, то он должен быть описан или в разделе переменных Var , или в разделе типов Type .
Формат описания массива в разделе переменных:
Var
:array[индекс] of
здесь : array (массив); of (из) – зарезервированные слова языка; индекс – величина, характеризующая положение элемента относительно начала массива. В качестве индекса могут использоваться константы или данные целого, логического, символьного, перечисляемого и интервального типа (кроме Longint ); тип элементов – любой тип Турбо Паскаля.
ИНФОРМАТИКА 9 класс: Массивы в Паскале | Одномерные массивы. Описание, заполнение вывод массива
Пример описания массива
Var
a:array[1..5] of integer;
b,c:array[1..20] of real;
В приведенном примере описаны три массива: a,b,c . В описании массивов содержатся следующие сведения: имена массивов – a,b,c ; тип элементов массивов: a – целые, b и c – вещественные; диапазон изменения индексов – 1..5 и 1..20 . Нижняя граница отделяется от верхней границы двумя точками. Две точки « .. » рассматриваются как единый неделимый символ.
Нижняя граница показывает наименьшее значение индекса, верхняя – наибольшее. Значение нижней границы не может быть больше верхней. Массивы b и c имеют один и тот же тип и одинаковое количество элементов, поэтому описания можно объединить, разделив имена массивов запятой.
Выделение памяти для массивов производится раньше, чем выполняется какой-либо оператор программы, поэтому значения верхних границ массивов можно поместить в разделе констант.
Например:
Program example_2;
const n=20;
Var
b,c:array[1..n] of real;
Begin .
Использование констант не только облегчает процесс изменения программы, но и делает его более надежным.
Массивы могут быть одномерными и многомерными. На практике, как правило, используют одномерные, двумерные и трехмерные массивы. Схематично одномерный и двумерный массивы можно представить таким образом:
Схема представления одномерного массива
Вычисляем сумму массива #подпишись #ставьлайк
Схема представления двумерного массива
В приведенной схеме массив A можно рассматривать как матрицу или таблицу и говорить, что A[i,j] – это элемент, находящийся в j -ом столбце i- ой строки этой матрицы.
Описание двумерного массива.
Const
m =10; n =20;
Var
b,c:array[1..m, 1..n] of real;
Поскольку в Турбо Паскале тип элементов массива может быть любой, в том числе и другим массивом, то помимо явного описания массивов в разделе переменных, существует и другая форма описания, через использование раздела типов. Последовательность описания и использования раздела Type следующая:
- в разделе описания типов Type указывается тип массива;
- в разделе описания переменной Var перечисляются массивы, относящиеся к указанному типу.
Формат описания массивов:
Type=array[индекс] of
Var
:
Пример:
Const
n=10; m=20;
Type
mas=array[1..n,1..m] of real;
Var
a:mas ;
Если в программе несколько массивов, например, a,b,c,d, которые имеют тип mas , то изменяется только раздел описаний переменных:
Var
a,b,c,d:mas;
Тип массива mas формально введен только в разделе описания типов и нигде в программе не указывается и не обрабатывается.
При работе с массивами следует учитывать следующие правила:
- над массивами не определены операции отношения. Нельзя писать
- сравнивать элементы массива можно поэлементно
for i:= 1 to 10 do
- при работе с массивами наиболее часто используется оператор цикла
Примеры:
1. Всем элементам одномерного массива a[1..10] присвоить нуль:
for i:= 1 to 10 do a[i]:=0;
2. Всем элементам двумерного массива a[1..10,1..20] присвоить нуль:
for i:= 1 to 10 do
for j:= 1 to 20 do
3. Всем элементам одномерного массива a[1..10] присвоить значения элементов массива b[1..10] :
for i:= 1 to 10 do a[i]:=b[i];
ЗАДАЧА 1. Написать программу вычисления суммы пятнадцати чисел.
program a16;
Type
mas=array[1..15] of integer;
Var
a:Mas;
i,sum:integer;
begin
sum:=0;
writeln(‘Введите 15 целых чисел:’);
for i:=1 to 15 do
begin
readln(a[i]);
sum:=sum+a[i];
end;
writeln(‘Сумма чисел равна:’, sum:6);
end.
Результаты работы программы:
Введите 15 целых чисел
Сумма чисел равна: 15
ЗАДАЧА 2. Ввести с клавиатуры 15 вещественных чисел в массив и найти сумму этих чисел.
program a17;
Const n =15;
Type
mas=array[1..n] of real;
Var
a:Mas;
i:integer;
sum:real;
begin
writeln(‘Введите ’, n:4,’ чисел’);
for i:=1 to n do
begin
write(‘a[‘,i,’]=’);
readln(a[i]);
end;
sum:=0;
for i:=1 to n do sum:=sum+a[i];
writeln;
writeln(‘Сумма равна:’, sum:8:2);
end.
Результаты работы программы:
Введите 15 чисел
Сумма равна: 15.00
ЗАДАЧА 3. Найти наибольший элемент массива и определить его номер. Количество элементов массива и их значения ввести с клавиатуры.
program a18;
Const n =100;
Type
mas=array[1..n] of real;
Var
a:Mas;
m:integer;
i:integer;
k:integer;
max:real;
begin
write(‘Введите количество чисел: ’);
readln(m);
writeln(‘Введите ’, m:4,’ чисел’);
for i:=1 to m do
begin
write(‘a[‘,i,’]=’);
readln(a[i]);
end;
max:=a[1]; k:=1;
for i:=2 tom do
if a[i]>max then
begin
max:=a[i]; k:=i;
end;
writeln;
writeln(‘Номер наибольшего элемента:’,k:3);
writeln(‘Его значение:’,max:8:2);
end.
Результаты работы программы:
Введите количество чисел: 5
Введите 5 чисел
Номер наибольшего элемента: 4
Источник: www.turbopro.ru
Урок 20. Описание массива
В предыдущем уроке мы ввели понятие структурированных данных.
Изучение данных структурированного типа начнем с регулярного типа данных — массивов.
Название регулярный тип массивы получили за то, что в них объединены однотипные элементы, упорядоченные (урегулированные) по индексам, определяющим положение каждого элемента в массиве.
Массив — структурированный тип данных, состоящий из фиксированного числа однотипных элементов, объединённых одним именем, где каждый элемент имеет свой номер (индекс).
Когда возникает необходимость использовать массивы?
Рассмотрим следующую задачу: ввести с клавиатуры 30 целых чисел и вычислить их сумму, при этом каждое из чисел сохранить в памяти для последующей обработки.
Pascal. Одномерные массивы
Паскаль, то я даже представить не мог, что же такое массив. У меня никак не укладывалось в голове, для чего он служит, хотя мне и пытались это «кое-как» объяснить. Сейчас же я постараюсь объяснить Вам, что же такое массивы и для чего они служат, на понятном языке, который поймёт даже неопытный программист.
Во многих книжках по программированию пишут, что массив — это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер.
Для многих «новичков» это что-то заумное, потому как они не могут осмыслить эту информацию и в голове у них получается каша. Можно сделать один вывод — книжки для продвинутых программистов, для всего остального существуют сайты наподобие нашего.
Что же такое массивы в Pascal?
Если Вы прочитали наш урок по переменным (или хотя бы имеете представление, что это такое), то понять всё далее сказанное будет не сложно.
Итак, из нашего урока по переменным, переменная — это ящик, который имеет определённую размерность, в зависимости от типа ящика.
А массив — это хранилище, в котором хранятся все эти ящики. Только в одном хранилище могут хранится ящики одного типа. Например ящик под яблоки не может хранится в хранилище ящиков под апельсины.
Только в переменных массива есть некоторое отличие от обычных переменных. Во-первых — переменные массива называются элементами. Во-вторых — они не имеют длинных имён, а просто либо нумеруются, либо называются буквами из латинского алфавита.
И, как я уже говорил до этого, в массиве находятся элементы одного типа данных. Например, есть целочисленные массивы типа integer, то есть в элементах этих массивов могут хранится только целые числа. Поэтому в таких массивах не могут находится элементы строкового типа или любого другого.
Напомню, элементы — это ящики (переменные), которые находятся в хранилище (массиве).
В массиве не могут находится элементы с одним и тем же именем (индексом).
Нумерация в массиве строгая. В нём нельзя удалить какой-либо элемент. Можно просто обнулить его значение, но он всё равно будет существовать.
Поэтому удаление элементов из массива в некоторых случаях проблематично, потому как тут придётся проявить свои хорошие познания в логике и алгоритмах.
Оперировать в программе с элементами массива можно также, как и с переменными, только есть одно но — нельзя менять тип элементу массива и нельзя менять тип самого массива.
Не стоит забывать и то, что все элементы массива изначально имеют рандомное значение (любое значение определённого типа (который указан для этого массива), которое находится в памяти, ведь неизвестно, что было до этого в той области памяти, где сейчас хранится элемент массива), поэтому следует изначально обнулять значение элементов массива, если Вы сразу хотите увеличивать или уменьшать, не задавая какого-либо значения. Проще говоря, все элементы массива изначально могут быть и не равны нулю или пустому значению.
У массива тоже есть имя. Только записывается оно по тем же правилам, что и у переменных.
У массива тоже есть тип, поэтому он так похож на обычные переменные (я говорю про описание массива в разделе var).
Итак, если подвести итог всего сказанного, то массив — это хранилище, в котором хранятся ящики одного типа и у которых строгий порядок нумерации. Или же так — массив — это именованное объединение элементов одного типа со строгим порядком индексации.
А теперь давайте перейдём непосредственно к самому программированию в Паскаль.
Массив описывается в том же разделе, что и переменные, а именно в разделе var.
Сначала записываем имя массива, а после двоеточия пишем обозначение того, что это массив, при помощи слова array, затем, желательно вплотную к слову array, в квадратных скобках указываем размерность массива (его индексы). Например так — [1..10] — То есть индексы элементов с первого, по 10. Всего будет 10 элементов в массиве. Затем, после, желательно тоже вплотную, указываем тип элементов массива при помощи частицы of и, через пробел, сам тип элемента массива.
Вот пример полной записи массива с именем mas:
mas: array[1..10]of integer;
Стоит заметить, что можно перечислять массивы одного типа через запятую:
mas, mas2, mas3: array[1..10]of integer;
Также можно сделать индексацию массива при помощи латинских букв:
mas: array[‘a’..’z’]of integer;
То есть элементы массива будут целочисленного типа, но их именем будут не цифры, а буквы.
Давайте разберём, как же всё таки обращаться к элементам массива в программе.
Для начала записываем имя массива, а после, желательно вплотную, в квадратных скобках пишем индекс нужного нам элемента:
mas[1]:=0;