mozok.click » Інформатика » Двумерный массив данных
Інформація про новину
  • Переглядів: 1228
  • Автор: admin
  • Дата: 2-10-2017, 17:24
2-10-2017, 17:24

Двумерный массив данных

Категорія: Інформатика

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

В виде двумерного массива можно представить стулья в зале кинотеатра, где каждый стул определяется двумя индексами — номером ряда и номером стула в ряду. В виде двумерного массива легко представить поле шахматной доски или популярной компьютерной игры Сапер. Матрица экрана вашего монитора также является двумерным массивом пикселей.

Описание переменных типа двумерный массив

Двумерный массив — это прямоугольная таблица, в которой N строк и М столбцов. Элемент, расположенный на пересечении i-й строки и j-го столбца массива А, обозначают A[i,j].

Рассмотрим пример двумерного массива (рис. 38.1).

В массиве, заполненном таким образом:

А[1,1] = 7; А[2,3] = 0; А[3,2] = 3.

Элементы двумерного массива, для которых i = j, образуют главную диагональ.

Описать переменную типа двумерный массив можно двумя способами:



Присвоение значений элементам двумерного массива

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

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

Алгоритм вывода значений элементов двумерного массива:

1) для каждой i-й строки массива создать пустую строку S;

2) перебрать элементы i-й строки: каждый элемент строки преобразовать в строковый тип и добавить к строке S с добавлением пробела;

3) добавить строку S в список ListBox.


Полученные строки можно выводить не только в поле списка ListBox, но и в поле Memo или другим способом.

Вывести значения элементов массива A[1..3, 1..4] в поле списка ListBox.

Использование компонента StringGrid при работе с двумерными массивами

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

Расположенный на пересечении i-й строки и j-го столбца элемент массива Name обозначают Name[i,j], а ячейку таблицы StringGrid — StringGrid1.Cells[j,i]. То есть при обращении к ячейкам таблицы StringGrid первым индексом является номер столбца, а вторым — номер строки.

Создать на форме объект StringGridl (рис. 38.3), свойства которого настроить для вывода массива из трех строк и четырех столбцов (RowCount = 4, ColCount = 5).

Вывод номеров строк и столбцов запрограммирован в процедуре FormCreate:

Ввести с клавиатуры значения элементов массива А[1 ..3, 1..4] и вывести значения элементов массива в таблице StringGrid.


Вопросы для самопроверки

1. Опишите двумерный массив целых чисел из 5 строк и 8 столбцов.

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

3. Как заполнить двумерный массив случайными числами?

4. Определите, что содержится в таблице А[1..4, 1..5], если:

а) A[i,j] = i; б) A[i,j] = Maxjij};1 в) A[i,j] = Min{i,j}; г) A[i,j] = |i-j|.

5. Запишите фрагмент программы, позволяющей создать массив:

6. В ходе изучения темы 10 учащихся получили оценки по 5 тестам. Составьте программу для определения суммы баллов, набранной каждым учащимся.

Упражнение 38

Магический квадрат — это квадратная таблица (N = M), в которой суммы чисел каждого ряда (строки, столбца и диагонали) равны.

Составить программу, в которой игрок должен заполнить ячейки квадрата 3x3 числами от 4 до 12 так, чтобы получить магический квадрат. 1) Создайте новый проект. Разместите на форме компоненты и настройте их свойства (рис. 1).

2) Опишите глобальные массивы данных:

3) В процедуре обработки события onclick для кнопки Новая игра запрограммируйте вывод случайным образом трех значений из массива Numbers в таблицу StringGridl:

4) В процедуре обработки события onclick для кнопки Проверить запрограммируйте вывод значений массива mk в таблицу StringGrid1 и вычисление сумм элементов в строках. Если числа расположены правильно, то сумма чисел каждой строки равна 24. Если очередная сумма не равна 24, переменная Prap приобретает значение False. var i, j, k, n, sum_row, sum_col: Integer; Prap: Boolean;

5) Запрограммируйте проверку сумм элементов в столбцах. Если после вычисления всех 6 сумм переменная Prap не изменила значение, то квадрат заполнен правильно (рис. 2):

6) Проверьте работу программы. Всегда ли первоначальное расположение чисел позволяет заполнить магический квадрат? Сохраните проект в папке Упражнение 38. Завершите работу за компьютером.

Компьютерное тестирование

Выполните тестовое задание 38 с автоматической проверкой на сайте interactive.ranok.com.ua.

 

 

Это материал из учебника Информатика 9 класс Бондаренко

 






^