Advertisement
Guest User

Untitled

a guest
Nov 29th, 2015
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.02 KB | None | 0 0
  1. using Microsoft.Win32;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Windows;
  9. using System.Windows.Controls;
  10. using System.Windows.Data;
  11. using System.Windows.Documents;
  12. using System.Windows.Input;
  13. using System.Windows.Media;
  14. using System.Windows.Media.Imaging;
  15. using System.Windows.Navigation;
  16. using System.Windows.Shapes;
  17.  
  18. namespace Projekt_440___POD_testy_okienko
  19. {
  20. /// <summary>
  21. /// Interaction logic for MainWindow.xaml
  22. /// </summary>
  23. public partial class MainWindow : Window
  24. {
  25. public MainWindow()
  26. {
  27. InitializeComponent();
  28. }
  29.  
  30. private void wczytaj_Click(object sender, RoutedEventArgs e)
  31. {
  32. OpenFileDialog odf_wczyt = new OpenFileDialog();
  33. odf_wczyt.Title = "Wybierz plik tekstowy do szyfrowania";
  34.  
  35. if (odf_wczyt.ShowDialog().Equals(true))
  36. {
  37. dane.Text = File.ReadAllText(odf_wczyt.FileName);
  38. }
  39. }
  40.  
  41. private void t_pojedyn_bit_Click(object sender, RoutedEventArgs e)
  42. {
  43. string kluczbin = dane.Text;
  44.  
  45. int dlcalkowita = kluczbin.Length;
  46. int n0 = 0; //wystepuje 0
  47. int n1 = 0; //wystepuje 1
  48.  
  49. foreach (char c in kluczbin.ToCharArray())
  50. {
  51. if (c == '0')
  52. {
  53. n0++;
  54. }
  55. if (c == '1')
  56. {
  57. n1++;
  58. }
  59. }
  60.  
  61. n1 = kluczbin.Length - n0;
  62. int test = n0 - n1;
  63. double wynikkon = Math.Pow(test, 2) / kluczbin.Length;
  64. if (test < 150 && test > -150)
  65. wynik.Text = "Test pojedyńczych bitów zdany\nStatystyka S = " + wynikkon;
  66. else
  67. wynik.Text = "Test pojedyńczych bitów nie zdany\nStatystyka S = " + wynikkon;
  68.  
  69. }
  70.  
  71. private void t_parybitow_Click(object sender, RoutedEventArgs e)
  72. {
  73. //test pary bitow
  74. string kluczbin = dane.Text;
  75.  
  76. int dlcalkowita = kluczbin.Length;
  77. int n00 = 0; //wystepuje 00
  78. int n01 = 0; //wystepuje 01
  79. int n10 = 0; //wystepuje 10
  80. int n11 = 0; //wystepuje 11
  81.  
  82. string dkey = "";
  83.  
  84. for (int i = 0; i < kluczbin.Length - 1; i++)
  85. {
  86. dkey = kluczbin[i].ToString() + kluczbin[i + 1].ToString();
  87.  
  88. if (dkey == "00")
  89. {
  90. n00++;
  91. }
  92. if (dkey == "01")
  93. {
  94. n01++;
  95. }
  96. if (dkey == "10")
  97. {
  98. n10++;
  99. }
  100. if (dkey == "11")
  101. {
  102. n11++;
  103. }
  104. }
  105.  
  106. int testparbitow = n00 - n01, testparbitow2 = n00 - n10, testparbitow3 = n00 - n11;
  107. if ((testparbitow < 150 && testparbitow > -150) && (testparbitow2 < 150 && testparbitow2 > -150) && (testparbitow3 < 150 && testparbitow3 > -150))
  108. wynik.Text = "Test pary bitów zdany!\nTest pary bitów 1: " + testparbitow + "\nTest pary bitów 2: " + testparbitow2 + "\nTest pary bitów 3: " + testparbitow3;
  109. else
  110. wynik.Text = "Test pary bitów nie zdany!\nTest pary bitów 1: " + testparbitow + "\nTest pary bitów 2: " + testparbitow2 + "\nTest pary bitów 3: " + testparbitow3;
  111.  
  112. }
  113.  
  114. private void t_pokerowy_Click(object sender, RoutedEventArgs e)
  115. {
  116. int[] tab = new int[16];
  117. string wczytanedane = dane.Text;
  118. string tmp = "";
  119. for (int i = 0; i < wczytanedane.Length -4; i += 4)
  120. {
  121. for (int j = 0; j < 4; j++)
  122. {
  123. tmp += dane.Text[i + j];
  124. }
  125. if (tmp == "0000")
  126. tab[0]++;
  127.  
  128. if (tmp == "0001")
  129. tab[1]++;
  130.  
  131. if (tmp == "0011")
  132. tab[2]++;
  133.  
  134. if (tmp == "0101")
  135. tab[3]++;
  136.  
  137. if (tmp == "1001")
  138. tab[4]++;
  139.  
  140. if (tmp == "0010")
  141. tab[5]++;
  142.  
  143. if (tmp == "0110")
  144. tab[6]++;
  145.  
  146. if (tmp == "1010")
  147. tab[7]++;
  148.  
  149. if (tmp == "0100")
  150. tab[8]++;
  151.  
  152. if (tmp == "1100")
  153. tab[9]++;
  154.  
  155. if (tmp == "0111")
  156. tab[10]++;
  157.  
  158. if (tmp == "1101")
  159. tab[11]++;
  160.  
  161. if (tmp == "1011")
  162. tab[12]++;
  163.  
  164. if (tmp == "1110")
  165. tab[13]++;
  166.  
  167. if (tmp == "1000")
  168. tab[14]++;
  169.  
  170. if (tmp == "1111")
  171. tab[15]++;
  172. tmp = "";
  173.  
  174. }
  175.  
  176. double s = 0;
  177. for (int i = 0; i < 16; i++)
  178. {
  179. s += Math.Pow(tab[i], 2);
  180. }
  181.  
  182. double stala = 0.0032;
  183.  
  184. double p2 = stala * s - 5000;
  185.  
  186. if (p2 >= 2.16 && p2 <= 46.17)
  187. {
  188. wynik.Text = "Test Pokerowy zdany!\n" + "Liczba p wynosi: " + p2;
  189.  
  190. }
  191. else
  192. wynik.Text = "Test Pokerowy nie zdany!\n" + "Liczba p wynosi: " + p2;
  193. }
  194.  
  195. private void t_dl_serii_Click(object sender, RoutedEventArgs e)
  196. {
  197. int s1 = 0, s2 = 0, s3 = 0, s4 = 0, s5 = 0, s6 = 0;
  198.  
  199. string danewczyt = dane.Text;
  200. for (int i = 0; i < danewczyt.Length -5; i++)
  201. {
  202. if (danewczyt[i] == danewczyt[i + 1] && danewczyt[i +1] == danewczyt[i + 2] && danewczyt[i + 2] == danewczyt[i + 3] && danewczyt[i + 3] == danewczyt[i + 4] && danewczyt[i + 4] == danewczyt[i + 5])
  203. {
  204. s6++;
  205. i += 5;
  206. }
  207.  
  208. else
  209. if (danewczyt[i] == danewczyt[i + 1] && danewczyt[i + 1] == danewczyt[i + 2] && danewczyt[i + 2] == danewczyt[i + 3] && danewczyt[i + 3] == danewczyt[i + 4])
  210. {
  211. s5++;
  212. i += 4;
  213. }
  214.  
  215. else
  216. if (danewczyt[i] == danewczyt[i + 1] && danewczyt[i + 1] == danewczyt[i + 2] && danewczyt[i + 2] == danewczyt[i + 3])
  217. {
  218. s4++;
  219. i += 3;
  220. }
  221.  
  222. else
  223.  
  224. if (danewczyt[i] == danewczyt[i + 1] && danewczyt[i + 1] == danewczyt[i + 2])
  225. {
  226. s3++;
  227. i += 2;
  228. }
  229. else
  230. if (danewczyt[i] == danewczyt[i + 1])
  231. {
  232. s2++;
  233. i += 1;
  234. }
  235. else s1++;
  236. }
  237. int flag = 0;
  238. if (s1 > 2315 && s1 < 2685)
  239. flag += 1;
  240. if (s2 > 1114 && s2 < 1386)
  241. flag += 1;
  242. if (s3 > 527 && s3 < 723)
  243. flag += 1;
  244. if (s4 > 240 && s4 < 384)
  245. flag += 1;
  246. if (s5 > 103 && s5 < 209)
  247. flag += 1;
  248. if (s6 > 103 && s6 < 209)
  249. flag += 1;
  250.  
  251. if (flag == 6)
  252. wynik.Text = "Test Serii Zdany!\nIlosc S1: " +s1 + "\n"+ "Ilosc S2: " +s2 + "\n"+ "Ilosc S3: " + s3 + "\n" + "Ilosc S4: " +s4 + "\n" +"Ilosc S5: " + s5 + "\n" + "Ilosc S6: " + s6 + "\n";
  253. else
  254. wynik.Text = "Test Serii nie Zdany!\nIlosc S1: " + s1 + "\n" + "Ilosc S2: " + s2 + "\n" + "Ilosc S3: " + s3 + "\n" + "Ilosc S4: " + s4 + "\n" + "Ilosc S5: " + s5 + "\n" + "Ilosc S6: " + s6 + "\n";
  255. }
  256. }
  257. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement