Advertisement
Guest User

Untitled

a guest
Dec 13th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.85 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace theoryOfAutomata {
  8. class Conditions {
  9. public int f2, f3, y1, y2, y3, y4, y5, y6;
  10. private int check = 0;
  11. public Conditions(int f2, int f3, int y1, int y2, int y3, int y4, int y5, int y6) {
  12. this.f2 = f2;
  13. this.f3 = f3;
  14. this.y1 = y1;
  15. this.y2 = y2;
  16. this.y3 = y3;
  17. this.y4 = y4;
  18. this.y5 = y5;
  19. this.y6 = y6;
  20. }
  21.  
  22. public void FirstCondition(int f2, int f3, int y1, int y2, int y3, int y4, int y5, int y6) {
  23. if (check > 7) {
  24. Console.WriteLine("Обнаружен цикл");
  25. Console.ReadKey();
  26. } else check++;
  27.  
  28. y1 = 0; y2 = 0; y3 = 0; y4 = 0; y5 = 0; y6 = 0;
  29.  
  30. if(f3 == 1) {
  31. SecondCondition(f2, f3, y1, y2, y3, y4, y5, y6);
  32. } else {
  33. Console.WriteLine($"Мы находимся в состояние S0: {y1}{y2}{y3}{y4}{y5}{y6}");
  34. //
  35. Console.WriteLine("Обнаружен цикл");
  36. Console.ReadKey();
  37. //
  38. }
  39. }
  40.  
  41. public void SecondCondition(int f2, int f3, int y1, int y2, int y3, int y4, int y5, int y6) {
  42. if (check > 7) {
  43. Console.WriteLine("Обнаружен цикл");
  44. Console.ReadKey();
  45. } else check++;
  46.  
  47. y1 = 0; y2 = 0; y3 = 0; y4 = 0; y5 = 0; y6 = 0;
  48.  
  49. if (f2 == 1) {
  50. y1 = 1; y2 = 1; y4 = 1;
  51. Console.WriteLine($"Мы находимся в состоянии S1: {y1}{y2}{y3}{y4}{y5}{y6}");
  52. ThirdCondition(f2, f3, y1, y2, y3, y4, y5, y6);
  53. } else {
  54. y2 = 1; y5 = 1;
  55. Console.WriteLine($"Мы находимся в состоянии S5: {y1}{y2}{y3}{y4}{y5}{y6}");
  56.  
  57. y1 = 0; y2 = 0; y3 = 0; y4 = 0; y5 = 0; y6 = 0;
  58.  
  59. y2 = 1; y5 = 1;
  60. Console.WriteLine($"Мы находимся в состоянии S4: {y1}{y2}{y3}{y4}{y5}{y6}");
  61.  
  62. FourthCondition(f2, f3, y1, y2, y3, y4, y5, y6);
  63. }
  64. }
  65.  
  66. public void ThirdCondition(int f2, int f3, int y1, int y2, int y3, int y4, int y5, int y6) {
  67. if (check > 7) {
  68. Console.WriteLine("Обнаружен цикл");
  69. Console.ReadKey();
  70. } else check++;
  71.  
  72. y1 = 0; y2 = 0; y3 = 0; y4 = 0; y5 = 0; y6 = 0;
  73.  
  74. if (f3 == 1) {
  75. y2 = 1; y4 = 1;
  76. Console.WriteLine($"Мы находимся в состоянии S4: {y1}{y2}{y3}{y4}{y5}{y6}");
  77. FourthCondition(f2, f3, y1, y2, y3, y4, y5, y6);
  78. } else {
  79. y1 = 1; y3 = 1;
  80. Console.WriteLine($"Мы находимся в состоянии S2: {y1}{y2}{y3}{y4}{y5}{y6}");
  81.  
  82. y1 = 0; y2 = 0; y3 = 0; y4 = 0; y5 = 0; y6 = 0;
  83.  
  84. y5 = 1; y5 = 6;
  85. Console.WriteLine($"Мы находимся в состоянии S3: {y1}{y2}{y3}{y4}{y5}{y6}");
  86. }
  87. }
  88.  
  89. public void FourthCondition(int f2, int f3, int y1, int y2, int y3, int y4, int y5, int y6) {
  90. if (check > 7) {
  91. Console.WriteLine("Обнаружен цикл");
  92. Console.ReadKey();
  93. } else check++;
  94.  
  95. y1 = 0; y2 = 0; y3 = 0; y4 = 0; y5 = 0; y6 = 0;
  96.  
  97. if (f2 == 1) {
  98. y2 = 1; y5 = 1;
  99. Console.WriteLine($"Мы находимся в состоянии S5: {y1}{y2}{y3}{y4}{y5}{y6}");
  100.  
  101. y1 = 0; y2 = 0; y3 = 0; y4 = 0; y5 = 0; y6 = 0;
  102.  
  103. y2 = 1; y4 = 1;
  104. Console.WriteLine($"Мы находимся в состоянии S3: {y1}{y2}{y3}{y4}{y5}{y6}");
  105.  
  106. FourthCondition(f2, f3, y1, y2, y3, y4, y5, y6);
  107. } else {
  108. y5 = 1; y6 = 1;
  109. Console.WriteLine($"Мы находимся в состоянии S3: {y1}{y2}{y3}{y4}{y5}{y6}");
  110. }
  111. }
  112. }
  113.  
  114. class Program {
  115. static void Main(string[] args) {
  116. int getData, y1 = 0, y2 = 0, y3 = 0, y4 = 0, y5 = 0, y6 = 0, f22 = 0, f33 = 0;
  117. bool[] xS = new bool[4];
  118. Console.Write("Введите входные сигналы: ");
  119. getData = Convert.ToInt32(Console.ReadLine());
  120.  
  121. for (int i = 3; i >= 0; i--) {
  122. if(getData % 10 == 0)
  123. xS[i] = true;
  124. else xS[i] = false;
  125.  
  126. getData /= 10;
  127. }
  128.  
  129. bool f2 = (xS[0] && xS[1] && !xS[2] && !xS[3]) || (xS[1] && xS[2] && xS[3]) || (xS[0] && xS[1] && xS[2]);
  130. bool f3 = (xS[0] ^ xS[2]) || (xS[1] && xS[3]) || (xS[0] && xS[3]);
  131. if (f2)
  132. f22 = 1;
  133. else f22 = 0;
  134.  
  135. if (f3)
  136. f33 = 1;
  137. else f33 = 0;
  138. //cout << "\nf2: " << f2 << "\nf3: " << f3;
  139. Console.WriteLine($"f2 = {f22}; f3 = {f33}");
  140.  
  141. y1 = 0; y2 = 0; y3 = 0; y4 = 0; y5 = 0; y6 = 0;
  142. Conditions cnds = new Conditions(f22, f33, y1, y2, y3, y4, y5, y6);
  143. cnds.FirstCondition(f22, f33, y1, y2, y3, y4, y5, y6);
  144.  
  145. Console.WriteLine($"Мы находимся в состоянии S0: {y1}{y2}{y3}{y4}{y5}{y6}");
  146. y1 = 0; y2 = 0; y3 = 0; y4 = 0; y5 = 0; y6 = 0;
  147. Console.WriteLine($"Мы находимся в состоянии S0: {y1}{y2}{y3}{y4}{y5}{y6}");
  148. Console.WriteLine("Конец)");
  149. Console.ReadKey();
  150. }
  151. }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement