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.


 

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

28714. Силовые структуры, их место и роль в Российском демократическом государстве 13.09 KB
  Помимо вопроса безопасности мирных граждан и реформирования армии есть еще один аспект который не может не волновать общество при поиске места и задач для силовиков в современных условиях. Особенности функционирования силовых институтов на современном этапе их развития предполагают некоторые выводы: вопервых функции армии и милиции как инструментов власти являются частью государственных функций и находятся в прямой зависимости от природы правящего в стране политического режима проводимой им политики; вовторых основным предназначением...
28715. Разработка и принятие Конституции СССР 1936г. Ее основные положения. Реорганизация системы Советов. Национально-государственное строительство в 1936 - 1940 гг., его правовая оценка 13.45 KB
  Разработка и принятие Конституции СССР 1936г. Новая Конституция СССР была утверждена 5 декабря 1936 г. Политой основой СССР в ней названы Советы депутатов трудящихся эккой основой социалистическая система хозва и социалистическая собствсть на орудия и средства производства. провозгласила что в СССР победили социалистические общные отношения и создались такие основы социализма как ликвидация эксплуататорских классов господство социалистической собствти наличие дружественных классов рабочих крестьян и народной интеллигенции...
28716. Развитие законодательства о колхозах и труде в предвоенные годы 14.34 KB
  На II Всесоюзном съезде колхозников ударников был принят Примерный устав сельскохозяйственной артели который впоследствии был утвержден СНК СССР и ЦК ВКПб. СНК СССР и ЦК ВКПб в целях развития животноводства приняли следующие постановления: от 8 июля 1939 г. Постановление СНК СССР ЦК ВКПб и ВЦСПС от 28 дек. О мероприятиях по упорядочению трудовой дисциплины улучшению практики госго соцго страхя и борьбе с злоупотреблениями в этом деле; Указ Президиума Верховного Совета СССР от 26 июня 1940 г.
28717. Сталинский «большой скачок» и утверждение в СССР тоталитарного режима (1929 – 1940) 13.91 KB
  Сталинский большой скачок и утверждение в СССР тоталитарного режима 1929 1940. разработанных Госпланом СССР она одобрила первый. Немало крупных объектов возводилось в национальных республиках СССР. Происходили также важные сдвиги в управлении всем промм комплексом СССР.
28718. Перестройка органов государственной власти и управления в годы Великой Отечественной войны (1941 - 1945 гг.) 12.8 KB
  Поскольку сразу встал вопрос об эвакуации промышленных предприятий в восточные районы страны был создан Совет по делам эвакуации при ГКО. был образован Комитет по эвакуации продовольственных запасов промышленных товаров и предприятий промышленности. В декабре оба органа сменило Управление по делам эвакуации. Эвакуацией людей занималось Управление по эвакуации населения.
28719. Гражданское, трудовое, колхозное и уголовное право в годы Великой Отечественной войны (1941 -1945 гг.) 13.75 KB
  В грм праве оправдывается принцип единства госной собствсти позволявший госву оперативно и быстро распоряжаться своей собствтью в целях налаживания военной экономики мобилизации всех существующих ресурсов на борьбу с фашизмом. Были расширены права госва в отношении некотх объектов права личной собстти в круг наследников были включены трудоспособные родители братья и сестры. Трудовой мобилизации подлежали мужчины от 16 до 55 лет и женщины от 16 до 45 лет не работавшие в госных учреждениях и предпрях. Усиливается отвсть лишение...
28720. Попытки преодоления административно-командной системы управления после смерти Сталина и вторая кодификация права (1945 - начало 70-х гг.) 13.52 KB
  были приняты Основы законтва в обл. Основы грго заква и Основы грго судопрва подготовлены проекты Основ законодательства о семье и Основ законодательства о труде. были приняты новые Основы угго заква СССР и союзных республик. Основы отменили самые одиозные положения сталинского времени.
28721. Трудовое, колхозное и уголовное право в 1953 - 1958 гг. 12.72 KB
  Верховным Советом СССР были приняты новые Основы уголовного законодательства Союза ССР и союзных республик. Основы состояли из 4 разделов и 47 статей. задачи Основы провозглашали охрану советского и госного строя социалистической собствсти социалистического правопорядка личности и прав граждан. Основы обеспечивали единство советского уголовного законодательства его целей принципов и основных институтов.
28722. Перестройка управления промышленностью и экономическая реформа в середине 60-х гг. 13.04 KB
  Перестройка управления промышленностью и экономическая реформа в середине 60х гг. Реформа управления промышленностью. Реформа была проведена очень быстро и сначала положение улучшилось но были разрушены отраслевые экономические связи и неожиданно вместо чиновников центрального аппарата стала расти бюрократия на местах. Дав все права совнархозам реформа забыла о правах самих предприятий.