17 - На М - кодируем/декодируем тексты с помощью кода Вижинера

Аватар автора
buchlotnik-channel
Решаем задачку по кодированию/декодированию информации в таблице с использованием, так называемого, кода Вижинера (многоалфавитный код и придумал его НЕ Вижинер) пы.сы. уже после записи посетила мысль, что проверять нужно не только null, поэтому правильнее функцию f изложить так: Код целиком (вместо нижнего подчёркивания ставим знак больше): (tbl,key,cr)=_ let lst=List.Buffer({"А".."Е","Ё","Ж".."Я","а".."е","ё","ж".."я","A".."Z","a".."z","0".."9"," ",",",".",":","-"}), c=if cr=0 then 1 else -1, d=Record.FromList(List.Positions(lst),lst), e=List.Buffer(List.Transform(Text.ToList(key),(x)=_Record.Field(d,x))), n=List.Count(lst), g=(x)=_lst{Number.Mod(n+Record.Field(d,x{0})+c*(e{Number.Mod(x{1},List.Count(e))}+1),n)}, to=Table.TransformColumns(tbl,{},f) in to Кому интересно:

0/0


0/0

0/0

0/0