- •Введение
- •Алфавит
- •Идентификаторы
- •Создание консольных приложений
- •Структура программы
- •Типы данных
- •Целый тип
- •Вещественный тип
- •Символьный тип
- •Строковый тип
- •Логический тип
- •Виды данных Переменная
- •Выражение
- •Стандартные функции
- •Арифметические функции
- •Функции преобразования типов
- •Использование функций
- •Программирование линейных алгоритмов Оператор присваивания
- •Операторы ввода и вывода
- •Программирование разветвляющихся алгоритмов
- •Программирование циклических алгоритмов
- •Массивы
- •Ввод и вывод массивов
- •Описание и использование данных строкового типа
- •Операции над строками
- •Процедуры и функции для работы со строками
- •Описание и использование процедур и функций
- •Процедуры
- •Функции
- •Формальные и фактические параметры
- •Локальные и глобальные параметры
- •1) Program prim1;
Массивы
Массив относится к данным структурированного типа.
Массив – это совокупность конечного числа однотипных элементов с прямым доступом к каждому элементу; Прямой доступ – возможность использования любого элемента независимо от остальных.
Массив – это последовательность переменных одного типа, определенных общим именем и различающихся индексами.
Массив – наиболее распространенный структурированный тип.
Массив характеризуется:
размерностью (количеством индексов)
типом индексов
типом элементов массива
Массив, как и любая переменная программы, перед использованием должен быть объявлен в разделе объявления переменных. В общем виде инструкция объявления массива выглядит следующим образом:
1. Одномерный массив:
Type
<Имя типа> = array [нижний_индекс..верхний_индекс] of
<тип>;
где:
<имя типа >— имя типа массива;
array — зарезервированное слово языка Delphi, обозначающее, что объявляемое имя является типом массива;
нижний_индекс и верхний_индекс — целые константы, определяющие диапазон изменения индекса элементов массива и, неявно, количество элементов (размер) массива;
<тип> — тип элементов массива.
Пример:
Type
Temper=array[1..31] of real;
Kоef=array[0..2] of integer;
Name=array[1..30] of string[25];
2. Двумерный массив (матрица):
Type
<Имя типа> = array [нижний_индекс1..верхний_индекс1,
нижний_индекс2..верхний_индекс2] of <тип>;
где:
<Имя типа> – имя типа массива;
array — зарезервированное слово языка Delphi, обозначающее, что объявляемое имя является именем массива;
нижний_индекс1 и верхний_индекс1, нижний_индекс2 и верхний_индекс2— целые константы, определяющие диапазон изменения индексов элементов двумерного массива и, неявно, количество элементов (размер) матрицы;
<тип >— тип элементов массива.
Пример:
Type
Matrica=array[1..3,1..2]ofinteger;
Затем, после описания типа массива в разделе var описывается сам массив следующим образом:
Var <имя массива> : <имя типа>;
Пример:
Var
T: temper;
m: name;
A,B:Matrica;
Массивы могут быть описаны непосредственно в разделе Var, без использования Type:
1. Одномерный массив:
var
<имя массива>: array [нижний_индекс..верхний_индекс] of тип;
2. Двумерный массив:
var
<имя массива>: array [нижний_индекс1..верхний_индекс1,
нижний_индекс2..верхний_индекс2] of тип;
Пример:
var
T: array[1..31] of real;
m:array[1..30] of string[25];
A,B:array[1..3,1..2] of integer;
При описании массивов выделяется память ЭВМ для хранения соответственного количества ячеек.
Многомерные массивы хранятся в памяти в виде линейных последовательностей значений.
Например:
Пусть описана матрица X:
VarX: array [1..3,1..2] of integer;
Этот массив будет размещаться в памяти в следующей последовательности:
X[1,1], X[1,2], X[2,1], X[2,2], X[3,1], X[3,2].
То есть быстрее изменяется правый индекс.
При обращении к элементам массива указывается имя массива, за которым в [ ] следует индекс (для одномерного) или индексы (для двумерного) элементов.
Например:
X[1,2]
Т[5]
В общем случае при работе с массивами необходимо предусматривать 3 блока циклической структуры:
1 – блок поэлементного ввода массива
2 – блок поэлементной обработки массива
3 – блок поэлементного вывода массива