![](/user_photo/_userpic.png)
- •Введение
- •1 Основания для разработки
- •2 Назначение разработки
- •3 Требования к программе
- •3.1 Требования к функциональным характеристикам
- •3.2 Требования к надежности
- •3.2.1 Требования к обеспечению надежного функционирования программы
- •3.2.2 Время восстановления после отказа
- •7 Разработка блок-схемы
- •8 Код программы
- •9 Тестирование программного продукта
- •Список использованных источников
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);
}
}
}