Индивидуальное задание №3
Постановка задачи
Создать форму, программный код которой позволяет осуществить решение задач:
Определить количество элементов, имеющих четные значения,
Найти разность максимального элемента массива и элемента с индексом M,
Упорядочить массив по убыванию его элементов.
Входные данные:
size, j – аргумент функции, целочисленное число (int).
Выходные данные:
massiv []- массив чисел, от которого зависит результат вычисления, целочисленный массив (int)
kolvo – вычисленные значения заданной функции зависимые от условия выбора пользователем, вещественные числа (int).
Создание интерфейса
На Рисунок 7 представлен интерфейс формы для решения задания № 3.
Рисунок 7 –Интерфейс формы для задания № 3
Разработка блок-схемы
На Рисунок 8 представлен алгоритм решения задачи в виде блок-схемы.
Рисунок 8– Блок-схема к заданию №3
Разработка программного кода
Далее представлен разработанный программный код. Реализации алгоритма решения задания №3 в соответствии алгоритмом, представленном в виде блок-схемы на соответствует процедура button1_Click (), button2_Click(), button3_Click(), button4_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 Form7 : Form
{
public Form7()
{
InitializeComponent();
}
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";
}
}
int size;
int[] massiv;
private void button1_Click(object sender, EventArgs e)
{
button2.Enabled = true;
button3.Enabled = true;
button4.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)
{ int kolvo=0;
for ( int i =0; i < massiv.Length; i++)
{
if (massiv[i] % 2 == 0)
{
kolvo++;
}
}
textBox3.Text = Convert.ToString(kolvo);
}
private void button3_Click(object sender, EventArgs e)
{
int j;
j = Convert.ToInt32(textBox4.Text);
int max = massiv.Max();
textBox5.Text = Convert.ToString(max-massiv[j-1]);
}
private void button4_Click(object sender, EventArgs e)
{
Array.Sort(massiv);
Array.Reverse(massiv);
ShowMassiv(massiv, textBox6);
}
private void button5_Click(object sender, EventArgs e)
{
Close();
}
private void Form7_Load(object sender, EventArgs e)
{
}
}
}
На Рисунок 9 представлен результат вычислений.
Рисунок 9– Пример выполнения задания № 3
Вывод
В данной лабораторной работе по изучению принципов использования современной системы Microsoft Visual Studio 2019 для реализации типовых алгоритмов обработки одномерных массивов с использованием объектно-ориентированного языка программирования C#. Был создан и протестирован многооконный проект, каждая форма которого была предназначена для решения одной задачи из индивидуальных заданий по варианту №10. Основные этапы разработки проекта и результаты выполнения описаны и представлены в виде скриншотов в пояснительной записке.
