36575

Структурный тип маcсив. Описание мас и доступ к эл мас

Контрольная

Информатика, кибернетика и программирование

Идея массива состоит в том чтобы объединить в одно целое фиксированное количество элементов одного и того же типа. Общая форма описания массива имеет вид: type имя типамассива = rry [ тип индекса ] of тип элементов ; где: имя типамассива имя выбираемое программистом. тип индекса любой порядковый тип кроме longint или типдиапазон.

Русский

2013-09-22

33 KB

1 чел.

Структурный тип маcсив. Описание мас и доступ к эл мас.

Идея массива состоит в том, чтобы объединить в одно целое фиксированное количество элементов одного и того же типа. Суть концепции массива в Паскале заключается в том, чтобы объединить элементы в такую структуру, в которой эти элементы были бы линейно упорядочены (пронумерованы) так, чтобы к ним был прямой доступ через их номер. Номер элемента в массиве принято называть индексом элемента.

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

Прежде чем использовать массив, его следует описать в разделе описаний программы. Общая форма описания массива имеет вид:

type <имя типа-массива> = array [ < тип индекса > ] of < тип элементов>;

где: <имя типа-массива> - имя, выбираемое программистом.

 < тип индекса > - любой порядковый тип (кроме longint) или тип-диапазон.

 < тип элементов > - любой тип Турбо Паскаля.

В качестве типа индекса часто используют тип-диапазон, указывающий границы индекса. Например:

type measure = array [ 1..16] of real; {тип -массив измерений}

var m1,m2: measure; {переменные-массивы измерений}

Кроме переменных допускается также описание типизированных констант-массивов, в котором элементы-константы перечисляются через запятую. Например:

сonst vect: array [1..8] of 0..9 = (0,0,0,0,1,2,3,4);

Если тип элементов - простой тип, то массив - одномерный (вектор). Однако тип элементов может быть в свою очередь тип-массив. В этом случае мы имеет дело с массивом более высокой размерности. Если тип элементов - одномерный массив, то описываемый массив - двумерный (матрица). Аналогичным образом можно получить трехмерные, четырехмерные массивы и т.д.

Двумерный массив (матрица) может быть описан в виде:

type <имя типа-массива>= array [<тип индекса1>] of array [<тип индекса2>] of <тип >;

Однако в Паскале допускается более компактная форма таких описаний, в которой вместо одного типа индекса используется список из нескольких типов индексов.

Для матрицы такое описание будет иметь вид:

type <имя типа-массива>=array[<тип индекса1,тип индекса2>]of <тип компонент>;

Например: type matr= array [ 1..16,1..8] of real; {тип - матрица 16х8}

var mt1,mt2: matr; {переменные типа matr}

Доступ к элементам массива осуществляется посредством так называемых индексированных имен, имеющих вид:

<имя переменной-массива > [<индексное выражение > ];

где : <индексное выражение > - выражение типа индекса (в частности, индексным выражением может быть переменная).

В случае, когда массив многомерный (имеет несколько индексов), доступ к элементу массива осуществляется по списку индексных выражений в виде:

<имя переменной-массива >[<индексное выражение1 >,<индексное выражение2 >, ...];

Например: m1[ j ] {значение j- элемента массива m1}

mt2[j+3, k] {значение элемента (j+3)-строки, k-столбца матрицы mt2}

Индексы, таким образом, предоставляют новый способ именования элементов, существенно отличный от имён простых переменных. По сути, индексированное имя (имя компонента массива) - вычислимое имя, т.е. такое, которое может изменяться при выполнении программы за счёт изменения значения индексного выражения. Это придает доступу по индексам весьма большую гибкость и удобство при обработке массивов.

Задача 4.2.6(13)

program Project13;

type mas=array[1..3,1..4] of Integer;

var a:mas;

i,j,l1,l2,d1,d2,s:Integer;

procedure p(x:mas; e1,e2:Integer; var n,k:integer);

var j,min:Integer;

begin

min:=x[1,e1];

n:=1;

k:=e1;

for j:=e1 to e2 do

for i:=1 to 3 do

if x[i,j]<min then

begin

min:=x[i,j];

n:=i;

k:=j;

end;

end;

begin

for i:=1 to 3 do

for j:=1 to 4 do

read(a[i,j]);

p(a,1,2,l1,d1);

p(a,3,4,l2,d2);

s:=a[l1,d1];

a[l1,d1]:=a[l2,d2];

a[l2,d2]:=s;

Writeln;

for i:=1 to 3 do begin

for j:=1 to 4 do begin

write(a[i,j],' ');

end; writeln; end;

Readln;

Readln;

 end.


 

А также другие работы, которые могут Вас заинтересовать

40950. Создание анимации. Движение по заданной траектории 566 KB
  Создание анимации Движение по заданной траектории Это занятие посвящено движению по траектории созданию мувиклипов. Движение по заданной траектории Flsh позволяет задать движение объекта вдоль заданной траектории. Добавьте слой траектории.
40951. Работа со звуком в Flash 939 KB
  Работа со звуком во Flsh Введение Где взять звуки Добавление звука во Flsh Импорт звуков Различные виды синхронизации Применение компрессии к выбранным звукам Применение компрессии ко всем звукам Общие рекомендации по экспорту звука
40952. Создание Flash презентации 807.5 KB
  Создание Flshпрезентации Основные принципы создания презентации Способы создания презентации во Flsh Создание презентации Основные принципы создания презентации Способы создания презентации во Flsh Создание презентации Введение Презентация грамотно разработанная с помощью Flsh будет выгодно выделяться среди шаблонных продуктов рожденных в инкубаторе Microsoft Power Point. Основные принципы создания презентации Очень важно чтобы ваша презентация имела цельный законченный вид. После создания структуры...
40953. Программирование в Flash 785.5 KB
  Программирование во Flsh План Введение Знакомство с панелью Действия ctions Работа с действиями объектов Использование действий Возможности управления сценами с помощью сценариев ctionScript События мыши
40954. Объявление и инициализация переменной типа bool. Вывод данных на консоль 97 KB
  Консолью называется окно операционной системы, в котором пользователи взаимодействуют с операционной системой. Приложение может считывать пользовательский ввод из стандартного входного потока, записывать обычные данные в стандартный выходной поток и записывать данные об ошибках в стандартный поток сообщений об ошибках.
40955. Оператор выбора switch 358 KB
  Пример using System; nmespce Consoleppliction5 { clss Progrm { sttic void Minstring[] rgs { int cseSwitch = 5; switch cseSwitch { cse 1: Console. Если за меткой cse нет списка операторов то операторы brek goto cse или goto defult необязательны В примере управление передается списку операторов следующему за меткой cse 2 using System; nmespce Consoleppliction5 {...
40956. Политические идеи современности 75 KB
  В наши дни наблюдается усиление прикладного характера современных политических идей их использования для решения конкретных социальных и экономических проблем. Для него характерно пристальное внимание к вопросам социальных гарантий политической демократии. С одной стороны социальная драма модели государственного социализма догматического марксизма и в то же время успех социалдемократии в решении социальных программ превращение в авторитетную политическую силу современности. Политическая дифференциация России выдвигает проблему...
40957. Пример использования делегата 112 KB
  Сортируемый класс Employee описывает данные о сотрудниках: код фамилия имя дата приема на работу заработная плата. Это реализуется определением в коде программы делегата: delegte bool CompreOpobject lhs object rhs; Сигнатуру метода сортировки Sort определим следующим образом: sttic public void Sortobject[] sortrry CompreOp gtMethod Параметр sortrry задает массив сортируемых объектов в рассматриваемом примере массив экземпляров класса Employee а параметр gtMethod метод принимающий два параметра и возвращающий true если...
40958. Концепция типов данных 121.5 KB
  C поддерживают концепцию соглашение типов данных которая включает следующие договорённости: каждая переменная константа выражение функция относятся к некоторому типу; тип объекта либо определяется по внешнему виду либо задаётся специальным описанием; тип Т определяет множество значений допустимых для данных этого типа множество допустимых операций множество функций определённых для данных этого типа Т. Тип Т = {DomT OPT FunT} { некоторая область памяти её размер способ представления...