Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР6 С#3 Двумерные массивы

.pdf
Скачиваний:
0
Добавлен:
25.02.2024
Размер:
1.06 Mб
Скачать

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

Уфимский государственный авиационный технический университет

ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ C#. ОБРАБОТКА ДВУМЕРНЫХ МАССИВОВ

Лабораторный практикум по дисциплинам «Информатика» и

«Информатика и информационные технологии»

Уфа 2021

 

 

Содержание

 

ВВЕДЕНИЕ..............................................................................................................

3

1

ЦЕЛЬ И ЗАДАЧИ ЛАБОРАТОРНОЙ РАБОТЫ ...........................................

5

2

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ .................................................

6

 

2.1

Двумерные массивы ...................................................................................

6

 

2.2

Работа с двумерными массивами..............................................................

6

 

2.3

Элемент управления DataGridView ........................................................

10

3

ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ ...............................................................

18

 

3.1

Индивидуальное задание 1 ......................................................................

18

 

3.2

Индивидуальное задание 2 ......................................................................

21

 

3.3

Индивидуальное задание 3 ......................................................................

22

4

СОЗДАНИЕ ОТЧЕТА К ЛАБОРАТОРНОЙ РАБОТЕ ...............................

23

5

КРИТЕРИИ ОЦЕНКИ РЕЗУЛЬТАТОВ ЛАБОРАТОРНОЙ РАБОТЫ.....

24

6

КОНТРОЛЬНЫЕ ВОПРОСЫ ........................................................................

25

2

ВВЕДЕНИЕ

Настоящий лабораторный практикум описывает процесс реализации приложений на языке программирования C# в интегрированной среде разработки Microsoft Visual Studio 2019 под управлением операционной системы Windows 10.

Требования к выполнению лабораторных работ:

1.Перед началом лабораторной работы повторить лекционный материал по данной теме;

2.Получить у преподавателя вариант для выполнения индивидуальных заданий;

3.В порядке, описанном в практикуме, изучить разобранные задачи лабораторной работы, выполнить общие задания;

4.Выполнить индивидуальные задания, приведенные в конце лабораторной работы;

5.Сохранить результаты работы на личном носителе;

6.Ответить на контрольные вопросы и задания, приведенные в конце лабораторной работы;

7.Продемонстрировать выполненную работу преподавателю, ответить на поставленные вопросы, уметь внести изменения в созданный проект;

8.Хранить файлы с результатами работы до завершения семестра на личном носителе.

Отчетность

Отчетом по лабораторной работе является созданный в данной лабораторной работе проект и пояснительная записка (ПЗ), которая должна быть оформлена в соответствие с требованиями ГОСТ 2.105-95 «ЕСКД.

Общие требования к текстовым документам» и ГОСТ 2.104-68 «ЕСКД.

Основные надписи».

3

Алгоритмы задачи должны быть представлены блок-схемами,

выполненными согласно ГОСТ 19.701-90. ЕСКД. Схемы алгоритмов

программ, данных и систем.

Защита лабораторных работ

При защите работы студент должен уметь объяснить алгоритм решения задач, используемые операторы языка программирования и компоненты,

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

Компетенции, формируемые в результате выполнения лабораторной

работы

В результате выполнения данной лабораторной работы формируются следующие компетенции: 5 - способность использовать инструментальные средства и системы программирования для решения профессиональных задач, - способность иметь навыки работы с компьютером как средством управления информацией, - способность оформлять, представлять и докладывать результаты выполненной работы.

Перечисленные компетенции формируются через умения -

самостоятельной работы на компьютере, - использования языков и систем программирования для решения задач, - разрабатывать программные приложения на одном из объектноориентированных языков программирования; - оформления отчета о лабораторной работе в офисных приложениях, а также через владения: - навыками работы с офисными приложениями, - навыками разработки приложений для решения типовых прикладных задач на основе объектно-

ориентированного подхода, - навыками работы в интегрированной среде разработки приложений, - навыками составления и отладки программ на языке программирования высокого уровня.

4

1 ЦЕЛЬ И ЗАДАЧИ ЛАБОРАТОРНОЙ РАБОТЫ

Целью лабораторной работы является изучение принципов использования современной системы Microsoft Visual Studio 2019 для реализации типовых алгоритмов обработки двумерных массивов с использованием объектно-ориентированного языка программирования C#.

Задачей лабораторной работы является:

изучение способов обработки табличных данных в виде двумерных массивов;

изучение способов создания приложений, реализующих алгоритмы обработки двумерных массивов с использованием объектно-

ориентированного языка программирования C#.

Задания выполняются в соответствии с вариантом, выданным преподавателем. К лабораторной работе составляется пояснительная записка,

которая должна быть подготовлена в MS Word процессоре в соответствие с требованиями ГОСТ.

5

2 КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

2.1 Двумерные массивы

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

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

Местоположение элемента двумерного массива задается его индексами

(номером строки и номером столбца), которые записываются после имени массива в квадратных скобках через запятую. Например, запись A[0,1]

указывает на элемент массива A, находящийся в нулевой строке и первом столбце. Индексация по умолчанию начинается с нуля.

В качестве индексов могут быть использованы константы, переменные или выражения целого типа. Например, mas[0,1], mas[i,j],

mas[b*5+2,i+1]

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

2.2 Работа с двумерными массивами

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

тип [,] имя_массива;

Например, запись int [,] arr объявит двумерный массив с именем

аrr, состоящий из целых чисел.

Можно перечислить несколько массивов одного типа через запятую: double [,] a, b, c;

6

Перед использованием массивов их необходимо инициализировать,

можно сразу при объявлении:

1) с помощью литеральных значений

double[,] x ={{5.5,6.6},{3,4}}; //массив из 4 элементов

2) вызовом конструктора массива

int [,] d = new int [2,3]; //всем 6 элементам массива d //присваивается значение 0

Примечание 1. Для массива d выделяется память под 6 элементов, которые будут расположены в двух строках и трех столбцах, при этом всем элементам будет присвоено значение 0.

Примечание 2. Нижняя граница индексов массива в C# по умолчанию равна нулю!

Проинициализировать массив можно и позднее, воспользовавшись

возможностью отложенной инициализации:

Double [,] a;

int [,] d;

a = new double [3,2] {{5.5, 6}, {7,1.2},{4,3}};

d = new int [3,5];

В качестве размера массива может быть использована не константа, а

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

int size_m = int.Parse(textBox1.Text);

int size_n = int.Parse(textBox2.Text);

int [,] massiv = new int [size_m, size_n];

В общем же случае в программном коде могут использоваться массивы различных размерностей: одно-, двух-, трехмерные и т.д. Объявление многомерного массива в общем случае выполняется следующим образом:

тип [, … ,] имя_массива;

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

7

Общее задание 0

Создайте проект на основе шаблона Приложение Windows Forms (.NET Framework). Добавьте на форму элемент управления MenuStrip.

Реализуйте следующую иерархию пунктов меню:

Файл

О проекте Выход

Общие задания Общее задание 1

Общее задание 2

Индивидуальные задания Задание 1

Задание 2

Задание 3

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

Данное задание полностью соответствует аналогичному заданию из предыдущей лабораторной работы и разбираться отдельно не будет.

8

Общее задание 1

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

Вывод результата осуществите в поле TextBox. Выполните данное задание в рамках многооконного проекта, подготовленного в нулевом задании.

Шаг 1. Для окна, предусмотренного для первого общего задания,

разработайте дизайн формы, разместив на нем как минимум следующие контролы (элементы управления): два текстовых поля для ввода размеров массива, одно текстовое поле для вывода массива (измените свойство

Multiline на True), командные кнопки для запуска вычислений, а также закрытия окна, лейблы для комментариев.

Шаг 2. Создайте методы обработки события клика по кнопкам. Одну из кнопок запрограммируйте на закрытие текущего окна.

Шаг 3. Для второго обработчика напишите программный код,

используя вложенные циклы с параметром. Ниже представлен пример такого кода. Проанализируйте его.

Обратите внимание, что в данном коде используются мнемонические названия.

Если вы не изменяли названия элементов управления, размещенных на вашей форме, то данный код выдаст ошибки. Либо измените названия элементов управления на форме,

либо измените программный код, используя другие названия (например, textBox1

вместо size_m_textBox).

9

Шаг 4. Запустите приложение и убедитесь, что оно корректно работает

(рис. 1).

Рисунок 1 – Пример работы приложения для задания 1

Задание 1 выполнено!

2.3 Элемент управления DataGridView

Использовать текстовое поле TextBox для ввода-вывода данных из/в

таблицу бывает не всегда удобно. Для работы с табличными данными целесообразно использовать элемент управления DataGridView

, доступный в палитре Данные на Панели элементов.

Этот элемент управления позволяет организовывать данные в виде таблицы. Сами данные при этом могут быть получены из базы данных,

коллекции, внутренних переменных — массивов или других объектов программы.

При добавлении данного контрола на форму появляется поле как на рисунке 2.

10