Files
term-paper-tes/coder.lua

40 lines
860 B
Lua

input_code = {1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0}
-- Logical sum
function m2s(a, b)
if a+b == 2 then
return 0
else
return a+b
end
end
function coder(input_code)
register = {0, 0, 0}
result = {}
states = {}
for i, code_digit in ipairs(input_code) do
register[#register+1] = code_digit
state = register[#register-1]..register[#register-2]
states[#states + 1] = state
result1 = m2s(m2s(register[#register], register[#register-1]), register[#register-2])
result2 = m2s(register[#register], register[#register-2])
result[#result+1] = result1..result2
end
return result, states
end
function decoder(input_code)
end
result, states = coder(input_code)
for _, v in ipairs(states) do print(v..' ') end
print('Код на выходе кодера:')
for _, v in ipairs(result) do io.write(v..' ') end