
ФГБОУ ВО Уфимский государственный авиационный технический университет
Кафедра Информатики
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. Создать форму, программный код которой позволяет осуществить решение задач:
Определить количество элементов, имеющих четные значения,
Найти разность максимального элемента массива и элемента с индексом M,
Упорядочить массив по убыванию его элементов.
Индивидуальное задание №1
Постановка задачи
Создать форму, программный код которой позволяет осуществить решение задачи:” Подсчитать количество четных отрицательных элементов в массиве”.
Входные данные:
size–аргумент функции, целочисленное число (int).
Выходные данные:
massiv[]- массив чисел, от которого зависит результат вычисления, целочисленный массив (int).
kolvo–вычисленное значение заданной функции, целочисленное число (int).
Создание интерфейса
На Рисунок 1 представлен интерфейс формы для решения задания № 1.
Рисунок 1–Интерфейс формы для задания № 1
Разработка блок-схемы
На Рисунок 2 представлен алгоритм решения задачи в виде блок-схемы.
Рисунок 2 – Блок-схема к заданию №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
Индивидуальное задание № 2
Постановка задачи
Создать форму, программный код которой позволяет осуществить решение задачи:” Поменять местами две половины массива, сохраняя их порядок”.
Входные данные:
size–аргумент функции, целочисленное число (int).
Выходные данные:
massiv []- массив чисел, от которого зависит результат вычисления, целочисленный массив (int),
Создание интерфейса
На Рисунок 4 представлен интерфейс формы для решения задания № 2.
Рисунок 4 –Интерфейс формы для задания № 2
Разработка блок-схемы
На Рисунок 5 представлен алгоритм решения задачи в виде блок-схемы.
Рисунок 5– Блок-схема к заданию №2
Разработка программного кода
Далее представлен разработанный программный код. Реализации алгоритма решения задания №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