SCRIPT


  • Шифр
    SCRIPT


Описание

История учит: тайное становится когда-нибудь явным. Однако несмотря на этот постулат, на протяжении веков люди искали способы передачи информации друг другу в скрытой от посторонних глаз форме. Так дипломатическая почта и иная секретная информация в наши дни подлежит процедуре сокрытия в различных формах и видах. 

Самая распространенная форма - это шифрование содержимого документа с применением выбранного ключа, что позволяет затем адресату, знающему этот ключ, провести дешифровку сообщения, т.е. прочитать его. В иных ситуациях, когда сообщение попадает лицам не владеющим ключом, прибегают к помощи специалистов из отделов шифровки и дешифровки. Будем считать, что Вам удалось перехватить некоторое сообщение, текст которого скрыт от прямого доступа.

Часть ключа Вам известна от своего агента. Приведем его:

  • шифр устроен следующим образом: каждой цифре сопоставлено по три буквы (см. таблицу), а знаку "*" две буквы и пробел;

0

1

2

3

4

5

6

7

8

9

*

а

г

ж

й

м

п

т

х

ш

ы

ю

б

д

з

к

н

р

у

ц

щ

ь

я

в

е

и

л

о

с

ф

ч

ъ

э

 

  • имеется часть слов из книги, с помощью которой производится расшифровка сообщения.

Эти слова занесены в файл SCRIPT.LIB в столбик, одно под другим и их количество не более 20.

Задача
Составьте программу SCRIPT, которая поможет Вам произвести расшифровку сообщения (кроме ответа на поставленный вопрос), которое хранится в файле SCRIPT.IN в виде набора символов первой строки таблицы, расположенных в одну строку без пробелов между ними. 

Признаком конца фразы служит знак "." Допускается работа с промежуточными  файлами и экраном, которая индивидуальна для каждой дешифрующей системы и не контролируется никакими внешними средствами. Расшифрованное сообщение и найденный Вами ответ на вопрос, содержащийся в нем, занесите в файл SCRIPT.OUT



Например:

SCRIPT.LIB
ручки
бумага
карандаша
лиц
граней
сколько
карандаш
циркуль
у
в
перьев
непочиненного
чернил
денег
буйволов
линия
линий
зачем

SCRIPT.IN
5343934*61340*6*30015060.

SCRIPT.OUT
сколько углов у квадрата
4