- •Оглавление
- •Виды данных
- •Программирование линейных алгоритмов
- •Программирование разветвляющихся алгоритмов
- •Программирование циклических алгоритмов
- •Описание и использование типа массив
- •Ввод и вывод массивов
- •Процедуры и функции для работы со строками
- •Описание и использование данных строкового типа
- •Операции над строками
- •Описание и использование процедур и функций
- •Функции
- •Формальные и фактические параметры
- •Описание и использование типа запись
- •Описание и использование множеств
- •Файловый тип данных. Описание и использование типизированных файлов
- •Описание и использование текстовых файлов
- •Модуль пользователя
- •Объектно-ориентированное программирование. Классы. Основные понятия
- •Основные понятия
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •Составляющие класса Поля
- •Свойства
- •Программные файлы. Файл проекта. Файл формы
- •Система программирования Delphi
- •Основные окна Delphi
- •Литература
Описание и использование типа массив
Массив – это структура данных, представляющая собой совокупность элементов одного и того же типа. Для массива характерно следующее: 1)каждый элемент массива может быть явно обозначен и к нему имеется прямой доступ; 2) число элементов массива определяется при его описании и в дальнейшем не меняется.
Все элементы массива имеют общее имя – имя массива, а указание на конкретный элемент массива осуществляется с помощью индексов. Количество индексов в обозначении элемента массива определяет размерность массива. Массив может быть одномерным (один индекс), двумерным (два индекса) и т.д. Тип индекса может быть только порядковым типом, причем типы integer, word и longint не допускаются. Элементы массива могут быть любого типа, кроме файлового.
Описание массива осуществляется следующим образом:
type имя типа = array[тип индекса(ов)] of тип элементов;
var имя массива: имя типа ;
или
var имя массива: array[тип индекса(ов)] of тип элементов;
Двумерный массив можно описать различными способами, например:
type имя типа = array[тип индекса_1] of array[тип индекса_2] of тип элементов;
var имя массива: имя типа ;
type
имя типа = array[тип индекса_1, тип индекса_2] of тип элементов;
var имя массива: имя типа;
или var
имя массива:array[тип индекса_1,тип индекса_2]of тип элементов;
Примеры:
a)
Описание одномерного массива
,
элементы которого являются вещественными
числами:
type mas = array[1..20] of real;
var x: mas ;
или var x: array[1..20] of real;
b) Описание символьного двумерного массива b размера n×m:
const n=3; m= 5;
type mas = array[1..n,1..m] of char;
var b: mas ;
или const n=3; m= 5;
var b: array[1..n,1..m] of char;
Во всех этих примерах в качестве типа индекса используется тип-диапазон.
Доступ к элементам массива осуществляется указанием имени массива, за которым в квадратных скобках помещается значение индекса (индексов) элементы. Каждый индекс элемента может быть задан выражением соответствующего типа.
Примеры: x[i+2] b[succ(i), sqr(j)]
x[5] - пятый элемент массива x;
b[2,3] - элемент, находящийся во второй строке и третьем столбце.
Ввод и вывод массивов
Ввод, вывод и обработка массива осуществляются поэлементно. Одномерный массив вводится и выводится в цикле, цикл организуется по порядковому номеру элемента в массиве (индексу элемента).
Ввод
одномерного массива
можно
осуществить, например, так:
for i:=1 to n do read(x[i]); или for i:=1 to n do readln(x[i]);
где n – количество элементов в массиве; x – имя массива;
i –порядковый
номер элемента в массиве;
-
i–й элемент массива х.
Пример вывода одномерного массива :
for i:=1 to n do write(x[i],’ ‘); или for i:=1 to n do writeln(x[i]);
Ввод и вывод элементов двумерного массива осуществляется с помощью двух вложенных циклов. Двумерный массив вводится либо по строкам, либо по столбцам. Если двумерный массив вводится по строкам, то внешний цикл организуется по номеру строки, а внутренний - по номеру столбца. Если массив вводится по столбцам, то внешний цикл организуется по номеру столбца, а внутренний – по номеру строки. Вывод двумерного массива, как правило, осуществляется построчно.
Ввод двумерного массива a размерности n×m:
{построчный ввод элементов двумерного массива}
for i:=1 to n do
for j:=1 to m do read(a[i,j]);
где n –количество строк в массиве; m – количество столбцов в массиве;
i –номер строки массива; j –номер столбца массива;a –имя массива;
aij - элемент массива a, находящийся в i –й строке, j –ом столбце.
Вывод двумерного массива a размерности n×m в виде прямоугольной матрицы (каждая строка матрицы начинается с новой экранной строки): for i:=1 to n do
begin
for j:=1 to m do write(a[i,j],’ ‘);
writeln
end;
