Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Паскалю.doc
Скачиваний:
61
Добавлен:
04.06.2015
Размер:
7.62 Mб
Скачать

Var a : Array [1..2,1..3] Of Integer;

Описан массив целых чисел А , имеющийдвестроки с индексами1и2итристолбца с индексами1,2,3.

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

Внимание! При компиляции программ, использующих массивы, настоятельно рекомендуется использовать директиву компиляции{$R+}.В этом режиме проверяются все индексы массивов на выход за свои границы. При выходе за границы выполнение программы прерывается и выдается сообщение об ошибке:

Error 201: Range check error

б) в разделе определения констант, типов и описания переменных:

Const row = 2;

Col = 3;

Type TMatrix = Array [1..row,1..col] Of Integer;

Var a : tMatrix;

Сначала определены поименованныеконстантыrowиcol(описаны их имена и заданы конкретные значения), затем определен новый тип данныхTMatrixс использованием ранее определенных констант, а в конце описан массивAс использованием ранее определенного типа данных,

в) определением массива кактипизированной константы:

Const A : Array [1..2,1..3] Of Integer =((-5,8,0),(9,-1,4));

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

Номера строк и столбцов массивов могут быть заданы не только целыми положительными числами, но и символами, отрицательными целыми числами и строками.

Примеры:

  1. Описать массив Doska, позволяющий рассматривать его как модель шахматной доски.

На шахматной доске строки обозначаются латинскими буквами от aдо h,а столбцы – цифрами от1до8, а шахматные фигуры – тоже латинскими буквами. Поэтому описание этого массива может выглядеть так:

Var Doska : Array [‘a’..’h’,1..8] Of Char;

а обращение к элементу этого массива – так:

Doska[‘c’,2]:=’f’;

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

  1. Описать массив Roma, в котором можно было бы хранить данные о количестве жителей Рима с года его основания (754 г. до н.э.) и до 33 г. н.э.

Традиционноеописание:

Var Roma : Array [1..787] Of Word;

В этом случае первый элемент массива соответствует году основания Рима:

Roma[1]:=2;в год основания Рима в нем жили два основателя

Roma[787]:=450000; в 33 г. н.э. в Риме проживали 450000 жителей

Тогда какой элемент массива соответствует, например, 639 году до н.э.? Сразу сказать трудно, необходимо вычислить индекс этого элемента.

Таким образом, при традиционном описании этого массива возникают трудности сопоставления индекса элемента с годом.

Опишем массив по-другому, используя отрицательныеиндексы элементов:

Var Roma : Array [-754..33] Of Word;

В этом случае можно сразу сказать, что 639 году до н.э. соответствует элемент Roma[-639].

3. Описать массивOzenka, в котором можно было бы хранить оценки студентов Иванова И. и Петрова П. по математике, физике и информатике:

Мат. Физ. Инф.

Иванов И. 4 5 5

Петров П. 3 4 3

Традиционноеописание:

Var Ozenka : Array [1..2,1..3] Of Word;

В этом случае по оператору присваивания:

Ozenka[2,1]:=3;

трудно догадаться, что у Петрова П. по математике оценка3.

Опишем этот массив, введя новые типы данных:

Type Fam = (Ivanov, Petrov);

Predm = (Math, Phis, Inf);