Вы уже ознакомились с приемами ввода и вывода значений элементов одномерного массива с использованием компонента Memo. Но поскольку алгоритмы обработки массивов предназначены для работы с таблицами данных, для большей наглядности работы программы желательно отображать содержимое массива в виде таблицы.
использование компонента StringGrid
Компонент StringGrid

предназначен для вывода
различных данных в табличной форме. Как следует из названия, ячейки компонента StringGrid могут содержать данные типа String.
Таблица StringGrid может состоять из зафиксированных ячеек-заголовков FixedCols и FixedRows, выделенных серым цветом, и обычных ячеек белого цвета (рис. 35.1). Обращение к ячейке таблицы, находящейся на пересечении столбца с номером col и строки с номером row, имеет вид StringGrid1.Cells[col, row]

Нумерация столбцов (col) и строк (row) начинается с нуля.
Рассмотрим основные свойства компонента StringGrid, с помощью которых можно определить структуру и вид таблицы.
|
Свойство |
Назначение |
|
RowCount |
Определяет общее количество строк |
|
ColCount |
Определяет общее количество столбцов |
|
FixedRows |
Определяет количество зафиксированных (серых) строк |
|
FixedCols |
Определяет количество зафиксированных (серых) столбцов |
|
Cells |
Содержит таблицу значений |
|
DefaultColWidth |
Определяет ширину столбца таблицы в пикселях |
|
DefaultRowHeight |
Определяет высоту строки таблицы в пикселях |
Рассмотрим пример настройки вида элемента StringGridl для отображения одномерного массива (рис. 35.2).

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

Заполнить массив случайными числами в диапазоне от 0 до 19 (рис. 35.3):

Редактирование содержимого ячеек таблицы StringCrid
За возможность редактирования обычных ячеек отвечают значения свойства Options. В окне Инспектор объектов список значений свойства Options содержит 32 элемента, которые могут принимать значения True или False.
Чтобы иметь возможность вводить данные в ячейки в ходе выполнения программы, нужно задать значение True следующим элементам списка Options:
|
Свойство |
Назначение |
|
goEditing |
Позволяет редактировать содержимое ячеек |
|
goAlwaysShowEditor |
При получении ячейкой фокуса делает текст в ней доступным для редактирования (при goEditing = True) |
|
goTabs |
Перемещает фокус на соседнюю ячейку при нажатии клавиши Tab |
Заполнить таблицу с клавиатуры и найти среднее арифметическое элементов массива (рис. 35.4):

Вопросы для самопроверки
1. Объясните порядок настройки вида элемента StringGridl для отображения одномерного массива.
2. Какое свойство компонента StringGrid отвечает за возможность редактирования содержимого ячеек таблицы StringGrid?
3. Составьте программу для замены наибольшего элемента последовательности из 10 чисел нулем.
4. Составьте программу, которая меняет местами первый и наибольший элементы последовательности из 10 чисел.
5. Дано 20 вещественных чисел. Составьте программу для определения, сколько из них больше своих «соседей», то есть предыдущего и последующего чисел.
6. В фигурном катании общую оценку качества выполнения элемента вычисляют по следующим правилам: отбрасывают высшую и низшую оценки, а из оставшихся вычисляют среднее арифметическое. Составьте программу для определения оценки по этим правилам.
Упражнение 35
В массиве А[1..10] поменять местами элементы, стоящие на четных и нечетных местах:


1) Создайте новый проект. Измените значение свойства Caption формы и добавьте на форму кнопку Выполнить перестановку
(см. рисунок).
2) Разместите на форме компонент StringGrid и настройте его свойства следующим образом:

3) В процедуре обработки события OnCreate для формы запрограммируйте вывод индексов элементов массива в зафиксированную строку заголовков столбцов.
4) В процедуре обработки события onclick для кнопки Выполнить перестановку запрограммируйте: а) заполнение массива значениями ячеек таблицы StringGrid1; б) попарную перестановку элементов; в) вывод значений элементов массива в таблицу StringGrid1.

5) Добавьте на форму кнопку Обнулить элементы с четными индексами. В процедуре обработки события onclick для этой кнопки запрограммируйте реализацию следующих действий: а) заполнение массива значениями ячеек таблицы StringGrid1; б) замену нулями элементов с четными индексами; в) вывод значений элементов массива в таблицу StringGrid1.
6) Проверьте работу программы. Сохраните проект в папке Упражнение 35. Завершите работу за компьютером.
Компьютерное тестирование
Выполните тестовое задание 35 с автоматической проверкой на сайте interactive.ranok.com.ua.
Это материал из учебника Информатика 9 класс Бондаренко