Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет ИнфЛР№6.docx
Скачиваний:
0
Добавлен:
26.06.2025
Размер:
1.03 Mб
Скачать
  1. Индивидуальное задание № 2

    1. Постановка задачи

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

Входные данные:

m, n–аргументы функции, целочисленные числа (int).

Выходные данные:

Sum1, sum2, sum3, sum4–вычисленные значения заданной функции, целочисленные числа (int).

    1. Создание интерфейса

На Рисунок 4 представлен интерфейс формы для решения задания № 2.

Рисунок 4 –Интерфейс формы для задания № 2

    1. Разработка блок-схемы

На Рисунок 5 представлен алгоритм решения задачи в виде блок-схемы.

Рисунок 5– Блок-схема к заданию №2

    1. Разработка программного кода

Далее представлен разработанный программный код. Реализации алгоритма решения задания №2 в соответствии алгоритмом, представленном в виде блок-схемы на Рисунок 5 соответствует процедура button1_Click(), button2_Click(), а также функции Grid_on(DataGridView dataGridView).

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Лабораторная_работа__6

{

public partial class Индивидуальное_задание_2 : Form

{

public Индивидуальное_задание_2()

{

InitializeComponent();

}

int m, n;

int[,] massiv;

private void Grid_on(DataGridView dataGridView)

{

m = int.Parse(textBox1.Text);

n = int.Parse(textBox2.Text);

dataGridView.RowHeadersVisible = false;

dataGridView.ColumnHeadersVisible = false;

dataGridView.RowCount = m;

dataGridView.ColumnCount = n;

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

{

dataGridView.Columns[j].Width = 40;

}

}

private void button1_Click_1(object sender, EventArgs e)

{ Grid_on(dataGridView1);

}

private void button2_Click(object sender, EventArgs e)

{

massiv = new int[m, n];

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

{

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

{

massiv[i, j] = Convert.ToInt32(dataGridView1.Rows[i].Cells[j].Value);

}

}

float sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0;

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

{

sum1 += massiv[0, i];

sum2 += massiv[m - 1, i];

}

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

{

sum3 += massiv[i, 0];

sum4 += massiv[i, n - 1];

}

textBox3.Text = Convert.ToString(sum1 / n);

textBox4.Text = Convert.ToString(sum2 / n);

textBox5.Text = Convert.ToString(sum3 / m);

textBox6.Text = Convert.ToString(sum4 / m);

}

}

}

Рисунок 6 представлен результат вычислений.

Рисунок 6 –Пример выполнения задания № 2

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

    1. Постановка задачи

Создать форму, программный код которой позволяет осуществить решение задач:” Поменять местами первый и последний столбцы”.

Входные данные:

m, n–аргументы функции, целочисленные числа (int).

Выходные данные:

massiv []- массив чисел, от которого зависит результат вычислений, целочисленный массив (int)

    1. Создание интерфейса

На Рисунок 7 представлен интерфейс формы для решения задания № 3.

Рисунок 7 –Интерфейс формы для задания № 3

    1. Разработка блок-схемы

На Рисунок 8 представлен алгоритм решения задачи в виде блок-схемы.

Рисунок 8– Блок-схема к заданию №3

    1. Разработка программного кода

Далее представлен разработанный программный код. Реализации алгоритма решения задания №3 в соответствии алгоритмом, представленном в виде блок-схемы на соответствует процедура button1_Click (), button2_Click().

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Лабораторная_работа__6

{

public partial class Индивидуальное_задание_3 : Form

{

public Индивидуальное_задание_3()

{

InitializeComponent();

}

int n, m;

int[,] massiv;

private void button2_Click(object sender, EventArgs e)

{

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

{ int tmp = massiv[i, 0];

massiv[i, 0] = massiv[i,n-1];

massiv[i, n-1] = tmp;

}

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

{

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

{

textBox4.Text += Convert.ToString(massiv[i, j]) + "\t";

}

textBox4.Text += "\r\n";

}

}

private void button1_Click(object sender, EventArgs e)

{

m = Convert.ToByte(textBox1.Text);

n = Convert.ToByte(textBox2.Text);

massiv = new int[m, n];

Random rnd = new Random();

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

{

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

{

massiv[i, j] = rnd.Next(-10, 10);

textBox3.Text += Convert.ToString(massiv[i, j]) + "\t";

}

textBox3.Text += "\r\n";

}

}

}

}

На Рисунок 9 представлен результат вычислений.

Рисунок 9– Пример выполнения задания № 3

Вывод

В данной лабораторной работе по изучению принципов использования современной системы Microsoft Visual Studio 2019 для реализации типовых алгоритмов обработки двумерных массивов с использованием объектно-ориентированного языка программирования C#. Был создан и протестирован многооконный проект, каждая форма которого была предназначена для решения одной задачи из индивидуальных заданий по варианту №10. Основные этапы разработки проекта и результаты выполнения описаны и представлены в виде скриншотов в пояснительной записке.

Соседние файлы в предмете Информатика