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

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

Кафедра Информатики

100

1

2

3

4

5

6

7

8

9

10

11

12

90

80

70

60

50

40

30

20

10

Пользовательское меню. Методы пользователя.

Обработка одномерных массивов.

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к лабораторной работе по

информатике

1306.501610.000ПЗ

(обозначение документа)

Группа

Фамилия, И., О.

Подпись

Дата

Оценка

ИВТ-127б

Студент

Мустафина К. И.

Консультант

Зигангирова Ю. В.

Принял

Зигангирова Ю. В.

Уфа 2021 г.

Содержание

Введение 3

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

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

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

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

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

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

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

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

10

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

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

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

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

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

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

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

Вывод 19

Введение

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

В лабораторной работе необходимо создать многооконный проект, каждая форма которого предназначена для решения одной задачи индивидуальных заданий по варианту № 10.

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

  1. Определить сумму элементов массива с нечетными значениями индексов его элементов

  2. Найти произведение максимальных элементов массива

  3. Упорядочить массив по возрастанию элементов сверху вниз и слева направо

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

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

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

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

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

  1. Определить сумму элементов массива с нечетными значениями индексов его элементов

  2. Найти произведение максимальных элементов массива

  3. Упорядочить массив по возрастанию элементов сверху вниз и слева направо

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

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

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

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

kolvo–вычисленное значение заданной функции, целочисленное число (int).

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

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

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

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

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

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

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

Далее представлен разработанный программный код. Реализации алгоритма решения задания №1 в соответствии алгоритмом, представленном в виде блок-схемы на Рисунок 2 соответствует процедура button1_Click(), button2_Click(), button3_Click(), button4_Click(),button5_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 Индивидуальное_задание_1 : Form

{

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

{

InitializeComponent();

}

private void label1_Click(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

Close();

}

int n, m;

int[,] massiv;

private void button3_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);

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

}

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

}

}

private void label3_Click(object sender, EventArgs e)

{

}

private void button5_Click(object sender, EventArgs e)

{

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

{

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

{ for (int g = i+1; g < m; g++)

{

if (massiv[i, j] > massiv[g, j])

{

int tmp = massiv[g, j];

massiv[g, j] = massiv[i, j];

massiv[i, j] = tmp;

}

}

}

}

textBox6.Text += Convert.ToString("Сортировка сверху вниз") + "\t\r\n";

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

{

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

{

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

}

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

}

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

{

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

{

for (int g = i + 1; g < n; g++)

{

if (massiv[j, i] > massiv[j, g])

{

int tmp = massiv[j, g];

massiv[j, g] = massiv[j, i];

massiv[j, i] = tmp;

}

}

}

}

textBox6.Text += Convert.ToString("Сортировка сверху вниз и слева направо") + "\t\r\n";

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

{

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

{

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

}

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

}

}

private void button4_Click(object sender, EventArgs e)

{ int max = 0,kolvo=1;

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

{

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

{

if (massiv[i, j] == max) kolvo++;

if ( massiv[i,j]> max)

{

max = massiv[i, j];

kolvo = 1;

}

}

}

textBox5.Text = Convert.ToString(Math.Pow(max,kolvo));

}

private void button2_Click(object sender, EventArgs e)

{

int kolvo = 0;

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

{

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

{

if ((i+1) % 2 != 0 & (j+1) % 2 != 0)

{

kolvo += massiv[i, j];

}

}

}

textBox3.Text= Convert.ToString(kolvo);

}

}

}

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

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

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