Элементы массива в Паскале расположены друг за другом в памяти компьютера.
Работа с элементами массива рассмотрена ниже в примерах.
Одномерные массивы в Паскале
Рассмотрим сначала одномерные массивы в Паскале.
Пример массива в Паскале:
CharMassiv: array [1..5] of Char;
здесь задан массив с именем CharMassiv, состоящий из пяти элементов с индексами от 1-го до 5-ти, тип этих элементов — Char.
Другой пример массива в Паскаль:
RealMassiv: array [1..5] of Real;
здесь задан массив с именем RealMassiv, состоящий из пяти элементов с индексами от 1-го до 5-ти, тип этих элементов — Real.
Массива строк в Паскале
Теперь пример массива строк в Паскале:
StrMassiv: array [1..5] of String;
здесь задан массив с именем StrMassiv, состоящий из пяти элементов с индексами от 1-го до 5-ти, тип этих элементов — String.
Ввод массива в Паскале
Итак, мы научились задавать массив в Паскале. Теперь заполним массив элементами. Для примера берём массив
Работа с массивами Pascal
var Massiv: array [1..5] of Integer;
Присвоим значение первому элементу массива, а первый элемент имеет индекс 1:
Massiv[1] := 1;
здесь первому элементу массива мы присвоили значение 1.
Присвоим значение второму элементу массива, а второй элемент имеет индекс 2:
Massiv[2] := 2;
здесь второму элементу массива мы присвоили значение 2.
Далее присвоим значения всем элементам массива:
Это ввод значений элементов массива в Паскале. Мы сделали ввод массива вручную. Чаще это делается в цикле. Пример:
Вывести массив в Паскале
Теперь рассмотрим вывод массива в Паскале. Пример:
Получаем:
В этом и есть основной смысл использования массивов: массив – это набор элементов, к каждому из которых можно обратиться по индексу. Мы можем в цикле заполнять массив и в цикле выводить массив. А почему нельзя было создать пять переменных, присвоить им значения и не связываться с массивами? Можно было. В нашем примере массив имел размер 5, т.е содержал пять элементов.
Мы могли заменить этот массив пятью переменными. Но вот вопрос: а если наш массив состоял бы из ста элементов? Чтоб отказаться от массива надо было создать сто переменных, каждой присвоить значение вручную. Вместо строки
var Massiv: array [1..100] of Integer;
нам пришлось бы записать сто строк, а вместо цикла ввода элементов массива
нам пришлось бы записать ещё сто строк. И при выводе массива пришлось бы записать ещё сто строк. Нет, лучше научимся работать с массивами и будем их использовать.
Чтоб получить элемент массива нужно указать имя массива и индекс. Создадим переменную aVar типа Integer и присвоим ей значение второго элемента массива:
aVar := Massiv[2];
теперь в переменной aVar хранится число 2, ведь второй элемент массива равен двум.
Источник: sbp-program.ru
Задачи с массивами | Pascal | Сумма и поиск элементов
Примеры задач на массивы
Вывести элементы числового массива, которые больше, чем элементы, стоящие перед ними.
Например, дан массив [3, 9, 8, 4, 5, 1]. Следует вывести числа 9 и 5, так как перед ними стоят соответственно числа 3 и 4, которые меньше их.
Для решения задачи нужно каждый элемент сравнить с последующим или предыдущим. Если перебор идет с первого элемента, то должен продолжаться до предпоследнего. В таком случае выводятся элементы с индексом i+1 (что реализовано в коде ниже) в случае совпадения условия. Если перебор идет со второго элемента до последнего, то выводится элемент под индексом i.
const
var
a : array [ 1 .. N ] of integer ;
i : byte ;
begin
for i := 1 to N do begin
a [ i ] := random ( 100 ) ;
write ( a [ i ] : 4 ) ;
end ;
writeln ( ‘Элементы больше предыдущего: ‘ ) ;
for i := 1 to N — 1 do
write ( a [ i + 1 ] : 4 ) ;
Источник: sites.google.com
Одномерные массивы на языке Pascal
При обработке набора данных одного типа в языке Паскаль имеется специальная структура, называемая массив.
Массив — это структура, представляющая собой упорядоченную совокупность элементов одного типа, объединенных одним именем.
Массив в Паскале имеет фиксированное количество элементов.
Имя массива, количество элементов и тип элементов массива определяются пользователем при описании массива.
Индекс массива — это величина целого типа, характеризующая положение элемента в массиве.
Каждому массиву, используемому в программе, выделяется место в памяти.
Массиву отводится не одна ячейка, а последовательность расположенных друг за другом ячеек, в каждую из которых записывается значение соответствующего элемента.
Описание массива включает в себя:
2) Ключевое слово array;
3) Диапазон изменения индексов, определяемый граничной парой, например: 1..40. 1..N. 5..20.
Нижняя граница показывает наименьшее возможное значение индекса, верхняя — наибольшее. Нижняя граница не может превосходить верхнюю.
Нижняя граница отделяется от верхней двумя точками;
4) Тип элементов массива.
Описание массива строится по следующей схеме:
: array [граничная пара] оf
Если несколько массивов имеют один и тот же тип, и одинаковый диапазон изменения индекса, то их описание можно объединить, разделив имена массивов запятыми:
< имя 1, имя2. >: array [граничная пара] of
Vector: array [1 ..60] of integer;
xBlock: array [40..50] of real:
Xl,x2: array [0..60] of integer;
Действия над элементами массива
После объявления массива каждый его элемент можно обработать, указав имя массива и индекс элемента в квадратных скобках.
Например, запись xBlock [42], Vektor[10] позволяет обратиться к элементу массива xBlock с индексом 42 и элементу массива Vektor с индексом 10.
Заполнить элементы одномерного массива значениями мы можем:
- вводя значения с клавиатуры;
- случайным образом;
- по формуле.
Надо помнить, что во всех трех случаях нам не обойтись без организации цикла.
Будем считать, что объявили массив из 10 элементов (тип элементов в данном случае значения не имеет).
1.Заполнение с клавиатуры.
FOR i:=1 to 10 do
writeln(‘введите значение элемента’);
2..Заполнение случайным образом.
Для этого мы должны подключить датчик случайных чисел.
FOR i:=1 to 10 do
3. Заполнение по формуле.
Каждый элемент массива должен быть рассчитан по формуле
(например, аi = sin i – cos i).
FOR i=1 to 10 do
Вычисление суммы элементов
FOR i:=1 to 10 do
Вычисление среднего значения элементов массива
FOR i:=1 to 10 do
Поиск максимального (минимального) элемента массива.
Пусть мы имеем одномерный массив: 20,-2,4, 10,7,21,-12,0,4, 17.
Алгоритм поиска максимального (минимального) элемента мы построим так, чтобы сравнивать пару чисел, повторяя действие сравнения нужное количество раз.
Введем дополнительную переменную с именем max.
Она и будет одним из чисел, второе число — это очередной элемент массива.
Для того, чтобы провести первую операцию сравнения необходимо переменной max присвоить некоторое начальное значение.
Здесь могут быть два варианта:
1) присвоить переменной max первый элемент массива, тогда количество повторений операции сравнения равно n -1;
2) присвоить число заведомо меньшее всех элементов массива. В этом случае, количество повторений операции сравнения n.
Для заданного одномерного массива найти максимальный
mas: array[1..10] of integer;
for i:=1 to 10 do
for i:=2 to 10 do if a[i]>max then max:=a[i];
Содержимое разработки
ОДНОМЕРНЫЕ МАССИВЫ
Представление массива
При обработке набора данных одного типа в языке Паскаль имеется специальная структура, называемая массив.
Массив — это структура, представляющая собой упорядоченную совокупность элементов одного типа, объединенных одним именем.
Массив в Паскале имеет фиксированное количество элементов.
Имя массива, количество элементов и тип элементов массива определяются пользователем при описании массива.
Для получения доступа к элементу массива используется индекс.
Индекс массива — это величина целого типа, характеризующая положение элемента в массиве .
Каждому массиву, используемому в программе, выделяется место в памяти.
Массиву отводится не одна ячейка, а последовательность расположенных друг за другом ячеек, в каждую из которых записывается значение соответствующего элемента.
П редставим массив, состоящий из 88 элементов типа real ,
в котором элементы нумеруются от 11 до 99.
x [ 1 1]
x [ 13]
x [ 98 ]
Источник: videouroki.net