Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

beginners-7466960493864e199df664d8bbe8428d.pdf / beginners-7466960493864e199df664d8bbe8428d

.pdf
Скачиваний:
31
Добавлен:
30.05.2015
Размер:
6.04 Mб
Скачать

832. В некоторой библиотеке последний четверг каждого месяца - санитарный день. Дано натуральное число n, означающее номер года. Получить по порядку все числа, на которые в январе, феврале, . . . , декабре указанного года приходится санитарный день.

833. Земной год продолжается 365 1211 суток. Из этого

5000

следует, что точной была бы такая календарная система, при которой среди 5000 следующих друг за другом годов имеется 1211 високосных и соответственно 3789 невисокосных. Эта система, основанная на 5000 летних циклах, была бы неудобной в практических отношениях. Задача построения более удобных календарных систем решается с помощью подходящих дробей (см. задачу 575). Найти, используя вычислительную машину, все подходящие дроби числа 1211/5000. Какая именно из этих дробей определяет закон чередования невисокосных и високосных годов в современном календаре

(четырехлетние циклы)? Указать также подходящую дробь, определяющую закон чередования в календаре Омара Хайяма, в котором рассматривались не четырехлетние, а тридцатилетние циклы.

§ 29. Криптография

834. Чтобы зашифровать текст, записанный с помощью русских букв и знаков препинания, его можно переписать, заменив каждую букву непосредственно следующей за ней по алфавиту (буква я заменяется на а).

а) Зашифровать данный текст. б) Расшифровать данный текст.

835. Можно обобщить способ шифровки, изложенный в предыдущей задаче - сдвиг производится не на одну букву, а на n букв, где n-данное натуральное число (можно представлять себе, что буквы выписаны по кругу, как цифры на циферблате). Выполнить задания а), б) предыдущей задачи, используя это обобщение.

836. Один из простейших способов шифровки текста состоит в табличной замене каждого символа другим символом - его шифром.

Выбрать некоторую таблицу, разработать способ ее представления, затем

а) зашифровать данный текст; б) расшифровать данный текст.

837. Чтобы зашифровать текст из 121 буквы, его можно записать в квадратную матрицу порядка 11 по строкам, а затем прочитать по спирали, начиная с центра (т. е. с элемента, имеющего индексы 6, 6 ).

а) Зашифровать данный текст. б) Расшифровать данный текст.

838. Шифровка текста с помощью решетки заключается в следующем. Решетка, т.е. квадрат из клетчатой бумаги 10 × 10 клеток, некоторые клетки в котором вырезаны, совмещается с целым квадратом 10 × 10 клеток и через прорези на бумагу наносятся первые буквы текста. Затем решетка поворачивается на 90° и через прорези

записываются следующие буквы. Это повторяется еще дважды. Таким образом, на бумагу наносится 100 букв текста. Решетку можно изображать квадратной матрицей порядка 10 из нулей и единиц (нуль изображает прорезь). Доказать, что матрица [ai j ]i= 1,...,10; j = 1,...,10 может служить ключом шифра, если из элементов ai j ,a10i+ 1 j ,ai10j + 1,a10i+ 1;10j + 1

в точности один равен нулю.

Даны последовательность из 100 букв и матрица-ключ. а) Зашифровать данную последовательность.

б) Расшифровать данную последовательность.

839. Зафиксируем натуральное k и перестановку чисел 1, ..., k (ее можно задать с помощью последовательности натуральных чисел p1,..., pk , в которую входит каждое из чисел 1, . . . , k). При шифровке в исходном тексте к каждой из последовательных групп по k символов применяется зафиксированная перестановка. Пусть k = 4 и

перестановка есть 3, 2, 4, 1. Тогда группа символов

s1, s2 , s3 , s4 заменяется на s3 , s2 , s4 , s1 . Если в последней группе меньше четырех символов, то к ней добавляются пробелы. Пользуясь изложенным способом:

а) зашифровать данный текст; б) расшифровать данный текст.

840. Следующий способ предназначен для шифровки последовательностей нулей и единиц (или же, например, точек и тире).

Пусть a1,..., an -такая последовательность. То, что предлагается в качестве ее шифра,- это последовательность b1,..., bn , образованная по следующему закону:

b1 = a1 ,

bi

1,

если ai = ai-1,

=

0

в противном случае

 

 

 

(i = 2,..., n

Пользуясь изложенным способом:

а) зашифровать данную последовательность; б) расшифровать данную последовательность.

841. «Исправление ошибок». Пусть по некоторому каналу связи передается сообщение, имеющее вид последовательности нулей и единиц (или, аналогично, точек и тире). Из-за помех возможен ошибочный прием некоторых сигналов: нуль может быть воспринят как единица и наоборот. Можно передавать каждый сигнал трижды, заменяя, например, последовательность 1, 0, 1 последовательностью 1,1,1,0,0,0,1,1,1. Три последовательные цифры при расшифровке заменяются той цифрой, которая встречается среди них по крайней мере дважды. Такое утраивание сигналов существенно повышает вероятность правильного приема сообщения.

Написать программу расшифровки.

842. Способы шифровки текста, основанные на табличной замене входящих в него букв некоторыми символами (см. задачу 836)

или на сдвиге букв (см. задачи 834, 835), нехороши тем, что шифр может быть разгадан путем частотного анализа символов, водящих в зашифрованный текст - вспомним рассказ Э. По «Золотой жук». Следующий способ лишен этого недостатка. Пусть шифруемым текстом является последовательность, состоящая из букв s0 , s1,..., sm .

С помощью датчика случайных чисел можно, например, получать члены последовательности v0 , v1 , ... с распределением

1

 

2

 

3

 

4

 

и при шифровке символа

s

(0 ≤ i m) применять

 

1

 

1

 

1

 

1

 

 

 

4

4

4

4

 

 

i

 

 

 

 

 

 

 

 

 

 

сдвиг на vi

букв. Тогда две встречающиеся в зашифрованном тексте

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

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

а) Зашифровать данный текст. б) Расшифровать данный текст.

§ 30. Графика

*) При решении задач 843-846, 849 на построение графиков функций следует предварительно выбрать расположение координатных осей и масштаб на них. Выбор подходящей системы координат необходим также в задачах 847, 848, 850-854 на построение кривых, заданных уравнениями того или иного вида. В дальнейшем в зависимости характера задачи может применяться от либо специально подобранная, либо экранная система координат.

843. Построить графики *) линейной функции y = kx для k = 0.1, 0.2, 0.3, .., 1.

Рис.58

Рис.59

Соседние файлы в папке beginners-7466960493864e199df664d8bbe8428d.pdf