Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ. РАЗМЕРНОСТЬ И ОПИСАНИЕ МАССИВОВ, ИНДЕКСИРОВАНИЕ ИХ ЭЛЕМЕНТОВ




Массивы

Цель данного пособия – краткое описание с рассмотрением соответствующих примеров основных вопросов программирования встречающихся при машинной обработке массивов числовых данных. При этом используется версия TURBO PASCAL 7.0 алгоритмического языка PASCAL. Для самостоятельной работы с пособием необходимо знать основные элементы этого языка: типы величин, операторы присваивания, перехода и циклических вычислений, а также способы ввода и вывода числовых и символьных данных.

Для полного и успешного усвоения излагаемого материала целесообразна проработка приведенных в пособии примеров непосредственно на ЭВМ.

ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ. РАЗМЕРНОСТЬ И ОПИСАНИЕ МАССИВОВ, ИНДЕКСИРОВАНИЕ ИХ ЭЛЕМЕНТОВ

Упорядоченная совокупность каких–либо однородных данных называется массивом. Примерами таких данных могут быть результаты экспериментов, цифры статистической отчетности, табличные значения той или иной функции, список фамилий сотрудников учреждения, их должностных окладов и т.п.

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

Массивы могут быть числовыми и символьными, а также одно– и многомерными.

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

Трехмерный массив – это стопка матриц одного размера. Значение каждого элемента такого массива определяется номерами (индексами) страницы в стопке, а также строки и столбца на этой странице. Необходимо иметь в виду, что в языке PASCAL индексы могут выражаться константами, переменными и арифметическими выражениями. Таким образом размерность массива выражается количеством индексов, которое необходимо указать для определения каждого элемента этого массива:

для одномерного массива один индекс, например:

X5, Y2, Zk, T2n–1 и т.п.;

для двумерного два индекса, например:

a3,4, bi,j, r2i,k+1 и т.п.;

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

U3,4,8, P2k,j+1,3m и т.п.

Аналогично определяются массивы и большей размерности, которая в языке PASCAL практически не ограничена.

Все элементы массивов в программах используются со своими индексами, которые записываются после имени массива в квадратных скобках и (если их несколько) разделяются запятыми:

a[37]; v[k]; w[2*i+1];

x[3,5]; y[i,j]; z[k–1,2*m+1];

r[2,4,6]; s[k,l,m]; t[i+2,j–1,3*k+n].

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

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

Описание может осуществляться двумя способами: как в разделе типов (Type), так и в разделе переменных (Var).

Например, массив Х, состоящий из 20 вещественных чисел с индексами от 1 до 20; может быть описан так:

1–й способ:

Type X= array [1..20] of real;

Var X: real;

или

2–й способ:

Var X: array [1..20] of real;

Общий вид описания в разделе var:

A: array [T12,...,Tк] of тип;

где А– имя массива; Т12,...,Тk – типы индексов; тип – это тип элементов массива. Служебные слова array..... of real можно перевести как “массив из вещественных чисел”. Аналогично определяются массивы из других чисел, символов и т.п.

Например, массив фамилий студентов академгруппы из 25 человек может быть описан так:

Var Fam: array [1..25] of string[20];

В этом описании запись string[20]; означает, что массив состоит из строковых данных, длинной не более 20 символов (букв) каждое.

Рассмотрим еще один пример: пусть в программе необходимо работать с матрицей М из целых чисел:

В данном случае элементы массива имеют тип integer. Массив двумерный; первый индекс–номер строки изменяется в пределах от 1 до 3; второй индекс–номер столбца изменяется от 1 до 4. Описание этого массива выглядит так:

м: array [1..3,1..4] of integer;

Задав конкретные значения индексов, можно выбрать определенный элемент этого массива. Например, оператор n:=m[2,3] присвоит величине n значение, стоящее на пересечении 2–й строки и 3–го столбца, т.е. число 42. Аналогично, оператор

к:=m[1,1] + m[3,3];

выполнит сложение чисел 10+19.

Отметим здесь, что описание массивов в разделе Type более экономно в случаях использования в программе нескольких одинаковых по размерности и составу массивов, в то время как описание в разделе Var удобнее, когда в программе используются массивы разной размерности и состава.

Например, фрагмент программы:

Type mas= array [1..100] of real;

Var x,y,z: mas;

Описывает три одномерных массива вещественных чисел с количеством элементов до 100 шт. в каждом с именами х, y, z. Описание же этих массивов в разделе Var потребуют три строки:

Var x: array [1..100] of real;

y: array [1..100] of real;

z: array [1..100] of real;

Наконец, необходимо иметь в виду, что в описаниях массивов диапазон изменения индексов может быть большим, чем тот, что реально будет использоваться в программе. Так каждый из описанных выше массивов х, y, z в программе может состоять из любого числа элементов от 1 до 100, но не один не может иметь более 100 элементов.

Далее в данном пособии рассматриваются задачи, связанные с обработкой одно– и двумерных числовых массивов.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных