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

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

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

100

1

2

3

4

5

6

7

8

9

10

11

12

90

80

70

60

50

40

30

20

10

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

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

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

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

информатике

1306.501510.000ПЗ

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

Группа

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

Подпись

Дата

Оценка

ИВТ-127б

Студент

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

Консультант

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

Принял

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

Уфа 2021 г.

Содержание

Введение 3

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

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

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

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

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

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

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

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

8

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

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

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

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

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

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

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

Вывод 17

Введение

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

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

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

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

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

  1. Определить количество элементов, имеющих четные значения,

  2. Найти разность максимального элемента массива и элемента с индексом M,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Далее представлен разработанный программный код. Реализации алгоритма решения задания №1 в соответствии алгоритмом, представленном в виде блок-схемы на Рисунок 2 соответствует процедура button1_Click(), button2_Click(), а также функции RandomMassiv(int[] m) и ShowMassiv(int[] m, TextBox tb).

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 Лабораторная_работа__5

{

public partial class Form5 : Form

{

public Form5()

{

InitializeComponent();

}

int[] massiv;

int kolvo;

private void RandomMassiv(int[] m)

{

Random random = new Random();

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

{

m[i] = random.Next(-100, 100);

}

}

private void ShowMassiv(int[] m, TextBox tb)

{

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

{

tb.Text += Convert.ToString(m[i]) + "\t";

}

}

private void button1_Click(object sender, EventArgs e)

{

button2.Enabled = true;

int size;

size = Convert.ToInt32(textBox1.Text);

massiv= new int[size];

RandomMassiv(massiv);

ShowMassiv(massiv, textBox2);

}

private void button2_Click(object sender, EventArgs e)

{

for (int i = 0; i < massiv.Length; i++)

{

if (massiv[i] < 0 && massiv[i] % 2 == 0)

{

kolvo++;

}

}

textBox3.Text = Convert.ToString(kolvo);

}

private void button3_Click(object sender, EventArgs e)

{

Close();

}

private void Form5_Load(object sender, EventArgs e)

{

}

}

}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Далее представлен разработанный программный код. Реализации алгоритма решения задания №2 в соответствии алгоритмом, представленном в виде блок-схемы на Рисунок 5 соответствует процедура button1_Click(), button2_Click(), а также функции RandomMassiv(int[] m) и ShowMassiv(int[] m, TextBox tb).

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 Лабораторная_работа__5

{

public partial class Form6 : Form

{

public Form6()

{

InitializeComponent();

}

int[] massiv;

private void RandomMassiv(int[] m)

{

Random random = new Random();

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

{

m[i] = random.Next(-100, 100);

}

}

private void ShowMassiv(int[] m, TextBox tb)

{

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

{

tb.Text += Convert.ToString(m[i]) + "\t";

}

}

private void button3_Click(object sender, EventArgs e)

{

Close();

}

private void button2_Click(object sender, EventArgs e)

{

int half = massiv.Length / 2;

int cpos = half + massiv.Length % 2;

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

{

int t = massiv[i];

massiv[i] = massiv[cpos + i];

massiv[cpos + i] = t;

}

ShowMassiv(massiv, textBox3);

}

private void button1_Click(object sender, EventArgs e)

{

button2.Enabled = true;

int size;

size = Convert.ToInt32(textBox1.Text);

massiv = new int[size];

RandomMassiv(massiv);

ShowMassiv(massiv, textBox2);

}

}

}

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

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

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