Разработка программно-вычислительного комплекса, предназначенного для разработки эффективных форматов микрокоманд для различных способов микропрограммирования

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

8">List subGrafs = Graf.FindAllCliques(tableNeSovm);// нашли строки составляющие подграфы[,] subArray = toArray(subGrafs, tableSovm.GetLength(0));//преобразовали в массив для поиска мин покрытия)[] minCover = FindMinCover(subArray);// нашли строки составляющие мин покрытие

>subGrafs2=CheckForOverlay(subArray,minCover,subGrafs);//();(int i = 0; i < subGrafs2.Count; i++)

{

//посчитать длину генерации и создать массив.

int peremen = subGrafs2[i].Count+1;= (int)Math.Ceiling(Math.Log(peremen, 2));gen = new PermutationsWithRepetition(new int[] { 1, 0 }, peremen);[,] variations = gen.getVariations();[] stroki = new String[subGrafs2[i].Count+1];(int gg = 0; gg < subGrafs2[i].Count; gg++)

{stroka = null;(int ggg = 0; ggg < variations.GetLength(1); ggg++)

{= stroka + variations[gg, ggg];

}[gg] = stroka;

}stroka2 = null;(int dl = 0; dl < peremen; dl++) { stroka2 = stroka2 + "0"; }[subGrafs2[i].Count] = stroka2;.Add(stroki);

}static int[,] FindSovmestOper()

{[,] massiv = new int[MasMO.Count, MasMO.Count];(int i = 0; i < MasMO.Count-1; i++)

{(int j = 0; j < MasMO[i].Count; j++)

{(int ii = i + 1; ii < MasMO.Count; ii++)

{(int jj = 0; jj < MasMO[ii].Count; jj++)

{(MasMO[i][j].Equals(MasMO[ii][jj])) { massiv[i, ii] = massiv[ii, i] = 1; } } } } }(int i = 0; i < MasMO.Count; i++)

{(int j = 0; j < MasMO.Count; j++)

{(massiv[i, j] == 1) { massiv[i, j] = 0; }{ massiv[i, j] = 1; } } }massiv; } } }Graf

{static int[,] gmatrix;static List();

//сюда помещаются вершины, образующие клику

List();

//список вершин графа();

//список "отработанных" вершин();

//вершина

int v;();

//список несмежных с вершиной вершин();

//заполняем список вершинами графа(int i = 0; i < gmatrix.GetLength(0); i++).Add(i);(K.Count != 0 || M.Count != 0)

{(K.Count != 0)

{= K[0];.Push(M.GetRange(0, M.Count));.Push(K.GetRange(0, K.Count));.Push(P.GetRange(0, P.Count));.Push(v);.Add(v);= G(v);(K, GS);(K, v);(P, GS);

}

{(P.Count == 0) //клика найдена.Add(M.GetRange(0, M.Count));= stackM.Pop();= stackK.Pop();= stackP.Pop();= stackV.Pop();(K, v);.Add(v);

}

}output;

}

/* вычитает вершину из множества */

public static void SubtractSet(List set, int vert)

{(int i = 0; i < set.Count; i++)

{(set[i] == vert).RemoveAt(i);

}

}

/* вычитает второе множество из первого */

public static void SubtractSet(List set2)

{(int i = 0; i < set1.Count; i++)(int j = 0; j < set2.Count; j++)(set1.Count != 0 && i < set1.Count)(set1[i] == set2[j])

set1.RemoveAt(i);

}

/* возвращает список вершин, не смежных с vert */

public static List G(int vert)

ret=newList();(int i = 0; i < gmatrix.GetLength(0); i++)(gmatrix[i, vert] == 0).Add(i);ret;

}

}

}PermutationsWithRepetition {int variationLength;int[] source;

//private int[] p;

//private int p_2;PermutationsWithRepetition(int[] source, int variationLength)

{.source = source;.variationLength = variationLength;

}int[,] getVariations() {srcLength = source.Length;permutations = (int) Math.Pow(srcLength, variationLength);[,] table = new int[permutations,variationLength];(int i = 0; i < variationLength; i++) {t2 = (int) Math.Pow(srcLength, i);(int p1 = 0; p1 < permutations;) {(int al = 0; al < srcLength; al++) {(int p2 = 0; p2 < t2; p2++) {[p1,i] = source[al];++; } } } }table; } } }Statistic

{static void DrawGraph()

{[,] a = new double [301,2];[,] b = new double[301, 2];[,] c = new double[301, 2];[,] d = new double[301, 2];//= new int [,];

// String[] text = new String[101];.Office.Interop.Excel.Application ExcelAppR = new Microsoft.Office.Interop.Excel.Application();.Office.Interop.Excel.Workbook ObjWorkBook;= ExcelAppR.Workbooks.Open("C:/Test.xls");.Office.Interop.Excel.Worksheet m_workSheet = null;_workSheet = ExcelAppR.ActiveSheet;(double i = 0; i < 300; i++)

5){ff=Convert.ToString(gg).Substring(0,4);}_workSheet.Cells[i+1,3]=ii.ToString();//_workSheet.Cells[i+1,4]=ff;=f3(i+1);=Convert.ToString(gg);(ff.Length>5){ff=Convert.ToString(gg).Substring(0,4);}_workSheet.Cells[i+1,5]=ii.ToString();//_workSheet.Cells[i+1,6]=ff;=f4(i);=Convert.ToString(gg);(ff.Length>5){ff=Convert.ToString(gg).Substring(0,4);}_workSheet.Cells[i+1,7]=ii.ToString();//_workSheet.Cells[i+1,8]=ff;.DoEvents();}.SaveAs(@"C:/Test2.xls",.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal,null,null,null,null,.Office.Interop.Excel.XlSaveAsAccessMode.xlShared,null,null,null,null,null);.Close(true,null,null);.Quit();=newMicrosoft.Office.Interop.Excel.Application();=ExcelAppR.Workbooks.Open("C:/Test2.xls");_workSheet=null;_workSheet=ExcelAppR.ActiveSheet;(inti=0;i 5) { ff = Convert.ToString(gg).Substring(0, 4); }_workSheet.Cells[i + 1, 7] = ii.ToString();//первый столбей итая строка_workSheet.Cells[i + 1, 8] = ff;.DoEvents(); }.SaveAs(@"C:/Test2.xls",.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, null, null, null, null,.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, null, null, null, null, null);.Close(true, null, null);.Quit();= new Microsoft.Office.Interop.Excel.Application();= ExcelAppR.Workbooks.Open("C:/Test2.xls");_workSheet = null;_workSheet = ExcelAppR.ActiveSheet;(int i = 0; i < 300; i++)

{.Office.Interop.Excel.Range range = m_workSheet.get_Range("A" + (i+1).ToString(), "A" + (i+1).ToString());.Office.Interop.Excel.Range range2 = m_workSheet.get_Range("B" + (i + 1).ToString(), "B" + (i + 1).ToString());[i, 0] = Convert.ToDouble(range.Text.ToString());[i, 1] = Convert.ToDouble(range2.Text.ToString());= m_workSheet.get_Range("C" + (i + 1).ToString(), "C" + (i + 1).ToString());= m_workSheet.get_Range("D" + (i + 1).ToString(), "D" + (i + 1).ToString());[i, 0] = Convert.ToDouble(range.Text.ToString());[i, 1] = Convert.ToDouble(range2.Text.ToString());= m_workSheet.get_Range("E" + (i + 1).ToString(), "E" + (i + 1).ToString());= m_workSheet.get_Range("F" + (i + 1).ToString(), "F" + (i + 1).ToString());[i, 0] = Convert.ToDouble(range.Text.ToString());[i, 1] = Convert.ToDouble(range2.Text.ToString());

= m_workSheet.get_Range("G" + (i + 1).ToString(), "G" + (i + 1).ToString());= m_workSheet.get_Range("H" + (i + 1).ToString(), "H" + (i + 1).ToString());[i, 0] = Convert.ToDouble(range.Text.ToString());[i, 1] = Convert.ToDouble(range2.Text.ToString());.DoEv