- •Лабораторная работа №1
- •1 Основания для разработки
- •2 Назначение разработки
- •3 Требования к программе
- •3.1 Требования к функциональным характеристикам
- •3.2 Требования к надежности
- •3.2.1 Требования к обеспечению надежного функционирования программы
- •3.2.2 Время восстановления после отказа
- •7 Код программы
- •8 Тестирование программного продукта
- •Лабораторная работа №2
- •1 Основания для разработки
- •2 Назначение разработки
- •3 Требования к программе
- •3.1 Требования к функциональным характеристикам
- •Реализация сплэш-формы.
- •Использование метода корректировки данных.
- •3.2 Требования к надежности
- •3.2.1 Требования к обеспечению надежного функционирования программы
- •3.2.2 Время восстановления после отказа
- •7 Разработка блок-схемы
- •8 Код программы
- •9 Тестирование программного продукта
- •Лабораторная работа №3
- •1 Основания для разработки
- •2 Назначение разработки
- •3 Требования к программе
- •3.1 Требования к функциональным характеристикам
- •3.2 Требования к надежности
- •3.2.1 Требования к обеспечению надежного функционирования программы
- •3.2.2 Время восстановления после отказа
- •7 Разработка блох-схемы
- •8 Код программы
- •9 Тестирование программного продукта
- •Лабораторная работа №4
- •1 Основания для разработки
- •2 Назначение разработки
- •3 Требования к программе
- •3.1 Требования к функциональным характеристикам
- •3.2 Требования к надежности
- •3.2.1 Требования к обеспечению надежного функционирования программы
- •3.2.2 Время восстановления после отказа
- •7 Код программы
- •8 Тестирование программного продукта
- •Лабораторная работа №5
- •3.2 Требования к надежности
- •3.2.1 Требования к обеспечению надежного функционирования программы
- •3.2.2 Время восстановления после отказа
- •7 Структурная схема
- •8 Код программы
- •9 Тестирование программного продукта
- •Лабораторная работа №6
- •1 Основания для разработки
- •2 Назначение разработки
- •3 Требования к программе
- •3.1 Требования к функциональным характеристикам
- •3.2 Требования к надежности
- •3.2.1 Требования к обеспечению надежного функционирования программы
- •3.2.2 Время восстановления после отказа
- •7 Разработка блок-схемы
- •8 Код программы
- •9 Тестирование программного продукта
- •Лабораторная работа №7
- •1 Основания для разработки
- •2 Назначение разработки
- •3 Требования к программе
- •3.1 Требования к функциональным характеристикам
- •3.2 Требования к надежности
- •3.2.1 Требования к обеспечению надежного функционирования программы
- •3.2.2 Время восстановления после отказа
- •7 Разработка блок-схемы
- •8 Код программы
- •9 Тестирование программного продукта
- •Лабораторная работа №8
- •1 Основания для разработки
- •2 Назначение разработки
- •3 Требования к программе
- •3.1 Требования к функциональным характеристикам
- •3.2 Требования к надежности
- •3.2.1 Требования к обеспечению надежного функционирования программы
- •3.2.2 Время восстановления после отказа
- •7 Разработка блок-схемы
- •8 Код программы
- •9 Тестирование программного продукта
- •Лабораторная работа №9
- •1 Основания для разработки
- •2 Назначение разработки
- •3 Требования к программе
- •3.1 Требования к функциональным характеристикам
- •3.2 Требования к надежности
- •3.2.1 Требования к обеспечению надежного функционирования программы
- •3.2.2 Время восстановления после отказа
- •7 Разработка блок-схемы
- •8 Код программы
- •9 Тестирование программного продукта
- •Лабораторная работа №10
- •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()
Разработаем блок-схему событийного метода button1_Click и представим на рисунке 5.
Рисунок 5 – Блок-схема событийной функции button1_Click
Разработаем блок-схему событийного метода button7_Click и представим на рисунке 6.
Рисунок 6 – Блок-схема событийной функции button7_Click
Разработаем блок-схему событийного метода button2_Click и представим на рисунке 7.
Рисунок 7 – Блок-схема событийной функции button2_Click
Разработаем блок-схему событийного метода button3_Click и представим на рисунке 8.
Рисунок 8 – Блок-схема событийной функции button3_Click
Разработаем блок-схему событийного метода button5_Click и представим на рисунке 9.
Рисунок 9 – Блок-схема событийной функции button5_Click
8 Код программы
Form1.cs
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 _3semectr
{
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)
{
Form5 f = new Form5();
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)
{
Form23 f = new Form23();
this.Hide();
f.ShowDialog();
}
private void button5_Click(object sender, EventArgs e)
{
Form26 f = new Form26();
this.Hide();
f.ShowDialog();
}
}
}
Form26.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 massivs;
using Microsoft.VisualBasic;
using iTextSharp;
namespace _3semectr
{
public partial class Form26 : Form
{
public Form26()
{
InitializeComponent();
}
public static int n { get; set; }
public static int[] mas { get; set; }
public static int[] rezmas { get; set; }
private void button1_Click(object sender, EventArgs e)
{
String g = Interaction.InputBox("Введите количество элементов массива = ", "", "", -1, -1);
n = Convert.ToInt32(g);
mas = new int[n];
LB4.Gen(n, mas);
LB4.Vivod(n, dataGridView1, mas);
int k = 0;
rezmas = new int[n];
LB4.Kall(n, ref k, textBox2, mas);
LB4.NewMass(n, k, mas, rezmas);
LB4.Vivod(n, dataGridView2, rezmas);
}
private void Form26_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
LB4.Add_pdf(n, mas, rezmas);
}
private void button3_Click(object sender, EventArgs e)
{
LB4.ZapisBloknot(n, mas, rezmas);
}
private void button5_Click(object sender, EventArgs e)
{
LB4.ZapisWord(n, mas, rezmas);
}
private void button7_Click(object sender, EventArgs e)
{
int m = n;
int[] masPrt = mas;
int[] rezzz = rezmas;
int j = m;
LB4.add();
LB4.add_struct();
LB4.add_zap(ref masPrt, ref rezzz, n, j);
}
private void button4_Click(object sender, EventArgs e)
{
Form1 f = new Form1();
this.Hide();
f.ShowDialog();
}
}
}
massivs.dll
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using PdfSharp.Pdf;
using PdfSharp;
using RazorPDF;
using iTextSharp;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.Data.OleDb;
using Microsoft.Office.Interop.Word;
using Font = iTextSharp.text.Font;
using Microsoft.Office.Interop.Excel;
namespace massivs
{
public class LB4
{
public static void Gen(int n, params int[] mas)
{
Random a = new Random();
for (int i = 0; i < n; i++)
mas[i] = (int)(a.Next(0, 1000));
}
public static void Kall(int n, ref int k, System.Windows.Forms.TextBox t, int[] mas)
{
for (int i = 0; i < n; i++)
if (mas[i] % 16 == mas[i] % 8)
k++;
t.Text = Convert.ToString(k);
}
public static void Vivod(int n, 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[] mas, params int[] rezmas)
{
for (int i=0; i<n; i++)
{
int m = i;
if (m % 2 != 0)
rezmas[i] = k;
else
rezmas[i] = mas[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, int j)
{
for (int i = 0; i < len; i++)
{
var p = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\ТП\\mas.mbd");
p.Open();
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);
}
public static void Add_pdf(int lenght, int[] mas, int[] rezmas)
{
var Document = new iTextSharp.text.Document();
var Zap = PdfWriter.GetInstance(Document, new System.IO.FileStream("Massivss.pdf", System.IO.FileMode.Create));
Document.Open();
var Shrift = BaseFont.CreateFont(@"C:\Windows\Fonts\Arial.ttf", "CP1251",BaseFont.EMBEDDED);
var ft = new Font(Shrift, 10, Font.NORMAL, BaseColor.BLACK);
var tabl = new PdfPTable(2);
var cell = new PdfPCell();
cell.HorizontalAlignment = Element.ALIGN_CENTER;
cell.Colspan = 2;
cell.Border = 0;
cell.FixedHeight = 16.0F;
cell.Phrase = new Phrase("Одномерные массивы", ft);
tabl.AddCell(cell);
cell.BackgroundColor = BaseColor.MAGENTA;
cell.Colspan = 1;
cell.Border = 15;
for (int i=0; i<lenght;i++)
{
cell.Phrase = new Phrase(mas[i].ToString(), ft);
tabl.AddCell(cell);
cell.Phrase = new Phrase(rezmas[i].ToString(), ft);
tabl.AddCell(cell);
}
tabl.TotalWidth = Document.PageSize.Width - 400;
tabl.WriteSelectedRows(0, -1, 40, Document.PageSize.Height - 30, Zap.DirectContent);
Document.Close();
Zap.Close();
System.Diagnostics.Process.Start("IExplore.exe", System.IO.Directory.GetCurrentDirectory() + @"Massivss.pdf");
}
public static void ZapisBloknot(int length, int[] mas, int[] rezmas)
{
StreamWriter rez = File.CreateText("Одномерные массивы");
rez.WriteLine("Исходный массив");
for (int i = 0; i < length; i++)
rez.WriteLine(mas[i]);
rez.WriteLine("Результирующий массив");
for (int s = 0; s < length; s++)
rez.WriteLine(rezmas[s]);
rez.Close();
}
public static void ZapisWord(int length, int[] mas, int[] rezmas)
{
Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();
application.Visible = true;
var type = Type.Missing;
var doc = application.Documents.Add(type, type, type, type);
String str;
application.Selection.TypeText("Одномерные массивы");
object tableBehavior = Microsoft.Office.Interop.Word.WdDefaultTableBehavior.wdWord9TableBehavior;
object autoFitBehavior = Microsoft.Office.Interop.Word.WdAutoFitBehavior.wdAutoFitContent;
Microsoft.Office.Interop.Word.Table table = application.ActiveDocument.Tables.Add(application.Selection.Range, 3, length, tableBehavior, autoFitBehavior);
for (int i = 0; i < length; i++)
{
table.Cell(1, i + 1).Range.InsertAfter("[" + (i + 1) + "]");
str = String.Format("{0:f0}", mas[i]);
table.Cell(2, i + 1).Range.InsertAfter(str);
str = String.Format("{0:f0}", rezmas[i]);
table.Cell(3, i + 1).Range.InsertAfter(str);
}
}
}
}
