Advertisement
Guest User

Untitled

a guest
Dec 4th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. from pyeda.inter import *
  2.  
  3. numbers = [14, 29, 26, 20, 9, 19, 7, 14]
  4. # numbers = [30, 28, 24, 16, 1, 2, 5, 11, 23, 15, 30]
  5. # max 29 -- 5 D триггеров
  6. numbers_bin = []
  7. for num in numbers:
  8. bin_n = str(bin(num))[2:]
  9. bin_n = "0"*(5-len(bin_n)) + bin_n
  10. print(bin_n)
  11. numbers_bin.append(list(bin_n))
  12.  
  13. print("Правило диагоналей выполняется?")
  14. # print(*numbers_bin)
  15. table = []
  16.  
  17. for i, num in enumerate(numbers_bin):
  18. if i == len(numbers_bin) - 1:
  19. break
  20. row = num
  21. row += numbers_bin[i+1]
  22. f_1 = -1
  23. if row[4] == row[9] == '0':
  24. f_1 = '0'
  25. elif row[4] == row[9] == '1':
  26. f_1 = '1'
  27. elif row[4] == '0' and row[9] == '1':
  28. f_1 = 'u'
  29. elif row[4] == '1' and row[9] == '0':
  30. f_1 = 'd'
  31. row.append(f_1)
  32. table.append(row)
  33. print(*table, sep="\n")
  34.  
  35. veich = [[25, 29, 13, 9, 24, 28, 12, 8],
  36. [27, 31, 15, 11, 26, 30, 14, 10],
  37. [19, 23, 7, 3, 18, 22, 6, 2],
  38. [17, 21, 5, 1, 16, 20, 4, 0]]
  39.  
  40. veich2_f = [ [ -1 for p in i ] for i in veich ]
  41. veich2_d = [ [ -1 for p in i ] for i in veich ]
  42.  
  43. # print(veich2)
  44. for i in range(4):
  45. for j in range(8):
  46. out = False
  47. try:
  48. pos = numbers.index(veich[i][j])
  49. except Exception as e:
  50. pos = -1
  51.  
  52. if pos == -1:
  53. veich2_f[i][j] = '*'
  54. veich2_d[i][j] = '*'
  55. else:
  56. state = numbers_bin[pos][10]
  57. veich2_f[i][j] = state
  58. if state == '0' or state == '1':
  59. veich2_d[i][j] = state
  60. elif state == 'u':
  61. veich2_d[i][j] = '1'
  62. elif state == 'd':
  63. veich2_d[i][j] = '0'
  64.  
  65. print()
  66. print(*veich2_f, sep='\n')
  67. print()
  68. print(*veich2_d, sep='\n')
  69.  
  70. # for s in veich2_d:
  71. # print("".join(s))
  72.  
  73. tbl = list("-"*32)
  74. for i, num in enumerate(numbers):
  75. if i == len(numbers) - 1:
  76. break
  77. state = numbers_bin[i][10]
  78. if state == 'u':
  79. state = '1'
  80. elif state == 'd':
  81. state = '0'
  82. tbl[num] = state
  83.  
  84. Dstr = "".join(tbl)
  85. D = ttvars('Q', 5)
  86. D = truthtable(D, Dstr)
  87. func = espresso_tts(D)
  88. print(func)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement