Основные свойства табличных компонентов




Лабораторная работа № 7

Работа с однородными структурированными типами данных.
Элементы пользовательского интерфейса по работе с массивами.

Цель работы: получить практические навыки работы с компонентами для обработки однородных структурированных данных: научится работать с компонентом dataGridView для решения задач по обработке одномерных динамических массивов.

Ход работы:

1. Прочитайте свой вариант задания (см. ниже). Запишите в отчёт, что дано и что надо найти, с указанием типов исходных данных и результатов.

2. Продумайте, какие элементы интерфейса необходимо разместить на форме, чтобы обеспечить удобную и наглядную работу пользователя. Ввод массива нужно осуществлять с клавиатуры или случайным образом в компонент dataGridView. Способ ввода будем менять с помощью зависимых кнопок выбора.

3. Выполните настройку свойств компонента dataGridView. Так как массив одномерный, установим количество строк таблицы 1, количество колонок по умолчанию 10. Столбец заголовка нам не нужен, установим свойству RowHeadersVisible значение false. Занесите в отчёт в специальную таблицу, у каких компонентов вы изменяли свойства, и какое значение получило теперь каждое свойство. Примерный вид формы при запуске:

Указания:

Основные свойства табличных компонентов

RowCount, ColumnCount – задают число строк и столбцов таблицы (нумерация строк и столбцов начинается с нуля). Путем задания новых значений этих свойств можно динамически менять размерность таблицы.

RowHeadersVisible, ColumnHeadersVisible – задают будут ли отображаться заголовки строк и столбцов.

ColumnHeadersHeights, RowHeadersWidths – задают высоту и ширину ячеек таблицы. Размеры таблицы и её ячеек задаются в пикселях и могут изменяться во время работы программы по содержимому ячеек.

ColumnHeadersHeightSizeMode – определяет поведение при изменении высоты заголовков столбцов (установите это свойство в значение EnableResizing, в этом случае высота заголовков столбцов не будет изменяться по содержимому, и мы сможем в конструкторе задать высоту строки заголовка).

AutoSizeColumnMode – определяет режим автоматической установки размера для видимых столбцов (установите значение Fill).

AllowUserToAddRows – определяет, есть ли возможность добавления строк (установите значение false).

AllowUserToDeleteRows – определяет, есть ли возможность удаления строк (установите значение false).

dataGridView1.Rows[i].Cells[j].Value – свойство используется для доступа к отдельной ячейке с указанием номера столбца и номера строки. Используя цикл для перебора номеров строк и столбцов таблицы, можно поочередно обращаться к каждой ячейке.

Чтобы пользователь мог редактировать содержимое ячеек таблицы, необходимо свойству ReadOnly присвоить значение false.

 

Пример кода обработки одномерного массива:

private void button1_Click(object sender, EventArgs e)

{

int x = 0, y = 0;

int[] a = new int[n]; // выделение памяти под динамический массив

for (int i = 0; i < n; i++)

{

dataGridView1.Columns[i].Name = i.ToString();

// строка заголовков столбцов

a[i] =Convert.ToInt32(dataGridView1.Rows[0].Cells[i].Value);

// значения из таблицы помещаем в массив

}

for (int i = 0; i < n; i++)

// цикл для подсчёта количества чётных и нечётных элементов

{

if (a[i] % 2 == 0)

x++;

else

y++;

}

if (x == 0) // вывод результатов

label2.Text = "Нет четных элементов";

else

label2.Text = "Четных: " + x;

if (y == 0)

label2.Text += " Нет нечетных элементов";

else

label2.Text += " Нечетных: " + y;

}

 

4. Добавьте на форму поле ввода с кнопкой-переключателем numericUpDown. При нажатии на кнопку-переключатель из поля ввода будет считываться размер массива, выделятся память под динамический массив, устанавливаться соответствующее количество ячеек таблицы и её ширина. Добавьте процедуру нажатия на кнопку numericUpDown и внесите необходимые команды в тело метода.

5. При переключении кнопок-переключателей radioButton в контейнере groupBox будет меняться способ ввода массива. Создайте метод обработки события щелчка по контейнеру. При выборе пользователем кнопки «Вручную» таблица на форме должна заполняться нулями. При выборе пользователем кнопки «Случайно» таблица на форме должна заполняться случайными числами в интервале
[-100; 100]. Внесите необходимые команды в тело процедуры.

6. Все расчёты в программе будут происходить при нажатии на кнопку «Вычислить». Создайте соответствующий метод обработки события. При нажатии на кнопку «Вычислить» значения из таблицы должны считываться в массив, а затем с этим массивом можно производить любые действия и вычисления по заданию. Разработайте алгоритм метода нажатия на кнопку «Вычислить» и скопируйте его в отчёт. Внесите необходимые команды в тело процедуры.

7. Запустите проект на компиляцию. При необходимости исправьте синтаксические ошибки, выявленные на этапе компиляции.

8. Запустите проект на выполнение. Протестируйте программу. Отследите, какие ошибки выполнения возникают при недопустимости исходных данных, например, если пользователь оставил одну или несколько ячеек таблицы пустыми, ввел в ячейку недопустимые символы. Подумайте, как можно предотвратить такие ошибки.Добавьте методы проверки правильности ввода данных в таблицу dataGridView.

9. Протестируйте программу при различных значениях размерности массива, в режиме ручного и случайного ввода. Скопируйте в отчёт скриншоты различных вариантов выполнения программы.

10. Скопируйте в отчёт текст программного модуля с комментариями.

Подведение итогов лабораторной работы:

Результатом выполнения лабораторной работы должен быть проект, сохранённый в отдельной папке, и отчёт. Отчёт должен содержать:

ü название лабораторной работы, цель работы;

ü текст вашего задания с указанием номера варианта;

ü скриншот формы с надписанными компонентами;

ü таблица «Значения свойств, установленные на этапе конструирования интерфейса»;

ü алгоритм основного метода (нажатия на кнопку «Вычислить»);

ü текст программного модуля с комментариями;

ü скриншоты проекта на этапе выполнения;

ü колонтитулы с вашей фамилией и номером группы.

Продемонстрируйте результаты работы преподавателю и получите оценку.

Контрольные вопросы:

1. Какие свойства таблицы dataGridView можно установить на этапе конструирования? Поясните назначение этих свойств.

2. Какое свойство таблицы dataGridView позволяет обратиться к определённой ячейке в программе?

3. Сколько методов получилось в проекте, какие события они обрабатывают?

 

 


Варианты заданий к лабораторной работе № 7

 

Вариант 1.

В массиве из n вещественных чисел отсортировать в порядке возрастания все положительные элементы. Отрицательные и нулевые элементы оставить на своих местах.

 

Вариант 2.

В массиве из n вещественных чисел отсортировать в порядке убывания все отрицательные элементы. Положительные и нулевые элементы оставить на своих местах.

Вариант 3.

Подсчитать количество нулевых компонент массива из n целых чисел. Если нулевых элементов окажется больше двух, то поменять местами нулевые элементы с первым элементом, отличным от нуля.

Вариант 4.

Подсчитать количество отрицательных и положительных элементов массива из n целых чисел. Если отрицательных элементов окажется больше, то поменять знаки всех элементов на противоположные.

Вариант 5.

Переставить в обратном порядке все положительные элементы вещественного массива из n элементов.

Вариант 6.

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

Вариант 7.

Найти номер элемента массива из n вещественных чисел, значение которого наиболее близко к среднему арифметическому элементов массива. Если таких элементов несколько, то вывести все номера в порядке их следования.

Вариант 8.

Составить программу для ввода двух одномерных массивов А и В размерностью n элементов и вычисления их скалярного произведения по формуле:

Вариант 9.

Составить программу для ввода двух одномерных массивов А и В размерностью n элементов и вычисления массива С размерностью n-1, каждый элемент которого получен как сумма перемноженных пар соседних элементов исходных массивов:


Вариант 10.

Дана последовательность вещественных чисел . Вычислить значение Y по формуле:

Вариант 11.

Дана последовательность вещественных чисел . Вычислить значения элементов массива Y по формулам:

Вариант 12.

Для заданных значений вычислить значение величины Y по формуле:

 

Вариант 13.

Для заданных значений вычислить значение величины Y по формуле:

Вариант 14.

Для заданных значений вычислить значение величины Y по формуле:

Вариант 15.

Для заданных значений вычислить значение величины Y по формуле:

Вариант 16.

Для заданных значений вычислить значение величины Y по формуле:

Вариант 17.

Составить программу для ввода двух одномерных массивов A и B размерностью 2n и вычисления величины Y по формуле:

Вариант 18.

Для заданных значений и вычислить значения по формуле:

Вариант 19.

Для заданных значений и вычислить значение Z по формуле:

, где функция F вычисляется как разность максимального и минимального значения указанного массива:

Вариант 20.

Для заданных значений и вычислить значение Z по формуле:

, где функция F вычисляется как произведение всех элементов указанного массива:

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-12-14 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: