Одномерные двумерные массивы

Автор: Пользователь скрыл имя, 27 Декабря 2011 в 20:01, реферат

Описание работы

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

Работа содержит 1 файл

ОДНОМЕРНЫЕ И ДВУМЕРНЫЕ МАССИВЫ.docx

— 30.01 Кб (Скачать)

    1429.3

    767.00

    95.20

    Их  можно занести в память компьютера, используя понятие двумерного

массива. Положение  элемента  в массиве  определяется двумя  индексами.

Они показывают  номер  строки  и номер  столбца.  Индексы  разделяются

запятой. Например: A[7, 6], D[56, 47].

    Заполняется  двумерный массив аналогично  одномерному: с клавиатуры,

с помощью оператора  присваивания. Например,  в результате  выполнения

программы:

    Program Vvod2;

    Var I, J : Integer;

    A : Array [1.. 20, 1.. 20] Of Integer;

    Begin

    FOR I := 1 TO 3 DO

    FOR J := 1 TO 2 DO A[I, J] := 456 + I

    End.

    элементы  массива примут  значения A[1, 1]  = 457; A[1,  2] =  457;

A[2, 1] = 458; A[2, 2] = 458; A[3, 1] = 459; A[3, 2] = 459.

    При  описании массива задается требуемый  объем памяти под двумерный

массив, указываются  имя  массива  и в  квадратных  скобках  диапазоны

изменения индексов.

    При   выполнении   инженерных  и   математических  расчетов   часто

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

на ЭВМ такие  переменные  представляются как  компоненты  соответственно

трех-, четырехмерных  массивов и т.д.

    Однако  описание массива в виде многомерной  структуры делается лишь

из соображений  удобства  программирования  как  результат  стремления

наиболее точно  воспроизвести в программе объективно существующие связи

между элементами  данных  решаемой  задачи.  Что  же  касается  образа

массива в памяти  ЭВМ, то  как одномерные, так  и  многомерные  массивы

хранятся  в  виде  линейной  последовательности  своих  компонент,   и

принципиальной  разницы между  одномерными и  многомерными массивами  в

памяти ЭВМ  нет.  Однако  порядок,  в  котором  запоминаются  элементы

многомерных  массивов,   важно   себе  представлять.   В   большинстве

алгоритмических  языков  реализуется  общее  правило,  устанавливающее

порядок хранения  в памяти  элементов массивов:  элементы  многомерных

массивов хранятся в памяти в последовательности, соответствующей  более

частому изменению  младших индексов.

    Задача 5. Заполнить матрицу порядка n по следующему образцу:

    1

    2

    3

    ...

    n-2

    n-1

    n

    2

    1

    2

    ...

    n-3

    n-2

    n-1

    3

    2

    1

    ...

    n-4

    n-3

    n-2

    ...

    ...

    ...

    ...

    ...

    ...

    ...

    n-1

    n-2

    n-3

    ...

    2

    1

    2

    n

    n-1

    n-2

    ...

    3

    2

    1

    Program Massiv12;

    Var I, J, K, N : Integer; A : Array [1.. 10, 1.. 10] Of Integer;

    Begin

    Write('Введите порядок матрицы: '); ReadLn(N);

    For I := 1 To N Do

    For J := I To N Do

    Begin

    A[I, J] := J - I + 1; A[J, I] := A[I, J];

    End;

    For I := 1 To N Do

    Begin

    WriteLn;

    For J := 1 To N Do Write(A[I, J]: 4);

    End

    End.

    Задача 6. Дана  целочисленная квадратная  матрица.  Найти в  каждой

строке наибольший элемент и поменять  его местами  с элементом  главной

диагонали.

    Program Obmen;

    Var N, I, J, Max, Ind, Vsp :  Integer; A : Array [1.. 15, 1..  15]

Of Integer;

    Begin

    WRITE('Введите  количество элементов в массиве: '); READLN(N);

    FOR I := 1 TO N DO

    FOR J := 1 TO N DO

    Begin

    WRITE('A[', I, ',', J, '] '); READLN(A[I, J])

    End;

    FOR I := 1 TO N DO

    Begin

    Max := A[I, 1]; Ind := 1;

    FOR J := 2 TO N DO

    IF A[I, J] > Max THEN

    Begin

    Max := A[I, J]; Ind := J

    End;

    Vsp := A[I, I]; A[I, I] := A[I, Ind]; A[I, Ind] := Vsp

    End;

    FOR I := 1 TO N DO

    Begin

    WriteLn;

    FOR J := 1 TO N Do Write(A[I, J] : 3);

    End; WriteLn

    End.

    Контрольные  вопросы и задания

    Что  такое массив?

    Почему  массив является структурированным  типом данных?

    Что   такое  размерность  массива?  Существуют  ли  ограничения   на

размерность массива?

    Какого  типа могут быть элементы массива?

    Какого  типа могут быть индексы элементов  массива?

    Какие  простые типы данных относятся  к порядковым?

    Какими  способами может быть заполнен  массив? Приведите примеры.

    Как  определить минимальный объём  памяти, отводимой под массив?

    Какие  действия выполняют обычно над  элементами массива?

    Может  ли массив быть элементом массива?

    В  каком случае массивы совместны  по присваиванию?

    Пусть  элементами  массива  A  (a[1], a[2],  a[3],  a[4])  являются

соответственно  x, -x, x2, -x2. Чему будет равно значение выражения

    a[-a[a[3]-2]]+a[-a[a[3]]]

    при  x=2?

    Можно  ли выполнять обход  двумерного  массива, организовав  внешний

цикл по столбцам, а внутренний - по строкам?

    Точно  и однозначно сформулировать  условие задачи, решение  которой

приведено в  данной программе:

    Program Kr_N_4;

    Const NMax = 50; Type Mass = Array[1.. NMax, 0.. NMax-1] Of Real;

    Var A : Mass; I, J, N : 0.. NMax; C : Real;

    Begin Write('Количество элементов массива N=? '); ReadLn(N);

    For I := 1 To N Do

    For J := 0 To N-1 Do

    Begin Write('A[', I,',', J,']= '); Readln(A[I, J])End;

    For I := 1 To N Do

    For J := 0 To N-1 Do

    Begin C := A[I, J];

    A[I, J] := A[N-I+1, J];

    A[N-I+1, J] := C

    End;

    For I := 1 To N Do

    Begin For J := 0 To N-1 Do

    Write(A[I, J]: 5:2,' ');

    WriteLn

    End;

    End.

    Используются  ли  вложенные циклы,  если совершается   обход  только

главной диагонали  квадратной матрицы?

    Список  литературы

    Для  подготовки данной работы  были  использованы материалы с   сайта

http://www. comp-science. narod. ru/

    Работы,  похожие  на  Реферат:  Одномерные  и  двумерные   массивы

(таблицы)

    Object Pascal

    Object Pascal 1.  Основы языка  Object Pascal  1.1. Алфавит языка

Основными символами  языка Object Pascal являются: символы _ 26 больших

и 26 малых ... Var i, j , k : Integer ; For j :=1 to K do ...

    Похожие работы

    Проектирование  и разработка сетевых броузеров на основе  теоретико

...

    МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ  ТАВРИЧЕСКИЙ  НАЦИОНАЛЬНЫЙ

УНИВЕРСИТЕТ  им.  В.И.Вернандского  МАТЕМАТИЧЕСКИЙ  ФАКУЛЬТЕТ КАФЕДРА

ИНФОРМАТИКИ ...  VAR computers  : array  [1.. 38]  of TComp  -  массив

компьютеров глобальной сети; for  k :=1 to  7 do if (AMatr[  k , j  ].

link=1) then begin ...

    Похожие работы

    Проектирование  и разработка сетевых броузеров на основе  теоретико

...

    МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ  ТАВРИЧЕСКИЙ  НАЦИОНАЛЬНЫЙ

УНИВЕРСИТЕТ  им.  В.И.Вернандского  МАТЕМАТИЧЕСКИЙ  ФАКУЛЬТЕТ КАФЕДРА

ИНФОРМАТИКИ ... for k  :=1 to 7 do  if (AMatr[ k ,  j ]. link=1)  then

begin VAR i, j : integer ;...

    Похожие работы

    Проектирование  и разработка сетевых броузеров на основе  теоретико

...

    МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ  ТАВРИЧЕСКИЙ  НАЦИОНАЛЬНЫЙ

УНИВЕРСИТЕТ  им.  В.И.Вернандского  МАТЕМАТИЧЕСКИЙ  ФАКУЛЬТЕТ КАФЕДРА

ИНФОРМАТИКИ ... if vertexArr[  j ]. mark.  deltavertexArr[ k ].  mark.

delta>AMatr[ k  ,  j  ].  weight then  begin  vertexArr[  j  ].  mark.

prevPtr:= k  ; vertexArr[  j  ]. mark.  delta:=vertexArr[ k  ].  mark.

delta+AMatr[ k , j ]. weight ... FOR i:=1 to 38 do computers[i].  mem.

data:='';{computers initialization}  j :=1;  for i:=1  to 4  do  begin

{router 1,  domain  1} computers[i].  addr.  router:=1;  computers[i].

addr. domain:=1 ... ...

    Похожие работы

    Программирование  на языке Турбо Паскаль

    ...  Приведём  простейший  пример  программы,  единственная   цель

которой ( вывести  на экран какое-нибудь  приветствие: program  Hello;

begin writeln('Hello, ... program CountLetters; var s: string;  count:

array ['a'..'z'] of  byte; ch:  char; i: byte;  begin write  ('Введите

строку  >   ');   readln   (s);   for  i:=1   to   length(s)   do   if

(s[i]>='a')and(s[i ... Требуется распечатать его содержимое на экране:

program ShowFile;  var f:  text;  c: char;  begin  assign(f,'showfile.

pas'); reset(f); while not  eof(f) do begin while  not eoln(f) do  ...

...

    Похожие  работы

    Алгоритмический  язык Паскаль

    Основные  понятия  алгоритмического  языка  1.  ОСНОВНЫЕ   ПОНЯТИЯ

АЛГОРИТМИЧЕСКОГО  ЯЗЫКА СОСТАВ ЯЗЫКА. Обычный разговорный  язык  состоит

из четырех  основных ... for j :=1 to N-1 do var K : Integer ;...

    Похожие  работы

    Основные  понятия алгоритмического языка

    Основные  понятия алгоритмического языка  1. О С Н О В Н Ы Е П  О Н Я

Информация о работе Одномерные двумерные массивы