Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/63: Рейтинг темы: голосов - 63, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 3

задача (Шифр Цезаря)

15.04.2009, 22:01. Показов 12216. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
программа автоматической расшифровки текста, большие буквы в большие маленькие в маленькие!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.04.2009, 22:01
Ответы с готовыми решениями:

Шифр Цезаря
помогите нужно сделать прогу шифратор и дешифратор методом Цецаря

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

Шифр цезаря (не работает)
задача такая сделать шифр цезаря, сдвиг 10, алфавит лат строчные буквы, язык паскаль (тр7) вот накидал но комп выдает ошибку ...

5
4 / 4 / 1
Регистрация: 15.04.2009
Сообщений: 63
15.04.2009, 22:11
Чёт я не пойму... это тебе надо такую программу написать? по подробней можн?
0
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 3
15.04.2009, 22:21  [ТС]
Некоторый русский текст, хранящийся в файле, зашифрован следующим образом: каждая буква текста циклически сдвигается на одно и тоже количество символов, а все остальные символы (знаки препинания и пробелы) остаются неизменными. При шифровке большие буквы переходят в большие, а маленькие в маленькие. Будем для простоты считать, что русский алфавит состоит из 32 букв (за буквой «е» следует буква «ж»). Требуется написать программу автоматической расшифровки текста.

Вход: файл input.txt c зашифрованным текстом.

Ограничения: длина текста не превосходит 250 символов.

Выход: Файл output.txt с расшифрованным текстом.
0
 Аватар для Викдон
67 / 67 / 24
Регистрация: 21.11.2008
Сообщений: 226
15.04.2009, 22:34
Пример входного и выходного текста можно?
0
138 / 138 / 65
Регистрация: 20.03.2009
Сообщений: 235
16.04.2009, 01:05
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
const
  len = 32;
 
  {Это символы для выбора столбца таблицы}
  alpha_hor: string = 'АаБбВвГгДдЕеЖжЗзИиКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя';
 
  {Здесь будут символы для выбора строки таблицы}
  alpha_ver: string = '';
 
var
  {Это собственно таблица кодирования}
  table: array[1 .. len, 1 .. len] of char;
 
{функция получает строку S и возвращает строку,
  полученную из исходной сдвигом на N позиций}
function shift(s: string; n: integer): string;
  begin
    s := copy(s, length(s) - pred(n), n) + s;
    delete(s, length(s) - pred(n), n); shift := s
  end;
 
var
  i, j, row, col: integer;
  s: string; ch: char;
 
  key: string;
  is_russian: boolean;
  f_in: file of char; f_out, f_key: text;
begin
  { Заполнение таблицы кодировки }
  for i := 1 to len do begin
    {получаем строку символов для текущей строки таблицы}
    s := shift(alpha_hor, pred(i));
    for j := 1 to len do
      table[i, j] := s[j];
    {
      не забываем первый символ заносить в "хранилище"
      для выбора строк по кодируемой букве
    }
    alpha_ver := alpha_ver + s[1]
  end;
 
  { связываем логические файлы программы с физическими файлами на диске }
 
  { файл с фразой для кодирования - открываем для чтения }
  assign(f_in, 'c:\input.txt');
  {$i-} reset(f_in); {$i+}
 
  { файл для сохранения результата - открываем для записи }
  assign(f_out, 'c:\output.txt');
  {$i-} rewrite(f_out); {$i+}
 
  {
    файл, содержащий ключевое слово - открываем для чтения,
    считываем слово в строковую переменную и закрываем файл
  }
  assign(f_key, 'c:\key.txt');
  {$i-} reset(f_key); {$i+}
  readln(f_key, key);
  close(f_key);
 
  { счетчик закодированных символов }
  i := 0;
  {до конца кодируемого файла делаем следующее:}
  while not eof(f_in) do begin
    { читаем очередной символ }
    read(f_in, ch);
    { находим по нему строку таблицы }
    row := pos(ch, alpha_ver);
    {
      эта переменная содержит значение успеха предыдущей операции
      (если True, то символ присутствует в таблице, иначе False)
    }
    is_russian := (row > 0);
    if is_russian then begin
      { Если символ присутствует в таблице, его надо кодировать }
 
      { увеличиваем счетчик закодированных символов }
      inc(i);
 
      {
        находим столбец по значению ключевого символа
        (операция mod используется, чтобы исключить выход
        за пределы ключа, т.к. длина ключа обычно меньше
        длины шифруемой последовательности)
      }
      col := pos(key[i mod (length(key))], alpha_hor);
      { и заменяем простой символ на зашифрованный (из таблицы) }
      ch := table[row, col];
    end;
    {
      если символ надо было шифровать, он уже зашифрован,
      если он не может быть зашифрован, он остался без изменений.
      Пишем его в выходной файл
    }
    write(f_out, ch)
  end;
 
  { И закрываем оба файла: исходный и зашифрованный }
  close(f_out);
  close(f_in)
end.
нашел в файлах...(код не мой)
1
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 3
24.10.2010, 20:00
Привет всем!!!
Шифр замены(код Цезаря)
Занумеровать алфавит исходного сообщения. Пусть m-длина алфавита сообщения; n,k-целые числа и НОД(n,m)=1; A,B-коды букв исходного сообщения и шифра соответственно. Тогда B=(A*n+k) mod m и A=(B-k)*n^(-1) mod m.
Можете помощь???
Заранее всем спасибо)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.10.2010, 20:00
Помогаю со студенческими работами здесь

шифр цезаря, Шенона фано, Хаффамана
Привет всем!!!! Помогите кто может!!!! По учебе завал ничего не успеваю. Нужны исходники на шифр цезаря, Шенона фано, Хаффамана только...

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

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

Почему ml? Шифр Юлия Цезаря
var st : string; i : byte; begin Assign (input , 'input.txt'); Assign (output , 'output.txt'); ReSet (input);...

Шифр Цезаря (нужна блок-схема)
Программа шифрует вводимую строку "Шифром Цезаря",как построить ее блок-схему? Program Shifr; const n=25; {число букв в алфавите} ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru