1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.8 Упр.28 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 3.8 Упр.28 ГДЗ Семакин 10 класс (Информатика)

Задача

(Например, строка «Программа» превратится в «ргамамроП».)
б) Запрограммировать решение обратной задачи (расшифровки).

Подробный ответ

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

Пусть строка имеет длину $$n$$. Тогда:

  • символы на чётных местах: $$2, 4, 6, \dots$$;
  • символы на нечётных местах: $$1, 3, 5, \dots$$, но записываются с конца к началу.

Для обратной задачи нужно восстановить исходную строку по зашифрованной. Для этого удобно разделить строку на две части: первая содержит символы с чётных мест исходной строки, вторая — символы с нечётных мест в обратном порядке. Затем нечётную часть нужно снова развернуть и вставить символы на свои места.

var a, b, c, i, n: integer;
s, p: string;
begin
  readln(s);
  for i := 1 to length(s) do
    if i mod 2 = 0 then p := p + s[i];
  for i := length(s) downto 1 do
    if i mod 2 <> 0 then p := p + s[i];
  writeln(p);
end.

Такой алгоритм даёт, например, для строки Программа результат ргамамроП.

Ответ

Шифрование: сначала выписываются символы с чётных позиций, затем в обратном порядке символы с нечётных позиций. Для расшифровки нужно выполнить обратное преобразование: восстановить исходный порядок символов по двум частям строки.



Общая оценка
4.4 / 5
Другие учебники
Другие предметы