Двумерные массивы
Основные понятия
Бейсик позволяет работать с массивами, имеющими до 255 измерений и содержащими до 32767 элементов по каждому из них. Однако следует хорошо подумать, стоит ли использовать эти возможности в полном объеме. Если вы сделаете свои массивы слишком большими, то будете долго вспоминать, как получить доступ к той или иной информации. В то же время иногда решение задачи возможно только при наличии многомерных массивов, или матриц. Наиболее часто применяются двумерные массивы, поскольку описывать информацию по ее позиции в одномерном списке весьма неудобно. Представьте себе, как трудно было бы найти свое место на стадионе, если бы на билете указывался лишь порядковый номер сиденья - один из многих тысяч! Билеты же, на которых проставлены и номер ряда, и номер места, существенно упрощают эту задачу. Составители географических карт тоже пользуются таким приемом. Координаты Парижа, Осло, Рима, обозначаются не как 1, 2 или 300, а в терминах градусов широты и долготы. Эти два числа указывают местоположение города относительно экватора и начального (Гринвичского) меридиана.
В Бейсике предусмотрены средства, с помощью которых вы можете организовать информацию таким же образом. Составляя программу, представьте себе прямоугольную таблицу наподобие пчелиных сот, или матрицу, где будут храниться данные. Каждое значение можно "положить в ячейку" и "вынуть из нее", если указаны номер соответствующих строки и столбца.
Имя и размерность матрицы определяется оператором
DIM A(3,4)
Этот оператор зарезервирует 12 ячеек:
A(1,1), A(1,2), A(1,3), A(1,4)
A(2,1), A(2,2), A(2,3), A(2,4)
A(3,1), A(3,2), A(3,3), A(3,4)
Каждый элемент описывается двумя индексами: первый обозначает номер строки, а второй - номер столбца.
Столбец 1 | столбец 2 | столбец 3 | столбец 4 | |
строка 1 | 1,1 | 1,2 | 1,3 | 1,4 |
строка 2 | 2,1 | 2,2 | 2,3 | 2,4 |
строка 3 | 3,1 | 3,2 | 3,3 | 3,4 |
Когда матрица определена, переменными из этой области памяти можно пользоваться наравне с любыми другими.
Дата добавления: 2015-09-14; просмотров: 896;