Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №7.docx
Скачиваний:
4
Добавлен:
04.03.2022
Размер:
1.07 Mб
Скачать

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

Разработаем блок-схему функции Gen(int n, params int[] masPrt) и представим на рисунке 1.

Рисунок 1 – Блок схемы функции Gen()

Разработаем блок-схему функции Kall(int n, ref int k, TextBox t, int[] masPrt) и представим на рисунке 2.

Рисунок 2 – Блок-схема функции Kall()

Разработаем блок-схему метода Vivod(int n, int k, DataGridView grid, params int[] rezmas) и представим на рисунке 3.

Рисунок 3 – Блок-схема функции Vivod()

Разработаем блок-схему функции, которая создает результирующий массив void NewMass(int n, int k, int[] masPrt, params int[] rezmas) и представим на рисунке 4.

Рисунок 4 – Блок-схема функции NewMass()

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

Рисунок 5 – Блок-схема событийной функции

8 Код программы

Form1.cs

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 Второй_курс

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

Form2 f = new Form2();

this.Hide();

f.ShowDialog();

}

private void button2_Click(object sender, EventArgs e)

{

Form4 f = new Form4();

this.Hide();

f.ShowDialog();

}

private void button3_Click(object sender, EventArgs e)

{

Form6 f = new Form6();

this.Hide();

f.ShowDialog();

}

private void button4_Click(object sender, EventArgs e)

{

Form11 f = new Form11();

this.Hide();

f.ShowDialog();

}

private void button5_Click(object sender, EventArgs e)

{

Form26 f = new Form26();

this.Hide();

f.ShowDialog();

}

private void button6_Click(object sender, EventArgs e)

{

Form27 f = new Form27();

this.Hide();

f.ShowDialog();

}

}

}

Form27.cs

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;

using System.Data.OleDb;

using ClassLibrary4;

using Microsoft.VisualBasic;

namespace Второй_курс

{

public partial class Form27 : Form

{

public Form27()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

String g = Interaction.InputBox("Введите количество элементов массива = ", "Введите значение", "", -1);

int n = Convert.ToInt16(g);

int[] masPrt = new int[n];

BD.Gen(n, masPrt);

BD.Vivod (n, dataGridView1, rezmas);

int k = 0;

int[] rezmas = new int[n];

BD.Kall(n, ref k, textBox1, masPrt);

BD.NewMass(n, k, masPrt, rezmas);

BD.Vivod(n, dataGridView1, rezmas);

int j = n;

try

{

BD.add();

BD.add_struct();

BD.add_zap(ref masPrt, ref rezmas, n,j);

}

catch (Exception exeption)

{

MessageBox.Show(exeption.Message);

return;

}

}

private void button2_Click(object sender, EventArgs e)

{

Form1 f = new Form1();

this.Hide();

f.ShowDialog();

}

}

}

ClassLibrary4.dll

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.OleDb;

namespace ClassLibrary4

{

public class BD

{

public static void Gen(int n, params int[] masPrt)

{

Random a = new Random();

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

masPrt[i] = (int)(a.Next(0, 1000));

}

public static void Kall(int n, ref int k, TextBox t, int[] masPrt)

{

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

if (masPrt[i] % 16 == masPrt[i] % 8)

k++;

t.Text = Convert.ToString(k);

}

public static void Vivod(int n, int k, DataGridView grid, params int[] rezmas)

{

grid.RowCount = 2;

grid.ColumnCount = n;

grid.Rows.Add("Номер элемента", "Значение");

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

{

grid.Rows[0].Cells[i].Value = i + 1;

grid.Rows[1].Cells[i].Value = rezmas[i];

}

int Width = 0;

for (int s = 0; s < grid.ColumnCount; s++)

Width += grid.Columns[s].Width;

if (Width > 1000)

grid.Width = 1000;

else

grid.Width = Width;

}

public static void NewMass(int n, int k, int[] masPrt, params int[] rezmas)

{

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

{

int m = i;

if (m % 2 != 0)

rezmas[i] = k;

else

rezmas[i] = masPrt[i];

}

}

public static void add()

{

var k = new ADOX.Catalog();

try

{

k.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source= F:\\ТП\\mas.mbd");

MessageBox.Show("БД успешно создана");

}

catch (System.Runtime.InteropServices.COMException sit)

{

MessageBox.Show(sit.Message);

}

finally

{

k = null;

}

}

public static void add_struct()

{

var p = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\ТП\\mas.mbd");

p.Open();

var c = new OleDbCommand("CREATE TABLE [MASSIVS]([Номер элемента] counter, [Исходный массив] char(200), [Результирующий массив] char (200))", p);

try

{

c.ExecuteNonQuery();

MessageBox.Show("Структура БД записана");

}

catch (Exception situation)

{

MessageBox.Show(situation.Message);

}

p.Close();

}

public static void add_zap(ref int[] mas, ref int[] rezmas, int len)

{

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

{

if (i < j)

{

var c = new OleDbCommand("INSERT INTO [MASSIVS](" + " [Исходный массив],[Результирующий массив]) VALUES('" + mas[i] + "','" + rezmas[i] + "')");

c.Connection = p;

c.ExecuteNonQuery();

}

else

{

var c = new OleDbCommand("INSERT INTO [MASSIVS](" + " [Исходный массив],[Результирующий массив]) VALUES('" + mas[i] + "','')");

c.Connection = p;

c.ExecuteNonQuery();

}

p.Close();

}

MessageBox.Show("В таблицу БД была добвлена запись", "Информация", MessageBoxButtons.OK, MessageBoxIcon.None);

}

}

}