
- •Российский государственный университет нефти и газа им. И.М. Губкина
- •Структурные типы данных
- •Основные определения
- •Описание массивов
- •Описание массивов
- •Описание одномерных массивов
- •Описание массивов
- •Пример 1. Цвета радуги.
- •Описание массивов
- •Описание массивов
- •Var a :array[1..5] of
- •Сумма элементов массива
- •Произведение элементов массива
- •Сложение двух векторов A и B
- •Определение количества четных элементов в
- •Определение количества положительных элементов в массиве A
- •Обнулить элементы массива А, принадлежащие интервалу [n, m]
- •Найти максимальный и минимальный элементы массива А и поменять их местами
- •{ найдем min и его индекс }
- •Найти сумму элементов массива, начиная с первого отрицательного

Российский государственный университет нефти и газа им. И.М. Губкина
Кафедра «Информатики»
Лекция 10
1

Структурные типы данных
Структурированные типы данных определяют наборы однотипных или разнотипных компонентов.
К пользовательским типам относятся: |
|
массивы; |
|
множества; |
|
записи; |
|
файлы; |
|
классы. |
2 |
|

Основные определения
Массив - упорядоченная последовательность однотипных данных, обозначенных одним именем.
Индекс – величина, характеризующая положение элемента относительно начала массива;
индексом может быть произвольное выражение порядкового типа, заключенное в квадратные скобки.
b[1], b[2], b[10] - элементы массива B; c[i+1], c[i*5-2] - элементы массива C;
3

|
Одномерный массив |
a1 a2 |
a3 a4 a5 a6 a7 a8 a9 a10 |
Элемент массива
Порядковый номер (индекс)
4

Описание массивов
Необходимо задать
•имя массива
•число элементов
•тип элементов
•тип индексов
5

Описание массивов
Тип – массив является типом, определяемым пользователем
TYPE
<имя типа> = ARRAY [< тип индексов >] OF <тип элементов > ;
ARRAY , OF - кодовые слова (массив …из);
<имя типа> : правильный идентификатор;
<тип индексов> : список из одного или нескольких индексных типов, разделенный запятыми;
<тип элементов> : любой тип;
[ ] – квадратные скобки, обрамляющие список индексов, определяют требования синтаксиса языка.

Описание одномерных массивов
Тип – массив является типом, определяемым пользователем
TYPE
mass = Array[1..5] of integer; M1= array[1..10] of real;
M2 = array[1..3] of char;
M3 = array[1..5] of byte;
Var
a1, b1,c1 : mass;
a2 |
: |
M1; |
|
b2 |
: |
M2; |
c2 : M3; |
7

Описание массивов
M 1 2 4 6 8 0
M 2 1 5 7 0 0
TYPE
mass = array[1..5] of integer;
Var
M1 : mass = (2, 4, 6, 8,0);
M2 : mass = (1, 5, 7, 0,0);
8

Пример 1. Цвета радуги.
Массив
raduga=(‘красный’, ‘оранжевый’, ‘желтый’, ‘зеленый’, ‘голубой’, ‘синий’, ‘фиолетовый’)
Имя массива : raduga ;
Размер массива: состоит из 7 элементов; Тип данных: строка (string);
Упорядоченность ( местоположение элемента в массиве однозначно определяет его значение):
Первый элемент ‘красный’;
Второй элемент ‘оранжевый’;
Шестой элемент ‘синий’.
9

Описание массивов
Тип-массив используется в разделе описания переменных VAR
TYPE
mass = array[1..5] of integer; CONST n=4; m=10;
Var
a1, b1, c1 : array[1..5] of integer;
a5 : mass;
a2 : array[1..m] of real;
b3 : array[1..n] of real;
Допустим оператор b1 := a1;
все 5 элементов массива b1 получат те же значения, что и в массиве a1
Недопустим оператор a5 :=a1;
10

var
Form1: TForm1;
raduga:array[1..7] of string=('красный', оранжевый', 'желтый', 'зеленый', 'голубой', 'синий', 'фиолетовый‘ );
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin
button1.Caption:=raduga[1]; |
|
|
button2.Caption:=raduga[2]; |
|
|
button3.Caption:=raduga[3]; |
|
|
button4.Caption:=raduga[4]; |
|
|
button5.Caption:=raduga[5]; |
|
|
button6.Caption:=raduga[6]; |
|
|
button7.Caption:=raduga[7]; |
11 |
|
end; |
||
|