Автор Инесса Моисеенко задал вопрос в разделе Другие языки и технологии
Здравствуйте!Нужно написать программу в Pascale и получил лучший ответ
Ответ от Миоко Таканава[гуру]
program N73313493; uses crt; const inFileName = \'text.txt\'; outFileName = \'result.txt\'; procedure Encode; var inFile, outFile: Text; c: byte; t, s: string; i, j: word; begin assign(inFile, inFileName); assign(outFile, outFileName); {$I-} reset(inFile); if IOResult = 0 then begin rewrite(outFile); if IOResult = 0 then begin writeln(\'Введите текст для шифрования: \'); readln(t); for i := 1 to length(t) do begin c := ord(t[ i ]); for j := 1 to 8 do begin if not EOF(inFile) then begin readln(inFile, s); while (length(s) > 0) and (s[length(s)] = #32) do delete(s, length(s), 1) end else s := \'\'; if c and $80 > 0 then s := s + #32; writeln(outFile, s); c := c and $7F shl 1 end end; while not EOF(inFile) do begin readln(inFile, s); while (length(s) > 0) and (s[length(s)] = #32) do delete(s, length(s), 1); writeln(outFile, s) end; close(outFile); writeln(\'Текст зашифрован\'#13#10) end else writeln(\'Не удалось создать файл \', outFileName); close(inFile) end else writeln(\'Не удалось открыть файл \', inFileName) {$I+} end; procedure Decode; var inFile: Text; c: byte; t, s: string; i: word; begin assign(inFile, outFileName); {$I-} reset(inFile); if IOResult = 0 then begin t := \'\'; c := 255; while (c <> 0) and not EOF(inFile) do begin for i := 1 to 8 do begin c := c and $7F shl 1; if not EOF(inFile) then begin readln(inFile, s); if s[length(s)] = #32 then c := c or 1 end end; t := t + chr(c) end; close(inFile); writeln(\'Расшифрованный текст: \'); writeln(t, #13#10) end else writeln(\'Не удалось открыть файл \', outFileName) {$I+} end; var op: char; begin repeat writeln(\'Выберите операцию: \'); writeln(\'1. Шифрование\'); writeln(\'2. Расшифровка\'); write(\'3. Выход\'#13#10\'> \'); op := readkey; writeln(op); case op of \'1\': Encode; \'2\': Decode; end until op = \'3\'; end. Файл с \"Евгением Онегиным\" text.txt должен лежать рядом с экзешником программы. Файл со скрытым текстом result.txt создаётся в этой же папке. P.S. Оптимальнее использовать свой алфавит, например 6-тиразрядный. И буквы одного языка, и цифры, и знаки препинания в него уместятся. Ещё лучше использовать кодировку методом Хаффмана по фиксированной частотности встречи букв в языке шифровки (чтобы не включать в результирующий файл словарь) : строк в маскирующем тексте требуется ещё меньше. P.P.S. O_o программа получилась стоимостью аж на 150 рублей. Жду перевода :))
кто знает обширную расшифровку понятия "абсентеїзм"?
Абсентеизм (от лат. absens (absentis)- отсутствующий, англ. Absenteeism) — Уклонение избирателей от
подробнее...
Что значит PS и PS miss в хоккейной статистике? Спасибо!
Хоккейная статистика — статистические данные, обычно отслеживающиеся в хоккее с шайбой. Приведены
подробнее...
Подобрать материнскую плату?
Как подобрать материнскую плату? Чипсет. Наиболее распространены чипсеты от Intel и AMD. Чипсеты
подробнее...
Возможно ли, зная соль и метод шифровки, расшифровать MD5 хэш? (Подробности внутри)
Только перебор
Есть ещё онлайн-сервисы, в которых содержится очень много уже подобранных
подробнее...
Как правильно писать исповедальные записки с грехами ?
Готовимся к исповеди: список грехов Исповедь предназначена для осмысления своего греха, желания
подробнее...
в моего компьютеру попал crypted.exe. и не удаляется. Как мне удалит ?
Как расшифровать файлы, зашифрованные вирусом Trojan.Encoder?
подробнее...