Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 16.01.2016, 19:52   #1 (permalink)
Programmer8
Новичок
 
Регистрация: 16.01.2016
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Разработать программу шифрования текстовых файлов

Программа должна выполнить следующие действия: организовать построчное чтение данных из файла, увеличить на 1 код каждого символа строки, записать строку в выходной файл, аналогичным образом выполнить расшифровку зашифрованного файла. Каждое действие оформляется как подпрограмма. Главная программа реализует только диалоговый цикл взаимодействия с пользователем.

Не поможете с данным заданием? Заранее благодарен.
Programmer8 вне форума   Ответить с цитированием

Старый 16.01.2016, 19:52
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Информативные темы по вашему запросу

Через какую программу можно заполнить сразу несколько текстовых областей сайтов?
Программирование в Паскале, для функции разработать и протестировать программу
Ищу программу для защиты файлов на флешке от случайного удаления и записи файлов

Старый 16.01.2016, 19:55   #2 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Язык программирования какой?
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 16.01.2016, 19:57   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Programmer8 Посмотреть сообщение
Не поможете с данным заданием? Заранее благодарен.
Нет.
Потому как Вы, проявив стойкость и мужество, не выдали нам Тайну Языка Программирования, на котором должна быть написана программа.
Преклоняемся.
Vladimir_S вне форума   Ответить с цитированием
Старый 16.01.2016, 20:03   #4 (permalink)
Programmer8
Новичок
 
Регистрация: 16.01.2016
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Язык программирования Pascal
Programmer8 вне форума   Ответить с цитированием
Старый 16.01.2016, 20:19   #5 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Алгоритм для функции шифрования следующий:
1) Заводите необходимое количество переменных для работы с файлами, символами и числами.
2) Связываете файловые переменные с соответствующими текстовыми файлами.
3) В цикле организуете считывание из исходного файла символов до тех пор, пока не конец файла.
3.1) Преобразуете символ в код символа, увеличиваете его на 1 и преобразуете обратно.
3.2) Записываете полученный символ в результирующий файл.
4) конец.

Алгоритм для функции дешифровки следующий:
1) Заводите необходимое количество переменных для работы с файлами, символами и числами.
2) Связываете файловые переменные с соответствующими текстовыми файлами.
3) В цикле организуете считывание из исходного файла символов до тех пор, пока не конец файла.
3.1) Преобразуете символ в код символа, уменьшаете его на 1 и преобразуете обратно.
3.2) Записываете полученный символ в результирующий файл.
4) конец.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 16.01.2016, 20:28   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Да ладно, делов-то на пять минут:
Код:
Var
 f1,f2:Text;
 N1,N2:String;
 ED:byte;

Function Encode_String(S:String):String;
var
 i,L:byte;
 S1:String;
begin
 S1:='';
 L:=Length(S);
 for i:=1 to L do S1:=S1+Chr(Ord(S[i])+1);
 Encode_String:=S1;
end;

Function Decode_String(S:String):String;
var
 i,L:byte;
 S1:String;
begin
 S1:='';
 L:=Length(S);
 for i:=1 to L do S1:=S1+Chr(Ord(S[i])-1);
 Decode_String:=S1;
end;

Procedure Encode_File(Nm1,Nm2:String);
var S:String;
begin
 Assign(f1,Nm1);
 Reset(f1);
 Assign(f2,Nm2);
 Rewrite(f2);
 Repeat
  Readln(f1,S);
  Writeln(f2,Encode_String(S));
 Until EoF(f1);
 Close(f1);
 Close(f2);
end;

Procedure Decode_File(Nm1,Nm2:String);
var S:String;
begin
 Assign(f1,Nm1);
 Reset(f1);
 Assign(f2,Nm2);
 Rewrite(f2);
 Repeat
  Readln(f1,S);
  Writeln(f2,Decode_String(S));
 Until EoF(f1);
 Close(f1);
 Close(f2);
end;

Begin
 Repeat
  Writeln('Choose the action: 1 - encode');
  Writeln('                   2 - decode');
  Writeln('                   0 - quit');
  Readln(ED);
  Case ED of
   1: begin
       write('Initial file name (full path): ');
       readln(N1);
       write('Encoded file name (full path): ');
       readln(N2);
       Encode_File(N1,N2);
      end;
   2: begin
       write('Encoded file name (full path): ');
       readln(N1);
       write('Decoded file name (full path): ');
       readln(N2);
       Decode_File(N1,N2);
      end;
  end;
  Writeln;
 Until ED=0;
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 16.01.2016, 20:30   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Лёш, тут есть одна хитрость: нужно обходить преобразования кодов перевода строки. Поэтому лучше как у меня, построчно.
Vladimir_S вне форума   Ответить с цитированием
Старый 16.01.2016, 20:39   #8 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Ну да, EOL надо пропускать
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 16.01.2016, 20:56   #9 (permalink)
Programmer8
Новичок
 
Регистрация: 16.01.2016
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Огромное спасибо вам Особенно Vladimir_S, проверил работает в точности как надо
Programmer8 вне форума   Ответить с цитированием
Старый 16.01.2016, 21:19   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Только вот что... сейчас подумал. Надо бы "обойти" 255-й символ ("я" в Windows-кодировке). Если такой попадется - катастрофа! Важно?
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 13:15.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.