КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Обращение к элементу массива
Basic Объявления массивов Массивы Совокупности данных Дополнительные типы данных Описанные выше типы данных можно считать основными. Они используются в той или иной форме во всех языках программирования. В языке C (C++) определены также следующие типы: указатели, ссылки, перечисления (enum), void; в языке Basic: перечисления (enum), даты (date), универсальный (object) и десятичный (decimal). Они будут введены позже по ходу изложения. Переменные любых типов могут быть объединены в совокупности. Если в совокупности все переменные одного типа и место каждой определяется номером (индексом), то это массив, если же разных, то – структура. Пример. Массив. Система линейных алгебраических уравнений. a11*x1+a12*x2=b1 a21*x1+a22*x2=b2 В результате имеем 3 массива: {aij,i,j=1,2}, {xk,k=1,2}, {bl,l=1,2}. Количество индексов определяет размерность массива. Различают одномерные (размерность равна 1) и многомерные (размерность > 1) массивы. Расположение в памяти элементов многомерного массива в языках C и Basic лексикографическое, т.е. в следующем порядке: a11 a12 a21 a22 . Доступ к отдельным элементам производится по значениям индексов. Пример. i=1 j=2 aij=a12 Массивы должны быть объявлены в специальных инструкциях. С <элемент>:=<имя> [ <длина> ] [, [ <длина> ] ]… <длина> - количество элементов массива в данном измерении. Замечание. Жирным выделены символы языка, начертание которых совпадает с метаобозначениями. Пример. Page[10 ] Line[81] Screen[24][80] Vect[20] Matr[10][10] Нижняя граница (минимальное значение) индекса в каждом измерении всегда равна 0, верхняя (максимальное значение) равна длина-1. Пример. В объявлении Matr[10][10] первый элемент – это Matr[0][0], последний – Matr[9][9]. Всего элементов 10*10=100. Многомерный массив можно рассматривать как массив, элементами которого являются массивы меньшей размерности. Пример. Matr[0] – первый элемент массива, элементом которого является массив из 10 элементов. Длина измерения – целое постоянное выражение (пока будем считать, целое без знака). < массив >:=< имя >(< индекс>[,<индекс>]...) <индекс>:=[нижняя граница to ] верхняя граница Различают массивы фиксированного размера (в качестве границ при объявлении используются целые числа >0) и массивы, размеры которых могут изменяться при выполнении программы – динамические массивы (о них позже). В данной версии языка нижняя граница индекса массива всегда равна 0. Задать отличную от 0 нижнюю границу можно, но это только приведет к неиспользованию части отведенной под массив памяти. Пример. A(1,1) X(1) DaysOfMonth(1 to 12) Etap(1 to 20, 1) Matr(,) Массив Matr() относится к динамическим массивам. Замечание. Старайтесь не использовать нижнюю границу при объявлении массива, поскольку нижняя граница измерения всегда равна 0. В результате при массивах DaysOfMonth и Etap память используется неполностью. DaysOfMonth: выделено памяти под 12+1=13 элементов, используется 12, Etap: выделено памяти под (20+1)*(1+1)=42 элемента, используется 40. В отличие от языка C, где в объявлении массивов используется понятие длина или количества элементов в данном измерении массива, понятие верхняя граница означает максимальное значение индекса в данном измерении и, следовательно, объявление A(1,1) определяет массив данных из 4 элементов: A(0,0), A(0,1), A(1,0), A(1,1). Как видно из примера, многомерные массивы аналогично языку C располагаются в памяти построчно. С <имя> [ i1 ] [ [ i2 ] ]…, где i1, i2 – целые выражения. Пример. Page[ 5 ] Line[ i ] Screen[ j ][ k ] Matr[ i-1 ][ j+i-1] Basic <имя>(i1[,i2]...), где i1, i2 – целые выражения. Пример. Page(5) Line(i) Etap(j, k) Matr(i-1, j+i-1)
Дата добавления: 2014-12-27; Просмотров: 552; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |