Хелпикс

Главная

Контакты

Случайная статья





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



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

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

 

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

Ход работы:

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

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

3.При переключении трёх кнопок-переключателей radioButton будет меняться способ ввода массива. Создайте процедуру обработки события щелчка по кнопке. При выборе пользователем кнопки «Вручную» таблица на форме должна заполняться нулями. При выборе пользователем кнопки «Случайно» таблица на форме должна заполняться случайными числами в интервале [-100; 100]. Внесите необходимые команды в тело методов. При выборе кнопки «Из файла» должно вызываться диалоговое окно openDialog и данные из текстового файла загружаться в таблицу на форме. Размеры таблицы в этом случае определяются по количеству данных в файле. Формат файла: числа идут через пробел, каждая строка массива с новой строки.

4.Внесём изменения в проект таким образом, чтобы пользователь мог менять размерность массива. Для этого добавьте на форму два поля ввода с кнопками-переключателями numdericUpDown. При изменении значения поля numbericUpDown1 будет устанавливаться количество строк массива, соответствующее количество строк таблицы и её высота. При изменении значения поля numbericUpDown2 будет устанавливаться количество столбцов массива, соответствующее количество колонок таблицы и её ширина.

Примерный внешний вид формы:

5.Занесите в отчёт в специальную таблицу, у каких компонентов вы изменяли свойства, и какое значение получило теперь каждое свойство.

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

7.Разработайте алгоритм функции и скопируйте его в отчёт. Передача результатов работы функции должна происходить только через параметры или return, без обращения к компонентам формы.

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

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

10. Для проверки нажатых клавиш при ручном вводе в таблицу понадобиться 2 метода: метод редактирования каждой ячейки и вызываемое в нём событие нажатия и отпускания клавиши клавиатуры.Добавьте методы проверки правильности ввода данных для таблицы dataGridView1.

Примерный код:

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)

   {       

   TextBox tb = (TextBox)e.Control;

   tb.KeyPress += new KeyPressEventHandler(dataGridView1Cells_KeyPress);

   }

 

  private void dataGridView1Cells_KeyPress(object sender, KeyPressEventArgs e)

   {

       TextBox textCell = (TextBox)sender;

       if (e.KeyChar >= '0' && e.KeyChar <= '9')

           return;

       if ((Keys)e.KeyChar == Keys.Back)

           return;

       if (e.KeyChar == '-' && textCell.Text == "")

           return;

       e.KeyChar = '\0';

   }

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

12.Добавьте комментарии в код программы. Комментируйте ход решения задачи. Перенесите в отчёт текст модуля с комментариями.


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

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

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

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

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

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

ü алгоритм основной функции;

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

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

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

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

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

1. В каком случае необходима обработка двумерного массива по столбцам? Как в программе изменить способ просмотра массива?

2. Какие переменные в программе лучше объявить как локальные и почему?

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

4. Какие команды в коде программы позволяет избежать ошибок конвертирования, если пользователь при вводе оставит одну или несколько ячеек таблицы пустыми?

5. Как организовать проверку нажатых клавиш при ручном вводе в ячейки таблицы?

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.