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

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

Задача
  1. а) Дана строка-предложение. Зашифровать её, поместив вначале все символы, расположенные на чётных местах, а затем, в обратном порядке, все символы, расположенные на нечётных местах. (Например, строка «Программа» превратится в «ргамамргоП».)
    б) Запрограммировать решение обратной задачи (расшифровки).
Подробный ответ

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

Пусть строка имеет длину $$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
Другие учебники
Другие предметы