Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Структурированные типы данных – массивы

Поиск


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

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

Самым широко известным из структурированных типов данных является массив. Ограничимся описанием только этого типа данных.

Предварительно познакомимся с еще одним типом данных - интервальным (отрезком). Кроме этого рассмотрим типы данных, определяемые пользователем.

 

7.1. Интервальный тип данных (отрезок)

Например. Пусть переменная Numder соответствует порядковому номеру студента в списке группы. Эта переменная может принимать целые значения Numder = 1, 2 … 25. Если объявить эту переменную типом integer, то диапазон допустимых значений этой переменной будет от –32 768 до +32 767. Нас же интересует диапазон от 1 до 25. Поэтому для описания типа переменной Numder целесообразно выбрать интервальный тип данных (отрезок).

Формат отрезка

Var <имя переменной>:<константа1>..<константа2>;

Обе константы принадлежат одному и тому же типу (чаще всего это integer). Значение < константа1 > обязательно меньше значения < константа2>.

Для нашего примера: Var Number: 1..25;

Типы данных, определяемые пользователем

Кроме стандартных (базовых) типов данных Паскаль поддерживает типы, определяемые самим программистом, так называемые пользовательские типы.

Например

Type ww=1..25;

Var Number:ww;

Переменная Numder объявлена как переменная интервального типа (отрезок).

7.3. Массивы – основные понятия

При решении многих задач часто используются не отдельные числа и величины, а множества связанных однородных величин.

Например, последовательность чисел (вектор) ,

или матрица ,

 

или список фамилий

.

Эти наборы данных имеют один и тот же тип. Для обработки таких данных вводится понятие массив.

Размер массива – это количество элементов в этом массиве.

Все элементы массива имеют одно и то же имя, имя самого массива (А, В, Spisok) с различными целочисленными индексами, изменяющимися по порядку.

Количество индексов определяет размерность массива. Например, одномерный, двухмерный и т.д. массивы.

Индексы определяют положение элемента в массиве, т.е. позволяют получить доступ в произвольный момент времени к любому элементу массива, как к простой переменной.

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

Например: b [1], b [ k ], a [2,3], a [ i, j], Spisok [5].

В отличие от простых переменных, рассматриваемых ранее, элементы массива называются индексированными переменными,

В памяти ЭВМ элементы массива хранятся «по соседству», т.е. располагаются в последовательно расположенных ячейках. Например,

для одномерного массива

k +1 k +2 ………….. k + n
b 1 b 2 …………. bn

для двухмерного массива

k +1 …….. k + n k+n +1 …………..
a 11 …….. a 1 n a 21 ………….

 

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

Рассмотрим многочлен

,

который однозначно определяется совокупностью из 6 чисел – его коэффициентов: А{7; –1,3; 5; –6,8; 1; –1,5}. Эту совокупность чисел можно рассматривать как одномерный массив с именем А из 6 элементов типа real

A [1]=7, A [2]=-1,3,..…, A [6] = -1,5.

Элементы массива, как и любые простые переменные, должны быть описаны. Существуют два способа описания массивов:

явное описание в разделе описаний Var.

– неявное описание в разделе описания Type.

Формат явного описания массива:

Var <имя массива>:Array [<тип индекса>] of <тип элементов массива>;

где Array, of зарезервированные слова (массив, из).

Например: Var A: Array [1..6] of real;

Здесь объявлен одномерный массив вещественных чисел из шести элементов: А [1],…., A [6].

Формат неявного описания массива:

Например. Type Mas1= Array [1..50] of real;

Var B, C:Mas1;

Здесь объявлены два одномерных массива вещественных чисел из 50-и элементов каждый: А [1],…., A [50] и C [1],…., C [50].

Массивы, границы которых явно заданы в разделе описания, называются статическими. Их размер известен заранее и не меняется в процессе работы программы.

Массивы, размеры которых могут меняться во время выполнения программы, называются динамическими. В некоторых случаях это весьма удобно, так как позволяет экономно расходовать память ЭВМ, захватывая ее по мере необходимости. В нашем курсе мы не рассматриваем такие массивы.

Использование индексированных переменных в любых операторах ничем не отличается от использования переменных базового типа. Вот примеры использования индексированных переменных:

1. B[5]:=B[1]+1.5;

2. Sum:=Sum+C[k];

3. P1:=A[2*I+1];

 



Поделиться:


Последнее изменение этой страницы: 2016-09-20; просмотров: 635; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.86.160 (0.006 с.)