Чем отличается двумерный массив от одномерного массива
Перейти к содержимому

Чем отличается двумерный массив от одномерного массива

  • автор:

Работа с массивами данных.
Одномерные и двумерные массивы

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

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

Если в массиве для обращения к элементам используется только один порядковый номер, то такой массив называется линейным, или одномерным . Одномерный массив можно представить в виде таблицы, в которой существует только одна строка.

Количество индексов элементов массива определяет размерность массива.

Массивы с двумя индексами называют двумерными . Такие массивы можно представить в виде таблицы, в которой номер строки соответствует первому индексу, а номер ячейки в строке (номер столбца) — второму индексу.

Чаще всего применяются одномерные массивы и двумерные массивы .

Чтобы объявить массив (это необходимо для выделения памяти, в которой будут храниться значения элементов массива), следует указать его имя и размерность при помощи ключевого слова МАССИВ .

В данном примере будет объявлен одномерный массив А, состоящий из 10 элементов.

В данном примере будет объявлен двумерный массив М, который можно представить в виде таблицы, состоящей из 4-х строк по 5 ячеек в каждой строке.

Ограничение на размер одномерного массива — 1000 элементов, для двумерных — 1000х1000. В учебных целях лучше не использовать массивы более чем из 500 элементов, чтобы не замедлять время обработки. Все массивы в Game Logo имеют числовой тип (действительные числа).

Содержимое элементов массива при объявлении равно нулю.

Работа с массивами

После объявления массива каждый его элемент можно обработать, указав идентификатор (имя) массива и индекс элемента в квадратных скобках. Например, запись M[2] позволяет обратиться ко второму элементу массива M.

При работе с двумерным массивом указываются два индекса. Например, запись
M[3,4] делает доступным для обработки значение элемента, находящегося в третьей строке четвертого столбца массива M.

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

Присваивание значений элементам массива

Третьему элементу массива А будет присвоено значение 15.

Элементу массива М, находящемуся во второй строке четвертого столбца, будет присвоено значение 25.

Ввести значение в элемент массива можно также при помощи команды СПРОСИ.

Загрузка данных в массив

Загрузить данные в массив можно при помощи команды ЗАГРУЗИ.

Примеры для одномерного массива А.

загрузи в A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
конец загрузки

загрузи в A
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
конец загрузки

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

Пример для двумерного массива М.

загрузи в M
15 17 25 36 24 56 78 56 36 24
56 78 56 36 24 15 17 25 36 25
15 17 25 36 24 56 78 56 36 24
78 56 36 24 15 17 17 25 36 25
36 24 56 78 24 56 78 56 36 24
39 78 56 36 24 25 15 15 89 71
15 17 25 36 24 56 78 56 36 24
78 56 36 24 15 17 17 25 36 25
36 24 56 78 24 56 78 56 36 24
39 78 56 36 24 25 15 15 89 71
конец загрузки

Заполнение массива с помощью циклов

Заполнение одномерного массив.

повторить для x от 1 до 10 M[x] = 555
>

Заполнение двумерного массив с помощью вложенных циклов.

повторить для x от 1 до 5 повторить для y от 1 до 7 M[x,y] = 555
>
>

Заполнение массива случайными числами

Заполнить массив случайными числами можно при помощи цикла.

Пример заполнения элементов массива А псевдослучайными целыми числами в диапазоне от 10 до 99:

массив А[100]
переменная х

повторить для х от 1 до 100 А[х] = Int(случайное * 89) + 10
>

Вывод значений элементов массива

На экран будет выведено значение третьего элемента одномерного массива А.

Будут выведены значения всех элементов массива А.

Знак # в команде ПИШИ выводит массив целиком. Для одномерных массивов вывод осуществляется с переносом строк. Для двумерных — как есть в виде таблицы, поэтому возможен выход за пределы поля.

Вывод массива в графическом виде

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

Необязательные параметры и взяты в скобки. Они обеспечивают отступ от начала координат (верхнего левого угла).

Замена и копирование значений в массивах

Команда для замены во всем массиве одного значения на другое.

Команда для копирования всех значений одного массива в другой массив. Количество элементов и размерность массивов должны совпадать.

Понятие массива. Одномерные и двумерные массивы. Элемент массива.
план-конспект урока по информатике и икт (9 класс) по теме

Сегодня на уроке мы с вами рассмотрим новое понятие массив. Массивэто упорядоченный набор однотипных данных. Иначе говоря, массив – это таблица, каждый элемент которой является элементом массива. Массивы бывают одномерные и двумерные. Одномерный массив – это линейная таблица, т.е. таблица, элементы которой располагаются в одну строку или столбец. Двумерный массив – это прямоугольная таблица, т.е. таблица, которая состоит из нескольких строк и столбцов.

Скачать:

Вложение Размер
Microsoft Office document icon9kl.massiv.doc 40 КБ

Предварительный просмотр:

Костанайская обл., Мендыкаринский р-н, ГУ «Буденновская средняя школа»,

Дощанова Гульжан Байгариевна

Тема: Понятие массива. Одномерные и двумерные массивы. Элемент массива.

Ввести понятие массива, элемента массива. Рассмотреть одномерные и двумерные массивы. Закрепить навыки решения задач, составления программ и вычерчивания блок-схем.

Развивать у учащихся логическое мышление.

Воспитывать у учащихся чувство ответственности, бережное отношение к технике.

  1. Организационный момент.
  2. Проверка домашнего задания.
  3. Объяснение нового материала.
  4. Решение задач.
  5. Задание на дом.
  1. Организационный момент. Проверить готовность кабинета к занятиям, провести перекличку учащихся.
  1. Проверка домашнего задания. Проверить правильность решения домашних задач. Закрепить теоретический материал предыдущего урока.
  1. Объяснение нового материала.

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

Массивы

Понятие двумерного массива. Описание типа массива. Формирование значений элементов массива случайным образом

Одним из основных направлений использования компьютеров является накопление и обработка данных — различных таблиц, справочников, словарей и другой информации. Для представления такой информации в программе удобно использовать массивы. Как правило, обработка таких данных осуществляется по одному и тому же закону, для чего удобно использовать циклические алгоритмы. Мы уже рассматривали формирование и обработку одномерных массивов. Вспомним, что в массив мы объединяем конечную последовательность компонентов одного типа и даем им общее имя. Каждый отдельный компонент массива называется элементом. Количество элементов называется размером массива. Тип элементов определяет тип массива. Размер и тип массива указываются при его описании, причем размер может быть указан либо конкретным значением, либо ранее определенной константой. Номер элемента называется индексом. Индексы могут быть целыми положительными константами или целыми переменными. Чтобы обратиться к некоторому элементу массива, нужно рядом с идентификатором массива в скобках указать индекс элемента. Но часто данные могут быть организованы в виде таблицы (матрицы), где расположение каждой переменной определяется номером строки и номером столбца. Например, место в зрительном зале задается указанием номера ряда и номером места в этом ряду. Такие данные удобно описать как двумерный массив. В отличие от одномерного массива каждому элементу двумерного массива соответствует пара индексов. Первый индекс — это номер строки, а второй — номер столбца, где расположен элемент массива. Размер двумерного массива задается парой чисел: M*N, где M — число строк, а N — число столбцов в таблице. Пусть задан двумерный массив Matr, имеющий размер 10*20. Этот массив на языке Паскаль может быть описан следующим образом:

Var
Matr : array [1..10,1..20] of integer;

тогда Matr[5,7] — элемент, расположенный в 5-ой строке и в 7-ом столбце. Любая константа, переменная, значение функции или выражения в Турбо Паскале характеризуется своим типом. Тип любого из этих объектов определяет множество допустимых значений, которые может иметь объект, а также множество допустимых операций, которые применимы к объекту. Кроме того, тип определяет и формат внутреннего представления значения объекта. Имя, которое программист присваивает своему определяемому типу, — произвольный идентификатор. Объявление типа должно быть сделано в разделе объявлений, и ему должно предшествовать кодовое слово Type. Отличительной особенностью массивов является то обстоятельство, что все их компоненты суть данные одного типа (возможно, структурированного); эти компоненты можно легко упорядочить и обеспечить доступ к любому из них простым указанием его порядкового номера, например:

Type
Digit = array [0..9] of integer;
Matrix = array [1..100, 0..9] of real;
Var
m : Matrix;
d : Digit;
i : integer;

Описание типа массива задается следующим образом: <имя типа>= array [] of ; где:

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

Примечание. Обычно в качестве индексного типа используется тип-диапазон, в котором задаются границы изменения индексов через две точки (..). Так как , идущий за кодовым словом of, — любой тип Турбо Паскаля, он может быть, в частности, другим массивом. Рассмотрим примеры. Пример 1. Массив можно описать как одномерный, элементами которого в свою очередь являются одномерные массивы.

Const
n=2; m=3;
Type
MyArray1 = array [1..m] of integer;
MyArray2 = array [1..n] of MyArray1;
Var
V : MyArray1;
A : MyArray2;

В данном случае переменная V объявлена как одномерный массив из трех элементов целого типа, а переменная А описана как двумерный массив из двух строк, в каждую из которых включено по три элемента. Пример 2. Описание массива можно сократить, исключив определение массива MyArray1.

Const
n=2; m=3;
Type
MyArray2 = array [1..n] of array [1..m] of integer;
Var
A : MyArray2;

Пример 3. Еще более краткое описание массива А можно получить, указывая имя массива и диапазоны изменения индексов для каждой размерности массива (чем мы уже пользовались).

Const
n=2; m=3;
Type
MyArray2 = array [1..n, 1..m] of integer;
Var
A : MyArray2;

Пример 4. Если же указанный тип используется для определения одного массива в программе, то удобно объявление массива в разделе описания переменных.

Const
n=2; m=3;
Var
A : array [1..n, 1..m] of integer;

Формирование значений элементов массива случайным образом и с клавиатуры и вывод их на экран

Операции работы с двумерными массивами аналогичны операциям работы с одномерными массивами, нужно только не забывать о различиях между массивами. Обычно при работе с двумерными массивами используются вложенные циклы. Очень часто значения элементов массива вводятся с клавиатуры. Этот способ задания информации слишком трудоемок при работе с массивами больших размеров. Для отладки широкого класса алгоритмов такой ввод информации должен быть заменен формированием элементов массива случайным образом. Для этого используют встроенные средства Турбо Паскаля: процедуру Randomize и функцию Random. Вы уже сталкивались с этими средствами. Сегодня же наша задача создать процедуру ввода элементов в массив и процедуру вывода элементов на экран. Приведем пример заполнения массива случайными числами. Эта процедура должна принять в качестве входных параметров массив, количество строк и столбцов, заданные пользователем с клавиатуры в основном разделе операторов. Так как наша процедура будет воздействовать на пустой исходный массив, то его мы должны передать по ссылке. Количество строк и столбцов достаточно передать копиями по значению.

Procedure InsertMas1(Var X : MyArray; n, m: integer);
Var
i, j : integer;
Begin
Randomize;
for i := 1 to n do
for j := 1 to m do
X[i, j]:= Random(50);
End;

Теперь, чтобы воспользоваться этой процедурой, достаточно вызвать ее в основном разделе программы, передав ей параметры. Рассмотрим процедуру вывода элементов массива на экран. Для того, чтобы вывести наш массив на экран в виде таблицы, поставим при переходе к новой строке оператор writeln и применим формат вывода элементов (:5).

Procedure PrintMas(X : MyArray; n, m: integer);
Var
i, j : integer;
Begin
for i := 1 to n do
begin
for j := 1 to m do
write(X[i, j]:5);
writeln;
end;
End;

Задание. Наберите программу-шаблон для работы с двумерными массивами. Как вы уже знаете из предыдущей темы, она должна содержать две процедуры ввода и процедуру вывода элементов заданного массива. Основной раздел операторов должен содержать диалог с пользователем и защиту программы от ввода недопустимых значений для количества строк и столбцов. Сохраните файл в соответствующем каталоге на своей дискете. Рассмотрите процедуру, решающую следующую задачу. Задача. Дана таблица действительных чисел. Сосчитайте сумму всех чисел в таблице.

Обратите внимание, что внутри цикла со счетчиком i организован цикл со счетчиком j. В результате суммируются в начале числа 1-й строки (i=1, при j=1, 2, . m), затем суммируются числа 2-й строки (i=2, при j=1, 2, . m) и т.д. В данной программе в теле одного цикла содержится другой цикл. Такие циклы, как Вы уже знаете, называются вложенными. Причем цикл со счетчиком i является внешним, а цикл со счетчиком j — внутренним. Не забывайте основное правило при написании вложенных циклов: последний оператор внутреннего цикла должен либо предшествовать, либо совпадать с последним оператором внешнего цикла. Вложенные циклы напоминают матрешек, вложенных одна в другую. Задание. Откройте файл программы-шаблона, сохраните его под другим (соответствующем задаче) именем и дополните текст программы функцией нахождения суммы элементов, правильно преобразовав в нее рассмотренную выше процедуру. Внесите в программу необходимые операторы и комментарии. Задание. Ниже приведен фрагмент решения некоторой задачи. Внимательно рассмотрев решение, сформулируйте решаемую задачу и оформите по всем правилам, применив знания текущего занятия.

. . .
for i := 1 to N do
Begin
M := a[i,1];
S := a[i, 1];
for j := 2 to N do
begin
if M>a[i, j]
Then
M := a[i, j];
S := S+a[i, j];
end;
writeln (i:7, M:6, S:6:3);
End;
. . .

Чем одномерный массив отличается от двумерного?

Author24 — интернет-сервис помощи студентам

1)Чем одномерный массив отличается от двумерного?
2)Какие необходимы действия, чтобы вывести на экран все отрицательные элементы массива?
3)Почему при поиске какого-либо элемента в массиве нельзя обойтись без цикла?

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Чем отличается массив массивов и двумерный массив
Чем отличаются эти конструкции? int a1; int a2;

Чем отличается массив от множества
чем отличается массив от множества?

Чем отличается указатель на массив от обычного указателя?
Чем отличается указатель на массив от обычного указателя?

Дан двумерный массив. Сформировать одномерный массив только из четных элементов двумерного массива
Последний раз прошу, пожалуйста

Регистрация: 02.01.2011
Сообщений: 135
Записей в блоге: 1

Лучший ответ

Сообщение было отмечено Ev1llion как решение

Решение

1) тем же чем линия от плоскости, т.е. соответсвием параметров однозначно определяющих конкретную сущность.
в одномерном массиве для однозначного определения элемента хватит одного параметра(как в случае с прямой для определения точки на ней достаточно одной цифры), в то время как в двумерном массиве необходимо два параметра для индентификации текущего элемента(для точки на плосткости x,y)
2) пройтись по массиву, сравнить элементы с нулем, если элемент меньше нуля — вывести на экран
3) можно, на лурке есть подходящее определение для такого стиля «китайский код»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *