Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Pascal Сортировки https://www.cyberforum.ru/ pascal/ thread33243.html
Сортировка массива различными способами { Описание всех алгоритмов можно найти в книге: Кнут Д., Искусство программирования для ЭВМ, Т. 3.: Сортировка и поиск. М.: Мир, 1978. ...
Квадрат Полибия Pascal
Шифровальная таблица для латиницы представляет собой прямоугольник с шестью столбцами и пятью строками, которые нумеруются цифрами. В каждую клетку такого квадрата записывается одна буква. В...
Заполнить массив А(n,m) целыми случайными числами Pascal
Помогите решить,очень надо.Заполнить массив А(n,m) целыми случайными числами таким образом чтобы и в каждой строке и в каждом столбце каждый следующий элемент был не меньше предыдущего...
Pascal Дана матрица. Упорядочить элементы строк матрицы по возрастанию 1) Дана матрица. Упорядочить элементы строк матрицы по возрастанию, а сами строки по неубыванию произведения четных элементов строк. Использовать сортировку бинарными вставками, реализовав метод в... https://www.cyberforum.ru/ pascal/ thread33215.html
Pascal Необходимо разработать рекурсивный алгоритм. https://www.cyberforum.ru/ pascal/ thread33201.html
Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить : f(n)=(1+n!)/n!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием...
Pascal Запись
По ходу роботы возник такой момент .. в роботе в запись нужно добавить 7 полей с которых 4 типа string и 3 типа integer , Это все я обьявил в type .. потом хочу создать масив записей ... но здесь...
Паскаль.Процедуры.Матрицы. Pascal
написать процедуру для ввода и выода элементов двухмерных массивов как целого(integer),так и вещественного(real) Буду благодарен за любую подсказку...лаба горит,без зачета могу остаться...
Pascal Поиск и сортировка Помогите, пожалуйста с задачкой! Необходимо упорядочить массив R(I) по невозрастанию, используя следующий подход: для i=2,3,...,1 каждый элемент r(i) вставлять в нужное место среди упорядоченных... https://www.cyberforum.ru/ pascal/ thread33178.html
Pascal Динамический список, не пойму... https://www.cyberforum.ru/ pascal/ thread33176.html
Здравствуйте, есть задание: Сформировать динамический список, элементами которого являются целые числа (в условии дано - это элементы массива). Выполнить задание, не...
Pascal Работа с текстом. Написать программу которая бы считала кол-во слов в блокноте .txt За рание огромное спасибо!!! https://www.cyberforum.ru/ pascal/ thread33173.html
Администратор
79871 / 48434 / 244
Регистрация: 10.04.2006
Сообщений: 13,126
08.05.2009, 12:34  [ТС] 0

Шифрование

08.05.2009, 12:34. Просмотров 81871. Ответов 7
Метки (Все метки)

Ответ


Квадрат Полибия

В Древней Греции (II в. до н.э.) был известен шифр, называемый "квадрат Полибия". Шифровальная таблица представляла собой квадрат с пятью столбцами и пятью строками, которые нумеровались цифрами от 1 до 5. В каждую клетку такого квадрата записывалась одна буква. В результате каждой букве соответствовала пара чисел, и шифрование сводилось к замене буквы парой чисел.

Соответственно, шифрование/дешифрование текста производятся следующим образом:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const
  TPolibius: array['A' .. 'E', 'A' .. 'E'] of char = (
    ('A', 'B', 'C', 'D', 'E'),
    ('F', 'G', 'H', 'I', 'K'),
    ('L', 'M', 'N', 'O', 'P'),
    ('Q', 'R', 'S', 'T', 'U'),
    ('V', 'W', 'X', 'Y', 'Z')
  );
function PolibiusEncipher(toCode: string): string;
var
  i: integer;
  ix, jx: char;
  s: string;
begin
  s := '';
  for i := 1 to length(toCode) do begin
 
    for ix := 'A' to 'E' do
      for jx := 'A' to 'E' do
        if TPolibius[ix, jx] = toCode[ i ] then begin
          s := s + ix + jx; break;
        end;
 
  end;
  PolibiusEncipher := s
end;
 
function PolibiusDecipher(toDecode: string): string;
var
  i: integer;
  s: string;
begin
  s := '';
  i := 1;
  while i <= length(toDecode) do begin
    s := s + TPolibius[toDecode[ i ], toDecode[succ(i)]];
    inc(i, 2);
  end;
  PolibiusDecipher := s
end;
 
var
  s: string;
 
begin
  s := PolibiusEncipher('POLIBIUS');
  writeln(s);
  writeln('s = ', PolibiusDecipher(s));
end.


Вернуться к обсуждению:
Шифрование
12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2009, 12:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Шифрование текста
Придумать и описать словесно шифрование текста. Составить программу для ввода текста, как данного...

Шифрование в паскале
Входную последовательность разбейте на группы по четыре символа, далее в каждой группе символы...

шифрование, дешифрование
Помогите плиз решить вторую задачку по ТИК. Спасибо огромное!

Шифрование перестановкой с ключом
Доброго времени суток. Вопрос следующий. Дано задание зашифровать текстовый файл методом...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.