Зашивровать текст,записанный с помощью русских букв и знаков препинания, след. образом:...

0 голосов
29 просмотров

Зашивровать текст,записанный с помощью русских букв и знаков препинания, след. образом: заменить каждую букву непосредственно следующей за ней по алфавиту (буква "я" заменяется на "а").
Необходимо а)зашифровать текст
б)расшифровать текст


Информатика (12 баллов) | 29 просмотров
0

аа какой текст

Дан 1 ответ
0 голосов

Смотри рисунок в низу

Похожее для abcPL

1 шаг)Принцип работы программы простой: сначала берутся поочередно все символы из шифруемой строки, потом они конвертируются в числа, например a – 1, b – 2, z – 26 и тд. Потом эти числа переводятся в формат RGB, для конвертации в формат RGB нужно три числа, значит в одном квадрате можно зашифровать три символа. А затем уже рисуется квадрат с заданным цветом.

2 шаг)Первое, что нужно сделать – это функцию конвертирования символа в цвет. Я ее назвал "Code”.function Code(str : string): integer;
var i : integer;
begin
For i:=1 to 26 do
begin
if Chr(96+i)=str then Result:=i;
end;
For i:=1 to 26 do begin if Chr(64+i)=str then Result:=i+26; end; For i:=1 to 32 do begin if Chr(223+i)=str then Result:=i+52; end; For i:=1 to 32 do begin if Chr(191+i)=str then Result:=i+84; end; end;Если написать команду write(Code(‘a’)); то на экран будет выведен код символа "а”. На экране появится единица.

3 шаг)А потом нужно сделать функцию разбивки шифруемой строки и рисования цветных квадратов.

For j:=1 to Trunc(Length(in_str)/3) do
begin
x:=j*3-2;
tmpR:=round(Code(Copy(in_str,x,1))li_lv);
tmpG:=round(Code(Copy(in_str,x+1,1))
li_lv);
tmpB:=round(Code(Copy(in_str,x+2,1))*li_lv);
If debug=1 then begin WriteLn(chr(39),Copy(in_str,x,1),chr(39),’ – ’,tmpR); WriteLn(chr(39),Copy(in_str,x+1,1),chr(39),’ – ’,tmpG); WriteLn(chr(39),Copy(in_str,x+2,1),chr(39),’ – ’,tmpB); WriteLn; end; SetBrushColor(RGB); Rectangle(wc*a,hc*a,(wc+1)a,(hc+1)a); inc(wc); if wc=maxw then begin wc:=0; hc:=hc+1; end; end;


image
(213 баллов)