36575

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

Контрольная

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

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

Русский

2013-09-22

33 KB

0 чел.

Структурный тип ма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.


 

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

75424. Інкрементальні сенсори положення. Кодові лінійки і диски абсолютних сенсорів 631 KB
  Інкременгальні сенсори переміщення оснащені лінійкою з рисковими поділками. Читання положення рисок здійснюється оптичними або магнітними методами. В сенсорах через які проходить світло використовуються скляні лінійки з рисками які поглинають світло і проміжками які пропускають світло шириною 4 мкм рис. Пристрої які зчитують це складаються з потужного джерела світла зчитувальної пластинки і електронної системи аналізу.
75425. Основи і методи регулювання. Основні поняття. Види регулювання 205.5 KB
  Види регулювання. Регулювання. Регулювання є дією яка полягає в такому впливі на поточно вимірювану регульовану величину щоб вона була подібною до заданої величини.
75426. Регулятор і система регулювання 7.58 MB
  Регулятори: перервні аналогові цифрові. Регулятори: первинні аналогові цифрові Регулятори неперервної дії аналогові змінюють значення регульовальної координати об’єкту неперервним чином тобто ця координата може приймати будьякі значення з усього можливого діапазону. Неперервні регулятори будуються як правило з електронних операційних підсилювачів. Реулятори дискретної дії цифрові змінюють значення регульованої координати об’єкту так само як і регулятори первинної дії але в них зміна величини відбувається лише в певні моменти...
75427. Двохпозиційні регулятори 96 KB
  Принцип роботи Двохпозиційні регулятори забезпечують хорошу якість регулювання для інерційних обєктів з малим запізнюванням не вимагають настройки і прості в експлуатації. Ці регулятори представляють звичайний і найбільш широко поширений метод регулювання...
75428. Передумови розвитку мехатроніки і сфери застосування мехатронних систем. Класифікаційні ознаки мехатроніки 53.5 KB
  Передумови розвитку мехатроніки і сфери застосування мехатронних систем. Класифікаційні ознаки мехатроніки Останніми роками виникла і бурхливо розвивається у всьому світі нова галузь науки і техніки мехатроніка. Вузли модулі і системи мехатроніки МС стають основою технологічних машин і агрегатів з новими властивостями для різних галузей промисловості а також вони можуть бути використані при розробці периферійних пристроїв устроїв...
75429. Концепція побудови мехатронних систем. Визначення і термінологія мехатроніки 52.5 KB
  Мехатроніка це нова галузь науки і техніки присвячена створенню і експлуатації машин і систем з компютерним управлінням рухом яка базується на знаннях в області механіки електроніки і мікропроцесорної техніки інформатики і компютерного управління рухом машин і агрегатів.
75430. Механічні та електричні інтерфейси сенсорів. Оптикомеханічні і фото імпульсні здавачі 45.5 KB
  Інтерфейси сенсорів залежно від фізичного характеру вхідних змінних стану системи можна розділити на електричні і механічні. До механічних відносяться приєднувальні пристрої для датчиків зворотного звязку приводів (оптикомеханічних, фотоімпульсних, кодових, тахогенераторів, потенціометрів, резольверов)
75431. Основні принципи техніки керування 511 KB
  Механічна енергія з валу електричного двигуна передається до регулювальної передачі в якій швидкість напрям та час тривання обертання стартстоп можуть регулюватися за допомогою механічних пневматичних гідравлічних або електричних сигналів. Це можна здійснити перериваючи неперервний обертовий рух за допомогою додаткового доданого до передачі вимикального механізму. Регульовані передачі. У більшості випадків потужність отримувана на вхідному валі передачі привідному є постійна.
75432. Передачі кочення 566.5 KB
  У регулювальних передачах кочення передавання моменту обертання здійснюється за допомогою конусних або кулькових елементів кочення рис. Елементами кочення в регулювальних планетарних передачах є наприклад конусні диски які обертаються планетарно навколо привідного вала рис. Рис. Фрикційна передача з Рис.